diff options
-rw-r--r-- | tmk_core/protocol/chibios/usb_driver.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/tmk_core/protocol/chibios/usb_driver.c b/tmk_core/protocol/chibios/usb_driver.c index eb72f8ff6d..40bfb8eb2b 100644 --- a/tmk_core/protocol/chibios/usb_driver.c +++ b/tmk_core/protocol/chibios/usb_driver.c @@ -81,17 +81,17 @@ static bool qmkusb_start_receive(QMKUSBDriver *qmkusbp) { */ static size_t _write(void *ip, const uint8_t *bp, size_t n) { - output_buffers_queue_t *obqueue = &((QMKUSBDriver *)ip)->obqueue; - chSysLock(); - const bool full = obqIsFullI(obqueue); - chSysUnlock(); - if (full || bqIsSuspendedX(obqueue)) { - /* Discard any writes while the queue is suspended or full, i.e. the hidraw - interface is not open. If we tried to send with an infinite timeout, we - would deadlock the keyboard otherwise. */ - return -1; - } - return obqWriteTimeout(obqueue, bp, n, TIME_INFINITE); + output_buffers_queue_t *obqueue = &((QMKUSBDriver *)ip)->obqueue; + chSysLock(); + const bool full = obqIsFullI(obqueue); + chSysUnlock(); + if (full || bqIsSuspendedX(obqueue)) { + /* Discard any writes while the queue is suspended or full, i.e. the hidraw + interface is not open. If we tried to send with an infinite timeout, we + would deadlock the keyboard otherwise. */ + return -1; + } + return obqWriteTimeout(obqueue, bp, n, TIME_INFINITE); } static size_t _read(void *ip, uint8_t *bp, size_t n) { return ibqReadTimeout(&((QMKUSBDriver *)ip)->ibqueue, bp, n, TIME_INFINITE); } |