Use ssleep() / msleep_interruptible() [as appropriate]
instead of schedule_timeout() to guarantee the task delays as expected.

Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]>
Signed-off-by: Maximilian Attems <[EMAIL PROTECTED]>
Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>
---


 kj-domen/drivers/net/tokenring/lanstreamer.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff -puN 
drivers/net/tokenring/lanstreamer.c~ssleep+msleep_interruptible-drivers_net_tokenring_lanstreamer
 drivers/net/tokenring/lanstreamer.c
--- 
kj/drivers/net/tokenring/lanstreamer.c~ssleep+msleep_interruptible-drivers_net_tokenring_lanstreamer
        2005-03-05 16:09:51.000000000 +0100
+++ kj-domen/drivers/net/tokenring/lanstreamer.c        2005-03-05 
16:09:51.000000000 +0100
@@ -454,8 +454,7 @@ static int streamer_reset(struct net_dev
        writew(readw(streamer_mmio + BCTL) | BCTL_SOFTRESET, streamer_mmio + 
BCTL);
        t = jiffies;
        /* Hold soft reset bit for a while */
-       current->state = TASK_UNINTERRUPTIBLE;
-       schedule_timeout(HZ);
+       ssleep(1);
        
        writew(readw(streamer_mmio + BCTL) & ~BCTL_SOFTRESET,
               streamer_mmio + BCTL);
@@ -511,8 +510,7 @@ static int streamer_reset(struct net_dev
        writew(SISR_MI, streamer_mmio + SISR_MASK_SUM);
 
        while (!((readw(streamer_mmio + SISR)) & SISR_SRB_REPLY)) {
-               current->state = TASK_INTERRUPTIBLE;
-               schedule_timeout(HZ/10);
+               msleep_interruptible(100);
                if (jiffies - t > 40 * HZ) {
                        printk(KERN_ERR
                               "IBM PCI tokenring card not responding\n");
_
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to