Browse Source

ACPI / gpio: add missing fwnode_handle_put() in acpi_gpiochip_scan_gpios()

fwnode_handle_put() should be used when terminating
device_for_each_child_node() iteration with break or
return to prevent stale device node references from
being left behind.

This is detected by Coccinelle semantic patch.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Wei Yongjun 8 năm trước cách đây
mục cha
commit
1b6998c96c
1 tập tin đã thay đổi với 1 bổ sung0 xóa
  1. 1 0
      drivers/gpio/gpiolib-acpi.c

+ 1 - 0
drivers/gpio/gpiolib-acpi.c

@@ -922,6 +922,7 @@ static void acpi_gpiochip_scan_gpios(struct acpi_gpio_chip *achip)
 		ret = gpiod_hog(desc, name, lflags, dflags);
 		if (ret) {
 			dev_err(chip->parent, "Failed to hog GPIO\n");
+			fwnode_handle_put(fwnode);
 			return;
 		}
 	}