2004-09-23 20:20:30

by maximilian attems

[permalink] [raw]
Subject: [patch 3/5] pcmcia/ds: replace schedule_timeout() with msleep()







I would appreciate any comments from the janitor@sternweltens list. This is one (of
many) cases where I made a decision about replacing

set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(some_time);

with

msleep(jiffies_to_msecs(some_time));

msleep() is not exactly the same as the previous code, but I only did
this replacement where I thought long delays were *desired*. If this is
not the case here, then just disregard this patch.

Thanks,
Nish



Description: Uses msleep() instead of schedule_timeout() to guarantee
the task delays the desired time.

Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Maximilian Attems <[email protected]>

---

linux-2.6.9-rc2-bk7-max/drivers/pcmcia/ds.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/pcmcia/ds.c~msleep-drivers_pcmcia_ds drivers/pcmcia/ds.c
--- linux-2.6.9-rc2-bk7/drivers/pcmcia/ds.c~msleep-drivers_pcmcia_ds 2004-09-21 20:51:16.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/pcmcia/ds.c 2004-09-21 20:51:16.000000000 +0200
@@ -50,6 +50,7 @@
#include <linux/poll.h>
#include <linux/pci.h>
#include <linux/list.h>
+#include <linux/delay.h>
#include <linux/workqueue.h>

#include <asm/atomic.h>
@@ -1080,8 +1081,7 @@ static int __devinit pcmcia_bus_add_sock
* Ugly. But we want to wait for the socket threads to have started up.
* We really should let the drivers themselves drive some of this..
*/
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(HZ/4);
+ msleep(250);

init_waitqueue_head(&s->queue);
init_waitqueue_head(&s->request);
_