diff --git a/hardware/arduino/avr/libraries/HID/HID.cpp b/hardware/arduino/avr/libraries/HID/HID.cpp index 3a4269999..8adf1a9cf 100644 --- a/hardware/arduino/avr/libraries/HID/HID.cpp +++ b/hardware/arduino/avr/libraries/HID/HID.cpp @@ -88,10 +88,11 @@ void HID_::AppendDescriptor(HIDSubDescriptor *node) int HID_::SendReport(uint8_t id, const void* data, int len) { - int ret = 0; - ret += USB_Send(pluggedEndpoint, &id, 1); - ret += USB_Send(pluggedEndpoint | TRANSFER_RELEASE, data, len); - return ret; + auto ret = USB_Send(pluggedEndpoint, &id, 1); + if(ret >= 0){ + ret += USB_Send(pluggedEndpoint | TRANSFER_RELEASE, data, len); + } + return ret; } bool HID_::setup(USBSetup& setup)