~ruther/qmk_firmware

3b04425f1abe61d773b34285ff8093496c7243cb — QMK Bot 3 years ago 203b87a + 1953a96
Merge remote-tracking branch 'origin/master' into develop
1 files changed, 11 insertions(+), 0 deletions(-)

M tmk_core/protocol/chibios/usb_main.c
M tmk_core/protocol/chibios/usb_main.c => tmk_core/protocol/chibios/usb_main.c +11 -0
@@ 934,6 934,17 @@ static void send_extra(uint8_t report_id, uint16_t data) {
        return;
    }

    if (usbGetTransmitStatusI(&USB_DRIVER, SHARED_IN_EPNUM)) {
        /* Need to either suspend, or loop and call unlock/lock during
         * every iteration - otherwise the system will remain locked,
         * no interrupts served, so USB not going through as well.
         * Note: for suspend, need USB_USE_WAIT == TRUE in halconf.h */
        if (osalThreadSuspendTimeoutS(&(&USB_DRIVER)->epc[SHARED_IN_EPNUM]->in_state->thread, TIME_MS2I(10)) == MSG_TIMEOUT) {
            osalSysUnlock();
            return;
        }
    }

    static report_extra_t report;
    report = (report_extra_t){.report_id = report_id, .usage = data};