On Sat, 18 Aug 2012, Amit wrote: > Amit <amit.uttam@...> writes: > > > I am getting the following kernel oops (http://paste.debian.net/182812/) > > sporadically. Kernel version is 3.2.14. > > > > Code basically does the following: > > > > ioctl(fd,HIDIOCSUSAGES, &ref_multi_u); > > ioctl(fd,HIDIOCSREPORT, &rep_info_u); > > > > Here are some notes: > > > > 1. Happens in implement() function called by hid_output_report. > > 2. Did an ftrace and found the HIDIOCSREPORT call takes 5.3ms to > > complete. Is it suppose to take this long? > > 3. Very hard to reproduce. Seems to me like a race condition? > > Some updates: > > After running usbmon, I realized that the paging request address is the > address of the urb. That doesn't make sense. implement() shouldn't know anything about the address of any URBs. (It should be able to access an URB's transfer buffer, but that's a different matter.) > I think the urb gets deleted while the implement > function is going on. If hid_output_report() gets passed the address of an URB then something has already gone wrong. Alan Stern -- 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