Re: mdelay causes BUG, please use udelay

Dave Hansen (haveblue@us.ibm.com)
Wed, 21 Aug 2002 10:21:57 -0700


Martin J. Bligh 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.
>
> Whilst this sort of delay in interrupt context is undoubtedly bad
> any way we do it, I'd question the context a little more before we
> make a decision. This is called from e1000_reset_hw - are we likely
> to ever actually call this except under initialisation?

It doesn't happen often, or under good circumstances. In certain
cases, the driver detects that something timed out and it assumes
something on the card to be dead. Instead of delaying the
reinitialization of the dead card with a timer, they just do it during
the interrupt where the problem was detected.

-- 
Dave Hansen
haveblue@us.ibm.com

- 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/