USB config SX lock deadlock

Daniel O'Connor doconnor at gsoft.com.au
Thu Oct 10 07:39:19 UTC 2013


On 10/10/2013, at 16:59, Hans Petter Selasky <hps at bitfrost.no> wrote:
>> It might under some circumstances but not directly.
>> 
>> It has 3 sub interfaces, if there is an error on one the the DAQ program will call abort() which would result in FDs being closed.
>> 
>> However that sub interface does not use read/poll only ioctl.
>> 
> How do these IOCTLs work?

They get turned into UT_READ_VENDOR_DEVICE requests in the driver.

> Do you wakeup any sleepers at "surprise" detach?


The usb_fifo_* code handles all wakeups so I am not sure.

Generally speaking the DAQ program sees these as IO errors and will then call abort() because the original code was for a PCI device and so it assumed the device could never disappear.

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C






-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-usb/attachments/20131010/78a32168/attachment.sig>


More information about the freebsd-usb mailing list