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:

> [quoted lines by Alan Stern on 2015/02/11 at 14:45 -0500]
> 
> >Does the poll return immediately after the URB is submitted, or is
> >there a delay?  What if you try calling poll _before_ the URB is
> >submitted?
> 
> poll() is used for the underlying event mechanism, so it's always being caled. 
> The entire application (brltty, if you're curious) is a set of event handlers 
> that come and go as needed. The signalfd notification is appearing on the very 
> first call to poll() after the urb is submitted.

Well, it's a mystery.  There are exactly two places in the usbfs code 
where a signal is sent: async_completed() and usbdev_remove().  As you 
can tell from the usbfs_snoop output, async_completed() doesn't get 
called until the URB completes.  (And usbdev_remove() gets called only 
when the device is disconnected -- besides which, the values you got 
for si_errno and si_addr were different from what usbdev_remove() 
uses.)

You don't have any leftover debugging code in brltty that sends a 
signal mimicking the effect of an URB completion, do you?

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