diff options
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/hid-input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index c7a6833f6821..33b1126f5e5d 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -816,6 +816,7 @@ int hidinput_connect(struct hid_device *hid) | |||
816 | struct hid_input *hidinput = NULL; | 816 | struct hid_input *hidinput = NULL; |
817 | struct input_dev *input_dev; | 817 | struct input_dev *input_dev; |
818 | int i, j, k; | 818 | int i, j, k; |
819 | int max_report_type = HID_OUTPUT_REPORT; | ||
819 | 820 | ||
820 | INIT_LIST_HEAD(&hid->inputs); | 821 | INIT_LIST_HEAD(&hid->inputs); |
821 | 822 | ||
@@ -828,7 +829,10 @@ int hidinput_connect(struct hid_device *hid) | |||
828 | if (i == hid->maxcollection) | 829 | if (i == hid->maxcollection) |
829 | return -1; | 830 | return -1; |
830 | 831 | ||
831 | for (k = HID_INPUT_REPORT; k <= HID_OUTPUT_REPORT; k++) | 832 | if (hid->quirks & HID_QUIRK_SKIP_OUTPUT_REPORTS) |
833 | max_report_type = HID_INPUT_REPORT; | ||
834 | |||
835 | for (k = HID_INPUT_REPORT; k <= max_report_type; k++) | ||
832 | list_for_each_entry(report, &hid->report_enum[k].report_list, list) { | 836 | list_for_each_entry(report, &hid->report_enum[k].report_list, list) { |
833 | 837 | ||
834 | if (!report->maxfield) | 838 | if (!report->maxfield) |