summaryrefslogtreecommitdiff
path: root/drivers/pnp/pnpacpi/core.c
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2012-04-14 09:13:39 -0500
committerClark Williams <williams@redhat.com>2012-04-14 09:13:39 -0500
commit4905660cd237e4c4ede46920851caa12739f006f (patch)
treeef37e7c9f52c9ae9c2b206658556f37d67fe43eb /drivers/pnp/pnpacpi/core.c
parent1b5e39fc18a1b8ff7ea425ce5f49307cb28a880f (diff)
parent0147c2ae9d602b5791dae30322ece475271acd10 (diff)
Merge commit 'v3.2.15' into rt-3.2.15-rt24v3.2.15-rt24
Diffstat (limited to 'drivers/pnp/pnpacpi/core.c')
-rw-r--r--drivers/pnp/pnpacpi/core.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index b00c17612a89..d21e8f59c84e 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -321,9 +321,14 @@ static int __init acpi_pnp_match(struct device *dev, void *_pnp)
{
struct acpi_device *acpi = to_acpi_device(dev);
struct pnp_dev *pnp = _pnp;
+ struct device *physical_device;
+
+ physical_device = acpi_get_physical_device(acpi->handle);
+ if (physical_device)
+ put_device(physical_device);
/* true means it matched */
- return !acpi_get_physical_device(acpi->handle)
+ return !physical_device
&& compare_pnp_id(pnp->id, acpi_device_hid(acpi));
}