net/lanstreamer: replace schedule_timeout() with ssleep()/msleep_interruptible()
Subsystems (2)
PATCH 3/3 net/lanstreamer: replace schedule_timeout() with ssleep()/msleep_interruptible()
Any comments would be appreciated.
Description: 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(-)
drivers/net/tokenring/lanstreamer.c renamed from drivers/net/tokenring/lanstreamer.c~ssleep+msleep_interruptible-drivers_net_tokenring_lanstreamer +2 -4
@@ -454,8 +454,7 @@ static int streamer_reset(struct net_devwritew (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_devwritew (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" );
_