> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 9e8064205bc7..5205ebb76cd2 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -840,6 +840,15 @@ struct hid_report *hid_validate_values(struct > hid_device *h > * drivers go to access report values. > */ > report = hid->report_enum[type].report_id_hash[id]; > + if (!report && id == 0) { > + /* > + * Requesting id 0 means we should fall back to the first > + * report in the list. > + */ > + report = list_entry( > + hid->report_enum[type].report_list.next, > + struct hid_report, list); > + } > if (!report) { > hid_err(hid, "missing %s %u\n", hid_report_names[type], > id); > return NULL; > > Alternatively, should hid_register_report add a default to the hash > instead, so no change to hid_validate_values is needed? > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 9e8064205bc7..5d07124457ba 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -80,6 +80,8 @@ struct hid_report *hid_register_report(struct hid_device > *devi > report->size = 0; > report->device = device; > report_enum->report_id_hash[id] = report; > + if (!report_enum->report_id_hash[0]) > + report_enum->report_id_hash[0] = report; > > list_add_tail(&report->list, &report_enum->report_list); > > > > -Kees I tried this patch last night and saw Kernel Panics on controller insertion and/or removal.... And just noticed that you have another more recent one, so I'll try that tonight. My bad :-( Simon. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html