ACPI / container: Fix error code path in container_device_attach()
To avoid leaking memory on errors from device_register(), do a
put_device() on the device object in question in the error code
path of container_device_attach().
Fixes: caa73ea158
(ACPI / hotplug / driver core: Handle containers in a special way)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
This commit is contained in:
Родитель
8fcfb99c8e
Коммит
0f6aa09e40
|
@ -79,9 +79,10 @@ static int container_device_attach(struct acpi_device *adev,
|
||||||
ACPI_COMPANION_SET(dev, adev);
|
ACPI_COMPANION_SET(dev, adev);
|
||||||
dev->release = acpi_container_release;
|
dev->release = acpi_container_release;
|
||||||
ret = device_register(dev);
|
ret = device_register(dev);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
put_device(dev);
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
adev->driver_data = dev;
|
adev->driver_data = dev;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче