linux/drivers/pnp
Rafael J. Wysocki f7934771a2 ACPI / PNP: Fix acpi_pnp_match()
commit b6328a07bd upstream.

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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-07 14:52:37 -07:00
..
isapnp isapnp: switch to fixed_size_llseek() 2013-06-29 12:57:48 +04:00
pnpacpi ACPI / PNP: Fix acpi_pnp_match() 2014-08-07 14:52:37 -07:00
pnpbios PNPBIOS: check return value of pnp_add_device() 2014-01-07 00:16:37 +01:00
base.h PNP: convert bus code to use dev_groups 2013-10-16 18:36:02 -07:00
card.c PNP / card: add missing put_device() call 2014-01-05 22:50:06 +01:00
core.c Merge branch 'pnp' into release 2011-01-12 04:59:44 -05:00
driver.c PNP: fix restoring devices after hibernation 2013-12-05 02:01:55 +01:00
interface.c PNP: convert bus code to use dev_groups 2013-10-16 18:36:02 -07:00
Kconfig
Makefile PNP: Compile all pnp built-in stuff in one module namespace 2010-10-27 02:23:44 -04:00
manager.c pnp: restore automatic resolution of DMA conflicts 2013-05-22 00:21:02 +02:00
quirks.c PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB 2012-01-06 12:11:20 -08:00
resource.c PNP: Mark the function pnp_build_option() as static in resource.c 2014-01-06 00:24:54 +01:00
support.c PNPACPI: add bus number support 2010-03-14 20:08:38 -04:00
system.c vsprintf: use %pR, %pr instead of %pRt, %pRf 2009-11-04 13:06:41 -08:00