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

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

 



Dave Mielke wrote:
> Under what circumstances should usbfs code, after having received a signal, 
> expect to not be able to reap a URB, and how should it interpret this 
> situation?

I would expect ioctl(fd, IOCTL_USBFS_REAPURBNDELAY, &urb) to either
return -1 with errno = ENODEV, or to return 0 with urb->status = ESHUTDOWN.


> In this situation, though, wouldn't the URB still be reapable with
> its status set to -ENOENT?

Yes, I think so.


>    518: if (as->status < 0 && as->bulk_addr && as->status != -ECONNRESET &&
>    519:                 as->status != -ENOENT)
>    520:         cancel_bulk_urbs(ps, as->bulk_addr);
> 
> Whatever this code is for, it looks like it's specifically not
> being executed if the error is -ENOENT.

What happens if you ioctl(fd, IOCTL_USBFS_DISCARDURB, ) instead of REAP?


//Peter
--
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