[PATCH 00/10] HID: hid-lenovo-go-s: Fix various bugs

Derek J. Clark posted 10 patches 1 week, 3 days ago
drivers/hid/hid-lenovo-go-s.c | 655 ++++++++++++++++++++++++----------
1 file changed, 473 insertions(+), 182 deletions(-)
[PATCH 00/10] HID: hid-lenovo-go-s: Fix various bugs
Posted by Derek J. Clark 1 week, 3 days ago
This series fixes various bugs in the hid-lenovo-go-s driver

Patch 1 fixes a dropped error on return from mcu_property_out()

Patch 2 creates a mechanism to ignore stale responses if they timed out
in the previous command.

Patch 3 fixes a deadlock if the device is removed while cfg_setup() is
running.

Patch 4 adds missing pm_ptr to the reset_resume function pointer.

Patch 5 adds a kobject_uevent notify during reset-resume to ensure the
os_mode return is caught by udev.

Patch 6 adds a suspend callback to cancel delayed work and re-queue the
cfg_setup if the device was suspended prior to or during the work.

Patch 7 moves attribute init to the end of cfg_setup, ensuring the
attributes can only be used once the MCU is ready.

Patch 8 reorganizes hid_gos_cfg and renamed it to gos_cfg_drvdata in
preparation for later fixes.

Patch 9 moves the static led_classdev to become a member of the drvdata
struct.

Patch 10 moved drvdata from a static global to a device allocated
struct.

Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>

Derek J. Clark (10):
  HID: hid-lenovo-go-s: Return ret instead of 0 in mcu_property_out()
  HID: hid-lenovo-go-s: Bound stale reply window before reusing
    send_cmd_complete
  HID: hid-lenovo-go-s: Prevent deadlock if device removed during setup
  HID: hid-lenovo-go-s: Use pm_ptr for reset_resume callback
  HID: hid-lenovo-go-s: Add kobject_uevent notify during reset-resume
  HID: hid-lenovo-go-s: Add suspend function and gate access under bool.
  HID: hid-lenovo-go-s: Move attribute init to after device query
  HID: hid-lenovo-go-s: Reorganize and rename hid_gos_cfg
  HID: hid-lenovo-go-s: Move static led_classdev_mc to drvdata struct
  HID: hid-lenovo-go-s: Use devm_kzalloc for drvdata

 drivers/hid/hid-lenovo-go-s.c | 655 ++++++++++++++++++++++++----------
 1 file changed, 473 insertions(+), 182 deletions(-)

-- 
2.55.0