--- - branch: MAIN date: Thu Mar 3 06:04:31 UTC 2022 files: - new: '1.29' old: '1.28' path: src/sys/arch/mips/adm5120/dev/ahci.c pathrev: src/sys/arch/mips/adm5120/dev/ahci.c@1.29 type: modified - new: '1.109' old: '1.108' path: src/sys/dev/ic/sl811hs.c pathrev: src/sys/dev/ic/sl811hs.c@1.109 type: modified - new: '1.303' old: '1.302' path: src/sys/dev/usb/ehci.c pathrev: src/sys/dev/usb/ehci.c@1.303 type: modified - new: '1.38' old: '1.37' path: src/sys/dev/usb/motg.c pathrev: src/sys/dev/usb/motg.c@1.38 type: modified - new: '1.319' old: '1.318' path: src/sys/dev/usb/ohci.c pathrev: src/sys/dev/usb/ohci.c@1.319 type: modified - new: '1.309' old: '1.308' path: src/sys/dev/usb/uhci.c pathrev: src/sys/dev/usb/uhci.c@1.309 type: modified - new: '1.223' old: '1.222' path: src/sys/dev/usb/usbdi.c pathrev: src/sys/dev/usb/usbdi.c@1.223 type: modified - new: '1.132' old: '1.131' path: src/sys/dev/usb/usbdivar.h pathrev: src/sys/dev/usb/usbdivar.h@1.132 type: modified - new: '1.12' old: '1.11' path: src/sys/dev/usb/usbroothub.c pathrev: src/sys/dev/usb/usbroothub.c@1.12 type: modified - new: '1.24' old: '1.23' path: src/sys/dev/usb/vhci.c pathrev: src/sys/dev/usb/vhci.c@1.24 type: modified - new: '1.156' old: '1.155' path: src/sys/dev/usb/xhci.c pathrev: src/sys/dev/usb/xhci.c@1.156 type: modified - new: '1.78' old: '1.77' path: src/sys/external/bsd/dwc2/dwc2.c pathrev: src/sys/external/bsd/dwc2/dwc2.c@1.78 type: modified - new: '1.30' old: '1.29' path: src/sys/rump/dev/lib/libugenhc/ugenhc.c pathrev: src/sys/rump/dev/lib/libugenhc/ugenhc.c@1.30 type: modified id: 20220303T060431Z.d70a1d07d08c47bf7abc6f1f36f2b657ce414a73 log: "usb: Factor usb_insert_transfer out of upm_transfer and make private.\n\nAlmost every upm_transfer function starts with:\n\n\tmutex_enter(&sc->sc_lock);\n\terr = usb_insert_transfer(xfer);\n\tmutex_exit(&sc->sc_lock);\n\tif (err)\n\t\treturn err;\n\nSome of them have debug messages sprinkled in here too, or assert\nthat err == USBD_NORMAL_COMPLETION (alternative is USBD_IN_PROGRESS,\nonly for pipes with up_running or up_serialise, presumably not\napplicable for these types of pipes). Some of them also assert\nxfer->ux_status == USBD_NOT_STARTED, which is guaranteed on entry and\npreserved by usb_insert_transer.\n\nExceptions:\n\n- arch/mips/adm5120/dev/ahci.c ahci_device_isoc_transfer just returns\n USBD_NORMAL_COMPLETION, but I'm pretty sure this is and always has\n been broken anyway, so won't make anything worse (if anything, might\n make it better...)\n\n- external/bsd/dwc2/dwc2.c dwc2_device_bulk_transfer and\n dwc2_device_isoc_transfer _also_ issue dwc2_device_start(xfer)\n \ under the lock. This is probably a better way to do it, but let's\n do it uniformly across all HCIs at once.\n\n- rump/dev/lib/libugenhc/ugenhc.c rumpusb_device_bulk_transfer\n \ sometimes returns USBD_IN_PROGRESS _without_ queueing the transfer,\n in the !rump_threads case. Not really sure how this is supposed to\n work... If it actually breaks anything, we can figure it out.\n" module: src subject: 'CVS commit: src/sys' unixtime: '1646287471' user: riastradh