USB config SX lock deadlock

Daniel O'Connor doconnor at gsoft.com.au
Thu Oct 10 08:08:04 UTC 2013


On 10/10/2013, at 18:18, Hans Petter Selasky <hps at bitfrost.no> wrote:
> If you use synchronous USB control requests, then those should always error out.

Yes it is synchronous (uses usbd_do_request_flags).

>> The usb_fifo_* code handles all wakeups so I am not sure.
> 
> The usb_fifo code only will only do refcounting. If you do USB control requests, you should use the f_ioctl_post, callback, because the f_ioctl callback does not protect against attach and detach or the enumeration thread running.

Sorry, I misspoke earlier :(

The usb_fifo code is only used for the RS485 and high speed data bus, the other (low speed configuration bus) is done using ioctl -> usbd_do_request(UT_*_VENDOR_DEVICE).

I will see about cranking up the debug level and trying to provoke a failure on the bench.

--
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/25349eb5/attachment.sig>


More information about the freebsd-usb mailing list