On Fri, 27 Jul 2012, Damjan wrote:
> >> Maybe I read the kernel OOPS wrong. Was &ep->desc NULL or not?
> >
> > It's hard to tell from the information in the oops. You'd have to get
> > an assembly listing of usb_submit_urb() and figure out what source code
> > statement corresponds to offset 0x75 in the object code.
> >
> > Why did you originally think the problem was in the usb_endpoint_type
> > function call?
>
> I used gdb, I compile my own kernels so that was not hard. I just had
> to recompile that file with debug symbols (-g).
> It said the problems is in the usb_endpoint_type(const struct
> usb_endpoint_descriptor *epd)
> inline function that only does epd->bmAttributes
>
> Also when I added the check for a NULL &ep->desc just before the call
> to usb_endpoint_type I no longer got an OOPS, so that confirmed to me
> that &ep->desc is NULL
> Maybe I can log the ep pointer, and something else in that case?
Good idea. You could add something like:
WARN_ON(&ep->desc == NULL);
That would log all the information you should need. Also, it will help
if you enable CONFIG_FRAME_POINTER and CONFIG_USB_DEBUG.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html