Hello All, We had a discussion couple of weeks ago about a kernel panic caused by ehci->watchdog timer, details were posted at http://thread.gmane.org/gmane.linux.usb.general/19472/focus=19484 Now we observed a similar issue caused by the rh_timer. As we need to disbale clocks and power-down the USBHOST to conserve power when suspending the bus, accessing the peripheral registers after bus suspended would cause CPU data abort, thus trigger a kernel panic. We saw occasionally this rh_timer gets enabled before ehci_bus_suspend is called, and by the time the timer fires (256ms later), the bus has been suspended already and kernel panic happens when rh_timer_func -> usb_hcd_poll_rh_status -> ehci_hub_status_data, which needs to access hub port status register. Here are the questions I wanted to ask, 1. Should the host driver prevent rh_timer from being enabled when trying to suspend the bus? 2. If scheduling rh_timer and suspending the bus are not even related to each other, should we simply del_timer_sync(&hcd->rh_timer) in ehci_bus_suspend? Thanks, Fei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html