This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP4430 ehci reset issue

Dear Sirs,

There is an issue on OMAP4430 on Tablet2.

I add the the wakeup patch in cdc-acm for 3G modem wakeup

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index e411f18..ad73218 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1344,6 +1344,7 @@ skip_countries:

usb_driver_claim_interface(&acm_driver, data_interface, acm);
usb_set_intfdata(data_interface, acm);
+ device_set_wakeup_enable(&usb_dev->dev, 1);

usb_get_intf(control_interface);
tty_register_device(acm_tty_driver, minor, &control_interface->dev);
--

Then I tested the 3G modem on EVM, I got some strange message as below:

59.513305] PM: late suspend of devices complete after 0.549 msecs
[ 59.514221] omap_device: omapdss_dpi: omap_device not built
[ 59.514648] PM: noirq suspend of devices complete after 1.281 msecs
[ 59.514648] Disabling non-boot CPUs ...
[ 59.523895] CPU1: shutdown
[ 59.524963] Successfully put all powerdomains to target state
[ 59.524963] At Resume pending I/O pad: Reg - 0x4A1001E0, CONTROL_PADCONF_WAKEUPEVENT_2[5]
[ 59.524963] At Resume pending I/O pad: Reg - 0x4A1001E0, CONTROL_PADCONF_WAKEUPEVENT_2[6]
[ 59.524963] Suspended for 2.656 seconds
[ 59.525268] Enabling non-boot CPUs ...
[ 59.542449] CPU1: Booted secondary processor
[ 59.542510] CPU1: Unknown IPI message 0x1
[ 59.543060] CPU1 is up
[ 59.543670] omap_device: omapdss_dpi: omap_device not built
[ 59.543701] dpm_run_callback(): _od_resume_noirq+0x0/0x84 returns -19
[ 59.543731] PM: Device omapdss_dpi failed to resume noirq: error -19
[ 59.544372] PM: noirq resume of devices complete after 1.281 msecs
[ 59.545318] PM: early resume of devices complete after 0.457 msecs
[ 59.558410] dmm dmm: omap_dmm_resume: omap_dmm_resume:PAT entries restored
[ 59.558624] PVR: PVRSRVDriverResume(pDevice=d6cf0c00)
[ 59.558624] PVR: SysSystemPostPowerState: Entering state D0
[ 59.558654] PVR: EnableSystemClocks: Enabling System Clocks
[ 59.558685] PVR: Installing device LISR SGX ISR on IRQ 53 with cookie d6096680
[ 59.559051] wakeup wake lock: musb_autosuspend_wake_lock
[ 59.916961] usb 1-1.2: reset high-speed USB device number 4 using ehci-omap
[ 60.323730] duty_cycle_apply_cooling: not throttling
[ 60.409057] usb 1-1.2.1: reset high-speed USB device number 5 using ehci-omap
[ 60.673431] @@@@ acm_reset_resume
[ 60.673431] @@@@ acm_reset_resume
[ 60.674163] @@@@ acm_resume
[ 60.674865] PM: resume of devices complete after 1129.547 msecs
[ 60.677398] @@@@ acm_port_shutdown
[ 60.909423] Restarting tasks ...
[ 60.919067] done.
[ 60.921600] suspend: exit suspend, ret = 0 (2014-01-08 06:38:18.695278379 UTC)
[ 60.931884] PM: Syncing filesystems ... done.
[ 60.938629] Freezing user space processes ... (elapsed 0.02 seconds) done.
[ 60.967529] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[ 61.003173] Suspending console(s) (use no_console_suspend to debug)

I think the reset procedure should not happen in suspend/resume, and still has no clue on this.

Any suggestions?

Thank you.