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.

Reply via email to