X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fgt96100eth.c;h=b6f1e8be445b3544953fb14e05a421209b04e2f2;hb=f1227cd3e0e73c48b93368800aa89f4341103a00;hp=666cfbbcf6d9173cb47129c4d2f7b41d93898ea8;hpb=340e2b1a4c74f653454348914c408420d5d3c28a;p=linux-2.6.git diff --git a/drivers/net/gt96100eth.c b/drivers/net/gt96100eth.c index 666cfbbcf..b6f1e8be4 100644 --- a/drivers/net/gt96100eth.c +++ b/drivers/net/gt96100eth.c @@ -187,8 +187,10 @@ static void gt96100_delay(int ms) { if (in_interrupt()) return; - else - msleep_interruptible(ms); + else { + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(ms*HZ/1000); + } } static int @@ -525,7 +527,7 @@ abort(struct net_device *dev, u32 abort_bits) // wait for abort to complete while (GT96100ETH_READ(gp, GT96100_ETH_SDMA_COMM) & abort_bits) { - // snooze for 1 msec and check again + // snooze for 20 msec and check again gt96100_delay(1); if (--timedout == 0) {