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

From: Christophe JAILLET
Date: Sat Aug 26 2023 - 13:43:28 EST


This serie 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 a proposal to be more future proof.


*Note*: I'm not 100% sure that the order of the functions is the best one in
thunderstrike_destroy(), but it is the way it was.

My personal preference would be to undo things in reverse order they are
allocated, such as:
led_classdev_unregister(&ts->led_dev);
power_supply_unregister(ts->base.battery_dev.psy);
if (ts->haptics_dev)
input_unregister_device(ts->haptics_dev);
ida_free(&thunderstrike_ida, ts->id);
This order was explicitly chnaged by 3ab196f88237, so, as I can't test the
changes on a real harware, I've left it as-is.

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 | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)

--
2.34.1