On Wed, 11 Feb 2015, Dave Mielke wrote: > Just like the siginfo data has fields that must be left over from somewhere > else, might it be that the user urb is copied, without clearing the signr > field, to initialize an underlying system-provided urb? No, the signr field is always copied from the user-provided URB. > >usbfs has only user-generated URBs. It doesn't submit any URBs on its > >own. > > I see in tghe code: > > devio.c:507: sinfo.si_addr = as->userurb; > > So, if ssi_addr is NULL wouldn't that mean that as->userurb is NULL? What > could cause that? I think you are making an invalid assumption -- you're assuming that the signal is being generated by async_completed(). But if it were, you'd see the "urb complete" line in the kernel log from usbfs_snoop. This means the signal must be coming from somewhere else. as->userurb can never be NULL. If you tried calling the ioctl with a NULL argument, it would fail with an EFAULT error. 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