summaryrefslogtreecommitdiffstats
path: root/stack/hid/hidh_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'stack/hid/hidh_api.cc')
-rw-r--r--stack/hid/hidh_api.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/stack/hid/hidh_api.cc b/stack/hid/hidh_api.cc
index 704426fe3..adbc93104 100644
--- a/stack/hid/hidh_api.cc
+++ b/stack/hid/hidh_api.cc
@@ -233,11 +233,6 @@ void HID_HostInit(void) {
uint8_t log_level = hh_cb.trace_level;
memset(&hh_cb, 0, sizeof(tHID_HOST_CTB));
hh_cb.trace_level = log_level;
-
- for (size_t i = 0; i < HID_HOST_MAX_DEVICES; i++) {
- hh_cb.devices[i].conn.process_repage_timer =
- alarm_new("hid_devices_conn.process_repage_timer");
- }
}
/*******************************************************************************
@@ -281,6 +276,10 @@ tHID_STATUS HID_HostRegister(tHID_HOST_DEV_CALLBACK* dev_cback) {
hh_cb.callback = dev_cback;
hh_cb.reg_flag = true;
+ for (size_t i = 0; i < HID_HOST_MAX_DEVICES; i++) {
+ hh_cb.devices[i].conn.process_repage_timer =
+ alarm_new("hid_devices_conn.process_repage_timer");
+ }
return (HID_SUCCESS);
}
@@ -299,6 +298,7 @@ tHID_STATUS HID_HostDeregister(void) {
if (!hh_cb.reg_flag) return (HID_ERR_NOT_REGISTERED);
for (i = 0; i < HID_HOST_MAX_DEVICES; i++) {
+ alarm_free(hh_cb.devices[i].conn.process_repage_timer);
HID_HostRemoveDev(i);
}