Hi Rods,
On Wed, Feb 2, 2011 at 1:08 PM, Rods Bobavich <rodnisms(a)gmail.com> wrote:
I was looking at the wrong urb.c file. The correct one
is
linux-kernel/sound/usb/urb.c
Actually the KERN_ERR is on 138 for my version triggers as line 146...
On line 460 is the second KERN_ERR.
This is all in a function called retire_capture_urb()
Which kernel?
It appears that there is a commented continue that
would drastically change
the for-loop this one is in. I wonder... Could this be the offending line?
If I'm reading the code correctly it appears to be some sort of locking
mechanism check while retiring the urb from use to make sure it is retired
when it is no longer active. Without the continue the urb will still be
retired. Perhaps this is causing something unstable?
Clemens might know more about this. I'm not that familiar with kernel code.
Shooting from the hip (and also digging in 2.6.26.5 sources)... looks
like there was a timeout when calling usb_set_interface()
(drivers/usb/core/message.c). The urb transfers look like they
stalled rather than failed to allocate bandwidth. That makes me think
there's a bad cable, bad USB controller, bad USB controller /driver/,
bad format request, bad device, or something like that.
-gabriel