In 2.6, the semantics of calling yield() changed from "sleep for a
bit" to "I really don't want to run for a while".  This matches POSIX
better, but there's a lot of drivers still using yield() when they mean
cond_resched(), schedule() or even schedule_timeout().

For this driver schedule_timeout_interruptible seems to be a better
alternative

Tested compile only

Signed-off-by: Amol Lad <[EMAIL PROTECTED]>
---
diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff 
linux-2.6.19-rc1-orig/drivers/net/depca.c linux-2.6.19-rc1/drivers/net/depca.c
--- linux-2.6.19-rc1-orig/drivers/net/depca.c   2006-10-05 14:00:47.000000000 
+0530
+++ linux-2.6.19-rc1/drivers/net/depca.c        2006-10-11 17:57:02.000000000 
+0530
@@ -738,7 +738,7 @@ static int __init depca_hw_init (struct 
           interrupts. For now we will always get a DMA error. */
        if (dev->irq < 2) {
                unsigned char irqnum;
-               unsigned long irq_mask, delay;
+               unsigned long irq_mask;
 
                irq_mask = probe_irq_on();
 
@@ -767,9 +767,7 @@ static int __init depca_hw_init (struct 
                /* Trigger an initialization just for the interrupt. */
                outw(INEA | INIT, DEPCA_DATA);
 
-               delay = jiffies + HZ/50;
-               while (time_before(jiffies, delay))
-                       yield();
+               schedule_timeout_interruptible(jiffies + HZ/50);
 
                irqnum = probe_irq_off(irq_mask);
 


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to