Re: [PATCH 2.6.9-rc2 17/38] net/islpci_dev: replace schedule_timeout() with msleep()
From: Luis R. Rodriguez <hidden>
Date: 2004-09-23 22:55:07
Also in:
kernel-janitors
On Thu, Sep 23, 2004 at 03:13:03PM -0700, Nishanth Aravamudan wrote:
quoted hunk
Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Also set_current_state() is inserted before schedule_timeout(). If the for-loop were to execute twice, the second time would not set the state before sleeping in the current code; this causes schedule_timeout() to return immediately. Signed-off-by: Nishanth Aravamudan <redacted>--- 2.6.9-rc2-vanilla/drivers/net/wireless/prism54/islpci_dev.c 2004-09-13 17:15:41.000000000 -0700 +++ 2.6.9-rc2/drivers/net/wireless/prism54/islpci_dev.c 2004-09-23 13:58:42.000000000 -0700@@ -436,8 +436,7 @@ prism54_bring_down(islpci_private *priv) wmb(); /* wait a while for the device to reset */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(50*HZ/1000); + msleep(50); return 0; }@@ -489,6 +488,7 @@ islpci_reset_if(islpci_private *priv) /* The software reset acknowledge needs about 220 msec here. * Be conservative and wait for up to one second. */ + set_current_state(TASK_UNINTERRUPTIBLE); remaining = schedule_timeout(HZ); if(remaining > 0) {
Looks good to me. IIRC Margit had something to say about this last time this popped around -- CC'ing her to see if there are any outstanding comments. PS. For future prism54 patches please feel free to CC prism54-devel and netdev. Luis -- GnuPG Key fingerprint = 113F B290 C6D2 0251 4D84 A34A 6ADD 4937 E20A 525E