On Fri, Sep 09, 2016 at 04:35:02PM +0200, Stefan Wahren wrote: > Am 05.09.2016 um 04:51 schrieb Peter Chen: > > On Fri, Sep 02, 2016 at 08:20:35PM +0200, Stefan Wahren wrote: > >> Hi Peter, > >> > >>> Stefan Wahren <stefan.wahren@xxxxxxxx> hat am 25. August 2016 um 19:17 > >>> geschrieben: > >>> > >>> > >>> Hi, > >>> > >>>> Peter Chen <hzpeterchen@xxxxxxxxx> hat am 25. August 2016 um 11:16 > >>>> geschrieben: > >>>> > >>>> > >>>> On Thu, Aug 25, 2016 at 08:27:03AM +0200, Stefan Wahren wrote: > >>>>> Am 25.08.2016 um 08:44 schrieb Peter Chen: > >>>>>> On Thu, Aug 25, 2016 at 07:06:12AM +0200, Stefan Wahren wrote: > >>>>>>> Hi Alan, > >>>>>>> > >>>>>>> i tried the following patch: > >>>>>>> --- a/drivers/usb/chipidea/host.c > >>>>>>> +++ b/drivers/usb/chipidea/host.c > >>>>>>> @@ -185,6 +185,8 @@ static void host_stop(struct ci_hdrc *ci) > >>>>>>> > >>>>>>> if (hcd) { > >>>>>>> usb_remove_hcd(hcd); > >>>>>>> + ci_role_stop(ci); > >>>>>>> + synchronize_irq(ci->irq); > >>>>>> Would you please just add below line to see if this problem can be > >>>>>> fixed? > >>>>>> + ci->role = CI_ROLE_END; > >>>>>> > >>>>>> When ci->role is CI_ROLE_END, neither host nor device interrupt handler > >>>>>> will run. > >>>>> I would add this before synchronize_irq() as Alan suggested. > >>> i replaced my ci_role_stop(ci) with ci->role = CI_ROLE_END and the panic > >>> disappear: > >>> > >>> [ 114.980000] ci_hdrc ci_hdrc.0: remove, state 1 > >>> [ 114.990000] usb usb1: USB disconnect, device number 1 > >>> [ 115.000000] usb 1-1: USB disconnect, device number 2 > >>> [ 115.000000] usb 1-1.1: USB disconnect, device number 3 > >>> [ 115.030000] smsc95xx 1-1.1:1.0 eth0: unregister 'smsc95xx' > >>> usb-ci_hdrc.0-1.1, > >>> smsc95xx USB 2.0 Ethernet > >>> [ 115.220000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered > >>> [ 115.230000] otgsc:0x4e20, usbsts:0x0 > >>> [ 115.240000] reboot: System halted > >> do you need more information? > >> > > I would like to know which interrupt is triggered at that time? > > So the added debug messages didn't help to find the interrupt source ( > otgsc:0x4e20, usbsts:0x0 ) ? > > Any other suggestions ? > > At least i would like to create a patch with Alan's suggestion before > 4.8 is final. > Ok, please do it. -- Best Regards, Peter Chen -- 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