> Putting in a sanity check for the global suspend state will be very easy.
> But I would like to point out that this "global suspend" does not refer to
> the entire system, only the USB bus.
That is a problem then, because the delay can still
occur during normal system operation.
> I'm not sure under what
> circumstances the bus is placed in global suspend; I think it's just when
> there are no devices attached (or the last remaining device is detached).
>
> However, there have been cases on my own system where turning off the only
> USB peripheral caused the driver to bounce between suspend_hc() and
> wakeup_hc() several times without any apparent explanation -- possibly as
> a result of transient electrical signals on the bus (?). So perhaps
> moving that delay out of the ISR isn't such a bad idea.
Agreed. If this can happen on functional USB controllers
when no devices are attached, then it is a serious problem.
-- Paul Fulghum, paulkf@microgate.com Microgate Corporation, http://www.microgate.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/