linux/drivers/pnp/pnpacpi
Rafael J. Wysocki b6328a07bd ACPI / PNP: Fix acpi_pnp_match()
The acpi_pnp_match() function is used for finding the ACPI device
object that should be associated with the given PNP device.
Unfortunately, the check used by that function is not strict enough
and may cause success to be returned for a wrong ACPI device object.

To fix that, use the observation that the pointer to the ACPI
device object in question is already stored in the data field
in struct pnp_dev, so acpi_pnp_match() can simply use that
field to do its job.

This problem was uncovered in 3.14 by commit 202317a573 (ACPI / scan:
Add acpi_device objects for all device nodes in the namespace).

Fixes: 202317a573 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
Reported-and-tested-by: Vinson Lee <vlee@twopensource.com>
Cc: 3.14+ <stable@vger.kernel.org> # 3.14+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-07-30 00:23:09 +02:00
..
core.c ACPI / PNP: Fix acpi_pnp_match() 2014-07-30 00:23:09 +02:00
Kconfig ACPI: always enable CONFIG_PNPACPI on CONFIG_ACPI kernels 2007-02-15 22:38:04 -05:00
Makefile PNP: Compile all pnp built-in stuff in one module namespace 2010-10-27 02:23:44 -04:00
pnpacpi.h ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
rsparser.c PNP / ACPI: proper handling of ACPI IO/Memory resource parsing failures 2014-03-11 21:22:10 +01:00