Module Name: src Committed By: riastradh Date: Tue Sep 7 10:43:34 UTC 2021
Modified Files: src/sys/dev/usb: ugen.c Log Message: ugen(4): Use cv_broadcast to wake all I/O operations on detach. Nothing prevents two concurrent reads or two concurrent writes on any particular ugen endpoint, as far as I can tell, and we need to wake all of them, so use cv_broadcast rather than cv_signal on detach. XXX It's not clear to me that cv_signal in the xfer completion callbacks is correct either: any one consumer might use less than the full buffer. So I think either we should use cv_broadcast, or consumers that don't use the whole buffer need to issue cv_signal too to wake up another consumer even if we want to avoid a thundering herd. To generate a diff of this commit: cvs rdiff -u -r1.164 -r1.165 src/sys/dev/usb/ugen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.