Now
MAIN commitmail json YAML
src/sys/dev/usb/emdtv.c@1.17
/
diff
/
nxr@1.17
src/sys/dev/usb/emdtv_dtv.c@1.17 / diff / nxr@1.17
src/sys/dev/usb/emdtv_ir.c@1.5 / diff / nxr@1.5
src/sys/dev/usb/emdtv_dtv.c@1.17 / diff / nxr@1.17
src/sys/dev/usb/emdtv_ir.c@1.5 / diff / nxr@1.5
emdtv(4): Fix issues in detach.
- Use config_detach_children, and do it up front, and handle failure
(not relevant for yanking usb but relevant for drvctl which doesn't
pass DETACH_FORCE).
- Fix teardown order: stop interrupts so we stop issuing new work,
and _then_ wait for pending work to drain and destroy the
workqueue.
- Omit needless empty mutex_enter(lock); mutex_exit(lock) dance
which probably only appeared necessary because of the wrong
teardown order.
- Use config_detach_children, and do it up front, and handle failure
(not relevant for yanking usb but relevant for drvctl which doesn't
pass DETACH_FORCE).
- Fix teardown order: stop interrupts so we stop issuing new work,
and _then_ wait for pending work to drain and destroy the
workqueue.
- Omit needless empty mutex_enter(lock); mutex_exit(lock) dance
which probably only appeared necessary because of the wrong
teardown order.