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

From: Rahul Rameshbabu
Date: Sun Aug 27 2023 - 15:42:43 EST


On Sat, 26 Aug, 2023 19:42:16 +0200 Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:
> 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.
>

I really appreciate the contribution.

>
> *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.

I agree with this proposal. Let's clean this up in the patch that
implements thunderstrike_destroy. The order change in 3ab196f88237 is
more a matter of sloppiness rather than due to handling some functional
side effect that requires the order change.

>
> 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(-)

--
Thanks,

Rahul Rameshbabu