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 <dmitry.torokhov@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
319e2e3f63
Коммит
249135d1a2
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче