On Fri, 26 Oct 2012, Mohan V wrote:
> >> When the USB bus is in suspend, a device connected to OHCI port does
> >> not get detected, whereas the device connected to EHCI port is getting
> >> detected.
> >
> > Can you provide a dmesg log showing the OHCI problem with
> > CONFIG_USB_DEBUG enabled?
> >
> Please find the attached log (ohci-detect.log), where the device is
> disconnected from the
> OHCI port and then does not get detected when connected again.
> We are using android 3.0 kernel.
I'm not going to be able to help very much with an Android kernel.
Does the same problem occur with a vanilla non-Android 3.6 kernel? If
it doesn't, that indicates the problem was caused by some
Android-specific changes.
Are you referring to this part of the log?
> ------------------------Device not getting detected when
> connected---------------------------
>
> / # [ 135.621002] usbhs_wakeup: Enabling clocks
> [ 135.625762] usbhs_runtime_resume:++++++
> [ 135.630371] usbhs_runtime_resume:------
> [ 135.638183] USB IO PAD Wakeup event triggered##################
> [ 135.644958] usbhs_runtime_suspend:++++++
> [ 135.649749] usbhs_runtime_suspend:-----
It appears that ohci_irq() didn't run. Did
ohci_finish_controller_resume() get called?
My guess is your usbhs_runtime_resume() routine has a bug. Maybe the
usbhs_runtime_suspend() routine does too.
> We sometime see the crash in "ohci_hub_status_data" function. So, when
> we add the
> below check at the entry of the function, there is no crash. Please
> find attached crash log.
> (ohci-crash.log)
I don't understand the crash log. What is the cause of the crash? Is
there some error involving spin_lock_irqrestore() in
ohci_hub_status_data()
> if (!HC_IS_RUNNING(hcd->state)) {
> return 0;
> }
>
> But the device does not get detected subsequently with this change. There is
> a similar check in ehci-hub.c.
No, there isn't. Not since the 3.1 kernel. In any case, ehci-hcd is
different from ohci-hcd; you shouldn't expect their hub_status_data
routines to be the same.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html