[PATCH v3 0/3] HID: nvidia-shield: Fix the error handling path of shield_probe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series fixes some missing clean-up function calls in the error handling of
the probe.

Patch 1 and 2 fix some similar issues introduced in 2 different commits (hence 2
patches)

Patch 3 is an enhancement that creates a common function for cleaning up
thunderstrike instances.

Changes:

  v1->v2:
    - Add the LED_RETAIN_AT_SHUTDOWN flag to prevent
      led_classdev_unregister from trying to set the LED to off before a
      successful call to hid_hw_start.
    - Rename err_haptics label to err_ts_create to make the label name more
      accurate.
    - Re-order operations in thunderstrike_destroy to be in LIFO order with
      regards to the operations in thunderstrike_create.
  v2->v3:
    - Refactor thunderstrike_destroy to take a thunderstrike instance
      pointer as a parameter and prevent a variable from being unused
      in shield_probe.

Link: https://lore.kernel.org/linux-input/cover.1693070958.git.christophe.jaillet@xxxxxxxxxx/
Link: https://lore.kernel.org/linux-input/20230918041345.59859-1-rrameshbabu@xxxxxxxxxx/

Notes from Rahul:
  - Thank you so much Christophe for these patches.
  - Sent v2 without accounting for the fact that thunderstrike_destroy in v1
    makes the thunderstrike instance in shield_probe unused. Tested v3 with W=1.

Christophe JAILLET (3):
  HID: nvidia-shield: Fix a missing led_classdev_unregister() in the
    probe error handling path
  HID: nvidia-shield: Fix some missing function calls() in the probe
    error handling path
  HID: nvidia-shield: Introduce thunderstrike_destroy()

 drivers/hid/hid-nvidia-shield.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

-- 
2.40.1




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux