mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
tas2781_read_acpi() gets a reference to the matching ACPI device and then
looks up its first physical device node. After taking a reference to the
physical device, it immediately drops the ACPI device reference.
However, every later failure jumps to an error path that drops the ACPI
device reference a second time. This unbalances the reference count and
may prematurely release the ACPI device.
In addition, acpi_get_first_physical_node() may return NULL. Without a
check, the driver passes the NULL physical device to the property helper
calls and may dereference it.
Return -ENODEV when no physical device is associated with the ACPI node,
and remove the duplicate acpi_dev_put() from the common error path.
Fixes:
|
||
|---|---|---|
| .. | ||
| codecs | ||
| common | ||
| controllers | ||
| core | ||
| Kconfig | ||
| Makefile | ||