Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 249135d1 authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Rafael J. Wysocki
Browse files

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: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 319e2e3f
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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,