hi Alan and Peter: >> >> Backtrace: >> [<bf04ebec>] (ehci_handle_start_intr_unlinks [ehci_hcd]) from >> [<bf04ffb0>] (ehci_bus_suspend+0x388/0x464 [ehci_hcd]) > > Since there aren't any devices registered on the USB bus yet, > ehci_handle_start_intr_unlink() should do nothing. It iterates over > ehci->intr_unlink, but that list should be empty. Per Alan's kind reminding, I found my problem comes from improper initialization of intr_unlink ^^ BTW, when I disable BH support in hcd driver. I get below recursion of spin lock sometimes. Did I missing anything once disable BH? appreciate all your kind help, [<c04b4c14>] (_raw_spin_lock_irqsave) from [<bf050204>] (ehci_urb_enqueue+0x160/0xdb4 [ehci_hcd]) r5:ede81300 r4:c06d5af0 [<bf0500a4>] (ehci_urb_enqueue [ehci_hcd]) from [<bf00e8c8>] (usb_hcd_submit_urb+0x778/0x878 [usbcore]) r10:00000001 r9:00000200 r8:edf84c88 r7:00000020 r6:00000000 r5:ede81300 r4:edf84c80 [<bf00e150>] (usb_hcd_submit_urb [usbcore]) from [<bf00fc08>] (usb_submit_urb+0x460/0x4b0 [usbcore]) r10:00000001 r9:00000200 r8:00000020 r7:00000003 r6:00002000 r5:edf77900 r4:edf84c80 [<bf00f7a8>] (usb_submit_urb [usbcore]) from [<bf005a4c>] (hub_irq+0xe8/0x118 [usbcore]) r10:edf84c80 r9:00000000 r8:ede81480 r7:edfb200c r6:edf84c80 r5:00000000 r4:edfdc000 [<bf005964>] (hub_irq [usbcore]) from [<bf00cf7c>] (__usb_hcd_giveback_urb+0x80/0xfc [usbcore]) r6:00000000 r5:60000193 r4:edf84c80 r3:bf005964 [<bf00cefc>] (__usb_hcd_giveback_urb [usbcore]) from [<bf00d044>] (usb_hcd_giveback_urb+0x4c/0xec [usbcore]) r6:ede81300 r5:edf84c80 r4:edf84c80 r3:ede82f80 [<bf00cff8>] (usb_hcd_giveback_urb [usbcore]) from [<bf0471e8>] (ehci_urb_done+0x88/0x8c [ehci_hcd]) r8:ede81480 r7:edfb200c r6:ede81300 r5:edf84c80 r4:00000000 r3:c06d4000 [<bf047160>] (ehci_urb_done [ehci_hcd]) from [<bf0499bc>] (qh_completions+0x4c0/0x558 [ehci_hcd]) r6:ffffff8d r5:edfb2000 r4:f0244240 r3:edfb200c [<bf0494fc>] (qh_completions [ehci_hcd]) from [<bf04edf8>] (ehci_work+0x168/0x844 [ehci_hcd]) r10:00010015 r9:ede81300 r8:ede81584 r7:ede81574 r6:edfb200c r5:edfb2000 r4:ede81480 [<bf04ec90>] (ehci_work [ehci_hcd]) from [<bf04fa14>] (ehci_irq+0x490/0x4fc [ehci_hcd]) r10:00010015 r9:ede81300 r8:c0785e90 r7:00000000 r6:00000001 r5:00000000 r4:00004009 [<bf04f584>] (ehci_irq [ehci_hcd]) from [<bf00c33c>] (usb_hcd_irq+0x34/0x48 [usbcore]) -- 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