mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 11:49:32 +00:00
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: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
ac26fca3e1
commit
efc7ce18d9
1 changed files with 2 additions and 4 deletions
|
@ -4,7 +4,7 @@
|
|||
* Copyright (c) 1999 Andreas Gal
|
||||
* Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
|
||||
* 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,
|
|||
unsigned int size;
|
||||
|
||||
list_for_each_entry(report, &hid->report_enum[type].report_list, list) {
|
||||
size = ((report->size - 1) >> 3) + 1;
|
||||
if (type == HID_INPUT_REPORT && hid->report_enum[type].numbered)
|
||||
size++;
|
||||
size = ((report->size - 1) >> 3) + 1 + hid->report_enum[type].numbered;
|
||||
if (*max < size)
|
||||
*max = size;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue