Pavel Machek wrote:
Hi!

In 2.6.0-test1, OHCI is non-functional after first suspend/resume, and
kills machine during secon suspend/resume cycle.

Hmm, last time I tested suspend/resume it worked fine. That was 2.5.67, but the OHCI code hasn't had any relevant changes since then.

Evidently your system used different suspend/resume paths
than mine did ... :)


What happens is that ohci_irq gets ohci->hcca == NULL, and kills
machine. Why is ohci->hcca == NULL? ohci_stop was called from
hcd_panic() and freed ohci->hcca.

Then the problem is that an IRQ is still coming in after the HCD panicked.


I believe that we should

1) not free ohci->hcca so that system has better chance surviving
hcd_panic()

Not ever????


It's freed in exactly one place, after everything should be
shut down.  If it wasn't shut down, that was the problem.

Could you instead figure out why it wasn't shut down?


and

2) inform user when hcd panics.

The OHCI code does that already on the normal panic path (controller delivers a Unrecoverable Error interrupt), but you're right that this would be better as a generic KERN_CRIT diagnostic. (But one saying which HCD panicked, rather than leaving folk to guess which of the N it applied to...) And I'd print that message sooner, not waiting for that task to be scheduled.

I'll merge that fix in with one I have in my queue.

- Dave



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to