On Tue, 2004-01-20 at 22:01, Alan Stern wrote: > If you unplug (without running the test) and wait for the controller to be > suspended, does uhci_irq get called right after the suspend_hc message?
No. > Doesn't urb_dequeue call set_next_interrupt? Yes, it calls set_next_interrupt. > If it does, shouldn't you see uhci_irq being called? Yes, that's what usually happens after set_next_interrupt. > Are you saying that the problem comes up only > when you disconnect during your test transmission? Yes. > Does your test involve trying to send a bulk-out message or a bulk-in? The one message I interrupt with the unplugging is always a bulk-in (meaning: read from device, right?) message. > Can you post your debugging log information, from when you start your test > up until shortly after the suspend_hc message? It is attached. There are quite a lot non-problematic URB's to and from the device before the interesting part begins. I need those to set up my device. > > - after I ran my test set_next_interrupt does not work anymore > > (triggered by "cat /proc/drivers/uhci..."). > > It shouldn't work because the controller is suspended. Of course, that should have been obvious to me. > > If I replug the device, I > > get the kernel panic. > > Caused by the original failure to get an interrupt after the call to > urb_dequeue. Yes. The panic was caused by a call of complete() inside my drivers urb completion function. If I replug the device, uhci_irq() gets called with status = 36, uhci->state = -10. This call finally removes the urb from the queue and calls the completion handler. Unfortunately my drivers device struct is freed by then. So the panic is a consequence that my driver does not wait for all URBs it send, as it should. But, as mentioned, if I make it wait, it hangs. > If you have another USB device, you could try plugging it in and > unplugging it, to see what interrupts you get. I'm thinking that maybe > part of the trouble is caused by your test device, although I can't > imagine how. I used my USB mouse, plugged it in and unplugged. I disconnected the power of the machine beforehand and rebooted trying to make sure the controller hardware is not in some "ill" state. The result is as with my device: there is no uhci_irq call after the disconnect and still nothing after the suspend_hc. Axel.
# I start with the plugin event Jan 21 12:01:25 koffer kernel: uhci_irq status = 36, uhci->state = -10 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: drivers/usb/host/uhci-hcd.c: e400: wakeup_hc Jan 21 12:01:25 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:25 koffer kernel: << giveback cf202c20 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: hub 1-0:1.0: new USB device on port 1, assigned address 2 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: >>> disable 0 Jan 21 12:01:25 koffer kernel: << disable Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a860 Jan 21 12:01:25 koffer kernel: << giveback cef4a860 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4a860 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> uhci_finish_urb cef4aaa0 e400 Jan 21 12:01:25 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:25 koffer kernel: >>> giveback cef4aaa0 Jan 21 12:01:25 koffer kernel: << giveback cef4aaa0 Jan 21 12:01:25 koffer kernel: << uhci_finish_urb cef4aaa0 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:25 koffer kernel: spheroncam.c: USB SpheronCam device now attached to USBSpheronCam-180 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a560 Jan 21 12:01:25 koffer kernel: << giveback cef4a560 Jan 21 12:01:25 koffer kernel: >>> giveback cef4a560 Jan 21 12:01:25 koffer kernel: << giveback cef4a560 Jan 21 12:01:25 koffer kernel: uhci_irq status = 1, uhci->state = 1 e400 Jan 21 12:01:25 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 # I guess up until here went the enumeration process. Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> uhci_finish_urb cef4aa40 e400 Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << uhci_finish_urb cef4aa40 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> uhci_finish_urb cef4aa40 e400 Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << uhci_finish_urb cef4aa40 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:41 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> uhci_finish_urb cef4aa40 e400 Jan 21 12:01:41 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:41 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << giveback cef4aa40 Jan 21 12:01:41 koffer kernel: << uhci_finish_urb cef4aa40 e400 # The pattern of the above block repeats for about the next 4000 # lines. I cut these to save bandwidth. Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:43 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:43 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:43 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:43 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:43 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:43 koffer kernel: >>> uhci_finish_urb cef4aa40 e400 Jan 21 12:01:43 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:43 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:43 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:43 koffer kernel: << giveback cef4aa40 Jan 21 12:01:43 koffer kernel: << uhci_finish_urb cef4aa40 e400 Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:43 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:43 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:43 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: >>> uhci_finish_urb cef4a620 e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: >>> giveback cef4a620 Jan 21 12:01:44 koffer kernel: spheroncam.c: spheroncam_complete urb: cef4a620 status: 0 Jan 21 12:01:44 koffer kernel: << giveback cef4a620 Jan 21 12:01:44 koffer kernel: << uhci_finish_urb cef4a620 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: >>> uhci_finish_urb cef4a620 e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: >>> giveback cef4a620 Jan 21 12:01:44 koffer kernel: spheroncam.c: spheroncam_complete urb: cef4a620 status: 0 Jan 21 12:01:44 koffer kernel: << giveback cef4a620 Jan 21 12:01:44 koffer kernel: << uhci_finish_urb cef4a620 e400 # Here ended the second succesful normal read attempt (urb cef4a620). # Then I pulled the plug. Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: uhci_irq status = 1, uhci->state = 2 e400 Jan 21 12:01:44 koffer kernel: uhci_irq status = 32, uhci->state = -10 e800 Jan 21 12:01:44 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:44 koffer kernel: << giveback cf202c20 Jan 21 12:01:44 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:44 koffer kernel: << giveback cef4aa40 Jan 21 12:01:44 koffer kernel: >>> giveback cef4aa40 Jan 21 12:01:44 koffer kernel: << giveback cef4aa40 Jan 21 12:01:44 koffer kernel: usb 1-1: USB disconnect, address 2 Jan 21 12:01:44 koffer kernel: >>> disable 0 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 128 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 1 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 129 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 2 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 130 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 3 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 131 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 4 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 132 Jan 21 12:01:44 koffer kernel: >>> uhci_urb_dequeue cef4a620 e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: uhci_urb_dequeue cef4a620 list_empty == true e400 Jan 21 12:01:44 koffer kernel: >>> uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_set_next_interrupt e400 Jan 21 12:01:44 koffer kernel: << uhci_urb_dequeue cef4a620 uhci->state: 3 e400 Jan 21 12:01:44 koffer kernel: uhci_hcd 0000:00:07.2: dequeue cef4a620 --> 0 Jan 21 12:01:44 koffer kernel: uhci_hcd 0000:00:07.2: shutdown urb cef4a620 pipe c0020280 ep4in-bulk Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 5 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 133 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 6 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 134 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 7 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 135 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 8 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 136 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 9 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 137 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 10 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 138 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 11 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 139 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 12 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 140 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 13 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 141 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 14 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 142 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 15 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 143 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 1 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 130 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 3 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:44 koffer kernel: >>> disable 132 Jan 21 12:01:44 koffer kernel: << disable Jan 21 12:01:45 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:45 koffer kernel: << giveback cf202c20 Jan 21 12:01:45 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:45 koffer kernel: << giveback cf202c20 Jan 21 12:01:45 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:45 koffer kernel: << giveback cf202c20 Jan 21 12:01:45 koffer kernel: drivers/usb/host/uhci-hcd.c: e400: suspend_hc Jan 21 12:01:45 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:45 koffer kernel: << giveback cf202c20 Jan 21 12:01:46 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:46 koffer kernel: << giveback cf202c20 Jan 21 12:01:46 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:46 koffer kernel: << giveback cf202c20 Jan 21 12:01:46 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:46 koffer kernel: << giveback cf202c20 Jan 21 12:01:46 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:46 koffer kernel: << giveback cf202c20 Jan 21 12:01:47 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:47 koffer kernel: << giveback cf202c20 Jan 21 12:01:47 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:47 koffer kernel: << giveback cf202c20 Jan 21 12:01:47 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:47 koffer kernel: << giveback cf202c20 Jan 21 12:01:47 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:47 koffer kernel: << giveback cf202c20 Jan 21 12:01:48 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:48 koffer kernel: << giveback cf202c20 Jan 21 12:01:48 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:48 koffer kernel: << giveback cf202c20 Jan 21 12:01:48 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:48 koffer kernel: << giveback cf202c20 Jan 21 12:01:48 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:48 koffer kernel: << giveback cf202c20 Jan 21 12:01:49 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:49 koffer kernel: << giveback cf202c20 Jan 21 12:01:49 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:49 koffer kernel: << giveback cf202c20 Jan 21 12:01:49 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:49 koffer kernel: << giveback cf202c20 Jan 21 12:01:49 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:49 koffer kernel: << giveback cf202c20 Jan 21 12:01:50 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:50 koffer kernel: << giveback cf202c20 Jan 21 12:01:50 koffer kernel: >>> giveback cf202c20 Jan 21 12:01:50 koffer kernel: << giveback cf202c20 Jan 21 12:01:50 koffer kernel: spheroncam.c: wait_for_transfer_completion: timeout(0) Jan 21 12:01:50 koffer kernel: spheroncam.c: wait_for_transfer_completion: usb_unlink_urb cef4a620 Jan 21 12:01:50 koffer kernel: Jan 21 12:01:50 koffer kernel: usb 1-1: hcd_unlink_urb cef4a620 fail -16 Jan 21 12:01:50 koffer kernel: spheroncam.c: wait_for_transfer_completion: usb_unlink_urb returned -16 Jan 21 12:01:50 koffer kernel: spheroncam.c: wait_for_transfer_completion <<< (-110) Jan 21 12:01:50 koffer kernel: spheroncam.c: spheroncam_ioctl: transfer error (-110) Jan 21 12:01:50 koffer kernel: spheroncam.c: spheroncam_ioctl <<< (-110) Jan 21 12:01:50 koffer kernel: spheroncam.c: USB SpheronCam #180 now disconnected Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: >>> giveback cef4a5c0 Jan 21 12:01:50 koffer kernel: << giveback cef4a5c0 # That has been the full trace from plugging until unplugging the device.