gpiolib: Put fwnode reference on failure
PATCH 1/1 gpiolib: Put fwnode reference on failure
We get a reference to the fwnode handle which we pass to gpio_shared_make_ref. In case it fails we do not put the reference. Fix by putting the reference in the failure case
Signed-off-by Michail Tatas <[email protected]>
--- drivers/gpio/gpiolib-shared.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/gpio/gpiolib-shared.c +6 -3
@@ -261,10 +261,13 @@ static int gpio_shared_of_traverse(struct device_node *curr) con_id[con_id_len - suffix_len] ='\0' ; } - ref =gpio_shared_make_ref (fwnode_handle_get (of_fwnode_handle (curr)), - con_id, args.args[1 ]); -if (!ref) +struct fwnode_handle *curr_fwnode = +fwnode_handle_get (of_fwnode_handle (curr)); + ref =gpio_shared_make_ref (curr_fwnode, con_id, args.args[1 ]); +if (!ref) { +fwnode_handle_put (curr_fwnode);return -ENOMEM ; + }if (!list_empty (&entry->refs)) pr_debug("GPIO %u at %s is shared by multiple firmware nodes\n",
Signature · 1 line
2.43.0
Bartosz Golaszewski
maintainerQuoted 6 lines · Michail Tatas
We get a reference to the fwnode handle which we pass to
gpio_shared_make_ref. In case it fails we do not put the reference. Fix by putting the reference in the failure caseSigned-off-by Michail Tatas <[email protected]>---
Can you add the Fixes: and Cc: stable tags please?
Bart