2004-09-24 01:46:16

by maximilian attems

[permalink] [raw]
Subject: [patch 6/9] block/pg: replace pg_sleep() with msleep_interruptible()




Any comments would be appreciated. This is a re-push of a patch I
submitted 20 July which hasn't been merged as of
2.6.9-rc1-mm5/2.6.9-rc2.

Description: msleep_interruptible() is used instead of pg_sleep()
to guarantee the task delays as expected. The defintion of pg_sleep()
is also modified to use set_current_state() instead of direct
assignment.

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

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

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

diff -puN drivers/block/paride/pg.c~msleep_interruptible-drivers_block_pg drivers/block/paride/pg.c
--- linux-2.6.9-rc2-bk7/drivers/block/paride/pg.c~msleep_interruptible-drivers_block_pg 2004-09-21 21:07:54.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/block/paride/pg.c 2004-09-21 21:07:54.000000000 +0200
@@ -295,7 +295,7 @@ static inline u8 DRIVE(struct pg *dev)

static void pg_sleep(int cs)
{
- current->state = TASK_INTERRUPTIBLE;
+ set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(cs);
}

@@ -409,7 +409,7 @@ static int pg_reset(struct pg *dev)
write_reg(dev, 6, DRIVE(dev));
write_reg(dev, 7, 8);

- pg_sleep(20 * HZ / 1000);
+ msleep_interruptible(20);

k = 0;
while ((k++ < PG_RESET_TMO) && (status_reg(dev) & STAT_BUSY))
_