Now
jmcneill-usbmp commitmail json YAML
src/sys/dev/usb/TODO.usbmp@1.1.2.14
/
diff
/
nxr@1.1.2.14
src/sys/dev/usb/usbdi.c@1.134.2.16 / diff / nxr@1.134.2.16
src/sys/dev/usb/usbdi.h@1.80.2.3 / diff / nxr@1.80.2.3
src/sys/dev/usb/usbdi_util.c@1.55.12.8 / diff / nxr@1.55.12.8
src/sys/dev/usb/usbdi.c@1.134.2.16 / diff / nxr@1.134.2.16
src/sys/dev/usb/usbdi.h@1.80.2.3 / diff / nxr@1.80.2.3
src/sys/dev/usb/usbdi_util.c@1.55.12.8 / diff / nxr@1.55.12.8
convert usbd_{intr,bulk}_transfer() in the USBMP world:
- add a new USBD_SYNCHRONOUS_SIG flag for transfers
- in usbd_transfer(), if USBD_SYNCHRONOUS_SIG is set use cv_wait_sig()
(or tlseep(xfer, PZERO|PATCH, ...) for the unconverted controllers)
- add a usbd_sync_transfer_sig() front-end to usbd_transfer()
- greatly simplify both usbd_{intr,bulk}_transfer() to just
usbd_sync_transfer_sig() and usbd_get_xfer_status().
this fixes lockdebug issues where usbd_{intr,bulk}_transfer() where it
taking the pipe lock, when usbd_transfer() would call functions that
expect the pipe lock not to be taken (and try to taken it.)
- add a new USBD_SYNCHRONOUS_SIG flag for transfers
- in usbd_transfer(), if USBD_SYNCHRONOUS_SIG is set use cv_wait_sig()
(or tlseep(xfer, PZERO|PATCH, ...) for the unconverted controllers)
- add a usbd_sync_transfer_sig() front-end to usbd_transfer()
- greatly simplify both usbd_{intr,bulk}_transfer() to just
usbd_sync_transfer_sig() and usbd_get_xfer_status().
this fixes lockdebug issues where usbd_{intr,bulk}_transfer() where it
taking the pipe lock, when usbd_transfer() would call functions that
expect the pipe lock not to be taken (and try to taken it.)