Re: Unable to reap urb after receiving signal using usbfs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux