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

From: Rahul Rameshbabu
Date: Mon Sep 18 2023 - 07:58:57 EST


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