freebsd-dev/sys/dev/usb/serial
Hans Petter Selasky 0eb8d46232 Improve USB polling mode by not locking any mutexes, asserting any
mutexes or using any callouts when active.

Trying to lock a mutex when KDB is active or the scheduler is stopped
can result in infinite wait loops. The same goes for calling callout
related functions which in turn lock mutexes.

If the USB controller at which a USB keyboard is connected is idle
when KDB is entered, polling the USB keyboard via USB will always
succeed. Else polling may fail depending on which state the USB
subsystem and USB interrupt handler is in. This is unavoidable unless
KDB can wait for USB interrupt threads to complete before stalling the
CPU(s).

Tested by:	Bruce Evans <bde@freebsd.org>
MFC after:	4 weeks
2016-09-14 12:07:34 +00:00
..
u3g.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
uark.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
ubsa.c Translate modem status reg bits from ns16550 to SER_* values used by the 2016-07-27 00:03:18 +00:00
ubser.c
uchcom.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
ucycom.c
ufoma.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
uftdi_reg.h
uftdi.c
ugensa.c
uipaq.c
ulpt.c dev/usb: minor spelling fixes in comments. 2016-05-02 17:44:03 +00:00
umcs.c Translate modem status reg bits from ns16550 to SER_* values used by the 2016-07-26 23:27:28 +00:00
umcs.h dev/usb: minor spelling fixes in comments. 2016-05-02 17:44:03 +00:00
umct.c Translate modem status reg bits from ns16550 to SER_* values used by the 2016-07-26 23:42:42 +00:00
umodem.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
umoscom.c Actually return line status register values from umoscom_cfg_get_status(). 2016-07-26 22:26:49 +00:00
uplcom.c With clang 3.9.0, compiling uplcom results in the following warnings: 2016-09-04 16:59:35 +00:00
usb_serial.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_serial.h Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
uslcom.c Annotate the usb-serial drivers which always return 0 for line status, 2016-07-27 00:08:01 +00:00
uvisor.c dev/usb: minor spelling fixes in comments. 2016-05-02 17:44:03 +00:00
uvscom.c