PNPACPI: check return value of pnp_add_device()
Subsystems (2)
PATCH 1/1 PNPACPI: check return value of pnp_add_device()
pnp_add_device() may fail so we need to handle errors and avoid leaking memory. Also, do not use ACPI-specific return codes (AE_OK) but rather standard one (0).
Signed-off-by Dmitry Torokhov <[email protected]>
--- drivers/pnp/pnpacpi/core.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
drivers/pnp/pnpacpi/core.c +9 -2
@@ -242,6 +242,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)struct pnp_dev *dev;char *pnpid;struct acpi_hardware_id *id; +int error;/* Skip devices that are already bound */ if (device->physical_node_count)
@@ -300,10 +301,16 @@ static int __init pnpacpi_add_device(struct acpi_device *device)/* clear out the damaged flags */ if (!dev->active)pnp_init_resources (dev); -pnp_add_device (dev); + + error =pnp_add_device (dev); +if (error) { +put_device (&dev->dev); +return error; + } + num++; -return AE_OK ; +return 0 ; } static acpi_status __init pnpacpi_add_device_handler(acpi_handle handle,
Signature · 5 lines
1.8.3.1 -- Dmitry