diff --git a/android/hal-hidhost.c b/android/hal-hidhost.c
index 371250a..fd3ad2d 100644
--- a/android/hal-hidhost.c
+++ b/android/hal-hidhost.c
cmd->len = strlen(report);
memcpy(cmd->data, report, cmd->len);
- switch (report_type) {
- case BTHH_INPUT_REPORT:
- cmd->type = HAL_HIDHOST_INPUT_REPORT;
- break;
- case BTHH_OUTPUT_REPORT:
- cmd->type = HAL_HIDHOST_OUTPUT_REPORT;
- break;
- case BTHH_FEATURE_REPORT:
- cmd->type = HAL_HIDHOST_FEATURE_REPORT;
- break;
- default:
- return BT_STATUS_PARM_INVALID;
- }
+ /* type match IPC type */
+ cmd->type = report_type;
return hal_ipc_cmd(HAL_SERVICE_ID_HIDHOST, HAL_OP_HIDHOST_SET_REPORT,
sizeof(*cmd) + cmd->len, buf, 0, NULL, NULL);
diff --git a/android/hidhost.c b/android/hidhost.c
index 1cf85b1..aed9899 100644
--- a/android/hidhost.c
+++ b/android/hidhost.c
return;
}
+ switch (cmd->type) {
+ case HAL_HIDHOST_INPUT_REPORT:
+ case HAL_HIDHOST_OUTPUT_REPORT:
+ case HAL_HIDHOST_FEATURE_REPORT:
+ break;
+ default:
+ status = HAL_STATUS_INVALID;
+ goto failed;
+ }
+
android2bdaddr(&cmd->bdaddr, &dst);
l = g_slist_find_custom(devices, &dst, device_cmp);