diff mbox

HID: hidraw: fix power sequence when closing device

Message ID 20170920013746.GA33367@dtor-ws (mailing list archive)
State New, archived
Headers show

Commit Message

Dmitry Torokhov Sept. 20, 2017, 1:37 a.m. UTC
We should not try to bring HID device out of full power state before
calling hid_hw_close(), so that transport driver operates on powered up
device (making this inverse of the opening sequence).

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/hid/hidraw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Guenter Roeck Sept. 20, 2017, 1:45 a.m. UTC | #1
On Tue, Sep 19, 2017 at 6:37 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> We should not try to bring HID device out of full power state before
> calling hid_hw_close(), so that transport driver operates on powered up
> device (making this inverse of the opening sequence).
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Reviewed-by: Guenter Roeck <groeck@chromium.org>

> ---
>  drivers/hid/hidraw.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
> index ec530454e6f6..5fbe0f81ab2e 100644
> --- a/drivers/hid/hidraw.c
> +++ b/drivers/hid/hidraw.c
> @@ -337,8 +337,8 @@ static void drop_ref(struct hidraw *hidraw, int exists_bit)
>                         kfree(hidraw);
>                 } else {
>                         /* close device for last reader */
> -                       hid_hw_power(hidraw->hid, PM_HINT_NORMAL);
>                         hid_hw_close(hidraw->hid);
> +                       hid_hw_power(hidraw->hid, PM_HINT_NORMAL);
>                 }
>         }
>  }
> --
> 2.14.1.821.g8fa685d3b7-goog
>
>
> --
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benson Leung Sept. 20, 2017, 6:37 a.m. UTC | #2
Hi Dmitry,

On Tue, Sep 19, 2017 at 06:37:46PM -0700, Dmitry Torokhov wrote:
> We should not try to bring HID device out of full power state before
> calling hid_hw_close(), so that transport driver operates on powered up
> device (making this inverse of the opening sequence).
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Reviewed-by: Benson Leung <bleung@chromium.org>
Jiri Kosina Oct. 2, 2017, 9:46 a.m. UTC | #3
On Tue, 19 Sep 2017, Dmitry Torokhov wrote:

> We should not try to bring HID device out of full power state before
> calling hid_hw_close(), so that transport driver operates on powered up
> device (making this inverse of the opening sequence).
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Applied to for-4.14/upstream-fixes. Thanks,
diff mbox

Patch

diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index ec530454e6f6..5fbe0f81ab2e 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -337,8 +337,8 @@  static void drop_ref(struct hidraw *hidraw, int exists_bit)
 			kfree(hidraw);
 		} else {
 			/* close device for last reader */
-			hid_hw_power(hidraw->hid, PM_HINT_NORMAL);
 			hid_hw_close(hidraw->hid);
+			hid_hw_power(hidraw->hid, PM_HINT_NORMAL);
 		}
 	}
 }