No problem , Alan. I can post the debug info. Which part do you want to check? I can post it. The two controllers share the same IRQ. The cat /proc/interrupts result for ohci and ehci is as below: 11: 1924 XT-PIC ehci_hcd:usb1, ohci_hcd:usb2 When I use the udelay(1), the result is better and the mouse hang still happen. But the hang time is delayed(around 30 mins) When I use the udelay(100), the hang issue is hardly found. Thanks Frank -----Original Message----- From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] Sent: Monday, December 28, 2009 11:10 AM To: Huang, FrankR Cc: USB list Subject: RE: A question about ohci_irq() On Mon, 28 Dec 2009, Huang, FrankR wrote: > Alan, > > Thanks for your reply. > I have enabled the CONFIG_USB_DEBUG item in the config. So I can get the debug info. Would you like to post the log? > Besides the insert and removal of the device, the mouse's action(move etc.) will trigger it. I can understand this point. But What I can not understand is that why the USB disk(Using EHCI) is transferring the files, the ohci_irq() will be triggered? Maybe the two controllers share the same IRQ line. What does /proc/interrupts say? Or maybe there is electrical crosstalk between the EHCI signals and the OHCI signals. > From the debug info., I know that the ints value in ohci_irq function equals 0 after and(&) the regs->intrenable. > Now I am adding an udelay(100us) function in ohci_irq(), and the mouse disconnection issue can not be found again. Where exactly did you add the udelay? Alan Stern -- 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