diff --git a/epicardium/ble/hid_work.c b/epicardium/ble/hid_work.c index 0f6dbdc9916d31197eab854a6f0156fe9847c04c..f4eeb2e79881dfdaa86432e482c36a85beb65812 100644 --- a/epicardium/ble/hid_work.c +++ b/epicardium/ble/hid_work.c @@ -214,6 +214,10 @@ int epic_ble_hid_send_report(uint8_t report_id, uint8_t *data, uint8_t len) return -EIO; } + if (!queue) { + return -EIO; + } + int ret; ret = hid_queue_data(report_id, data, len); diff --git a/epicardium/epicardium.h b/epicardium/epicardium.h index ca295376f2b0f28653df5a57dcf8e82d46fca2a3..3a2fea1a04e31e3e5c3b5a6d84d1cbbdb7445d88 100644 --- a/epicardium/epicardium.h +++ b/epicardium/epicardium.h @@ -2332,7 +2332,7 @@ API(API_BLE_GET_SCAN_REPORT, int epic_ble_get_scan_report(struct epic_scan_repor * :return: `0` on success, `1` if the report is queued or a negative value if an error occured. Possible * errors: * - * - ``-EIO``: There is no host device connected + * - ``-EIO``: There is no host device connected or BLE HID is not enabled. * - ``-EAGAIN``: There is no space in the queue available. Try again later. * - ``-EINVAL``: Either the report_id is out of range or the data is too long. *