> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html