Commit efc7ce18 authored by Jiri Kosina's avatar Jiri Kosina

HID: non-input reports can also be numbered

When computing the maximal buffer size needed, we must take into
account that not only input reports can be numbered.

Pointed out in bugzilla #10467
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent ac26fca3
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Copyright (c) 1999 Andreas Gal * Copyright (c) 1999 Andreas Gal
* Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz> * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
* Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
* Copyright (c) 2006-2007 Jiri Kosina * Copyright (c) 2006-2008 Jiri Kosina
*/ */
/* /*
...@@ -641,9 +641,7 @@ static void hid_find_max_report(struct hid_device *hid, unsigned int type, ...@@ -641,9 +641,7 @@ static void hid_find_max_report(struct hid_device *hid, unsigned int type,
unsigned int size; unsigned int size;
list_for_each_entry(report, &hid->report_enum[type].report_list, list) { list_for_each_entry(report, &hid->report_enum[type].report_list, list) {
size = ((report->size - 1) >> 3) + 1; size = ((report->size - 1) >> 3) + 1 + hid->report_enum[type].numbered;
if (type == HID_INPUT_REPORT && hid->report_enum[type].numbered)
size++;
if (*max < size) if (*max < size)
*max = size; *max = size;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment