diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index 018f80f5fec6f3b1192c960fb6169c5bd902d23c..6270d2cbdb08d17b08a5288eeaa3a1495dfbc091 100644 --- a/drivers/hid/hid-rmi.c +++ b/drivers/hid/hid-rmi.c @@ -1007,7 +1007,7 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) goto start; } - data->input_report_size = (input_report->size >> 3) + 1 /* report id */; + data->input_report_size = hid_report_len(input_report); if (!rmi_check_valid_report_id(hdev, HID_OUTPUT_REPORT, RMI_WRITE_REPORT_ID, &output_report)) { @@ -1016,8 +1016,7 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) goto start; } - data->output_report_size = (output_report->size >> 3) - + 1 /* report id */; + data->output_report_size = hid_report_len(output_report); data->device_flags |= RMI_DEVICE; alloc_size = data->output_report_size + data->input_report_size;