Re: mdelay causes BUG, please use udelay

From: Jeff Garzik (jgarzik@mandrakesoft.com)
Date: Tue Aug 20 2002 - 19:59:25 EST


Feldman, Scott wrote:
>>- msec_delay(10);
>>+ usec_delay(10000);
>
>
> Jeff, 10000 seems on the border of what's OK. If it's acceptable, then
> let's go for that. Otherwise, we're going to have to chain several
> mod_timer callbacks together to do a controller reset.

That definitely wants fixing. Since I like doing resets and similar
slow-paths in process context -- sleep for as long as you want -- I
would say kick over to a function called via schedule_task()

Just make sure other parts of the driver that may be called
asynchronously, such as ethtool ioctls, are disabled. Remember that
tx_timeout holds the dev->xmit_lock as well, so spending a long time in
there is a bad idea in general.

I would probably call netif_carrier_off() first thing in tx_timeout, too.

        Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:21 EST