Skip to content

Commit

Permalink
HID: alps: fix stick device not working after resume
Browse files Browse the repository at this point in the history
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.

This has been discovered by pure guesswork, based on how the existing code uses
U1_TP_ABS_MODE flag on both initialization and resume.

I also tested the the patch on an ALPS touchpad without stick device, did not
notice any side effect on suspend/resume, so I made the U1_SP_ABS_MODE flag
mandatory.

[[email protected]: made changelog more verbose]
Signed-off-by: Kai-Heng Feng <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
  • Loading branch information
khfeng authored and Jiri Kosina committed Sep 22, 2016
1 parent 7ee2eaa commit 04fd4cb
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/hid/hid-alps.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,13 +245,13 @@ static int alps_raw_event(struct hid_device *hdev,
static int alps_post_reset(struct hid_device *hdev)
{
return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
NULL, U1_TP_ABS_MODE, false);
NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
}

static int alps_post_resume(struct hid_device *hdev)
{
return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
NULL, U1_TP_ABS_MODE, false);
NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
}
#endif /* CONFIG_PM */

Expand Down

0 comments on commit 04fd4cb

Please sign in to comment.