Messages in this thread | | | Date | Tue, 20 Aug 2002 20:59:25 -0400 | From | Jeff Garzik <> | Subject | Re: mdelay causes BUG, please use udelay |
| |
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/
| |