On Sun, Oct 31, 2004 at 06:05:37AM -0500, Jeff Garzik wrote:
> janitor@xxxxxxxxxxxxxx wrote:
> >diff -puN drivers/net/pcnet32.c~msleep_interruptible-drivers_net_pcnet32
> >drivers/net/pcnet32.c
> >---
> >linux-2.6.10-rc1/drivers/net/pcnet32.c~msleep_interruptible-drivers_net_pcnet32
> > 2004-10-24 17:05:14.000000000 +0200
> >+++ linux-2.6.10-rc1-max/drivers/net/pcnet32.c 2004-10-24
> >17:05:14.000000000 +0200
> >@@ -847,7 +847,7 @@ static int pcnet32_phys_id(struct net_de
> > if ((!data) || (data > (u32)(MAX_SCHEDULE_TIMEOUT / HZ)))
> > data = (u32)(MAX_SCHEDULE_TIMEOUT / HZ);
> >
> >- schedule_timeout(data * HZ);
> >+ msleep_interruptible(data * 1000);
>
>
> clearly and obviously ssleep()
Here is the corrected patch.
Description: Use ssleep_interruptible() instead of schedule_timeout()
to guarantee the task delays as expected.
Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxx>
--- 2.6.10-rc1-vanilla/drivers/net/pcnet32.c 2004-10-30 15:33:28.000000000
-0700
+++ 2.6.10-rc1/drivers/net/pcnet32.c 2004-11-01 14:08:10.000000000 -0800
@@ -847,7 +847,7 @@ static int pcnet32_phys_id(struct net_de
if ((!data) || (data > (u32)(MAX_SCHEDULE_TIMEOUT / HZ)))
data = (u32)(MAX_SCHEDULE_TIMEOUT / HZ);
- schedule_timeout(data * HZ);
+ ssleep_interruptible(data);
del_timer_sync(&lp->blink_timer);
/* Restore the original value of the bcrs */
|