Re: [PATCH] HID: hid-input: allow input_configured callback return errors

Nikolai Kondrashov
2015-09-26T17:49:11Z

On 09/26/2015 02:14 AM, Dmitry Torokhov wrote:
> When configuring input device via input_configured callback we may
> encounter errors (for example input_mt_init_slots() may fail). Instead
> of continuing with half-initialized input device let's allow driver
> indicate failures.
>
> diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c
> index b905d50..85ac435 100644
> --- a/drivers/hid/hid-uclogic.c
> +++ b/drivers/hid/hid-uclogic.c
> @@ -731,7 +731,7 @@ static int uclogic_input_mapping(struct hid_device *hdev, struct hid_input *hi,
> return 0;
> }
>
> -static void uclogic_input_configured(struct hid_device *hdev,
> +static int uclogic_input_configured(struct hid_device *hdev,
> struct hid_input *hi)
> {
> char *name;
> @@ -741,7 +741,7 @@ static void uclogic_input_configured(struct hid_device *hdev,
>
> /* no report associated (HID_QUIRK_MULTI_INPUT not set) */
> if (!hi->report)
> - return;
> + return 0;
>
> field = hi->report->field[0];
>
> @@ -774,6 +774,8 @@ static void uclogic_input_configured(struct hid_device *hdev,
> hi->input->name = name;
> }
> }
> +
> + return 0;
> }
>
> /**

The hid-uclogic.c change looks perfectly fine to me.

Thank you, Dmitri.

The next step would be to report devm_kzalloc failure instead of ignoring it.

Nick