Re: [PATCH] HID: asus: Stop underlying hardware on remove

From: Benjamin Tissoires
Date: Fri Jun 02 2017 - 03:31:31 EST


On May 30 2017 or thereabouts, Carlo Caione wrote:
> From: Carlo Caione <carlo@xxxxxxxxxxxx>
>
> We are missing a call to hid_hw_stop() on the remove hook.
> Among other things this is causing an Oops when (re-)starting GNOME /
> upowerd / ... after the module has been already rmmod-ed.

Good catch:
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>

Cheers,
Benjamin

>
> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx>
> ---
> drivers/hid/hid-asus.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
> index 16df6cc..2e9642d 100644
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@ -536,6 +536,8 @@ static void asus_remove(struct hid_device *hdev)
> drvdata->kbd_backlight->removed = true;
> cancel_work_sync(&drvdata->kbd_backlight->work);
> }
> +
> + hid_hw_stop(hdev);
> }
>
> static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
> --
> 2.9.3
>