summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2008-04-28 16:33:50 -0600
committerLen Brown <len.brown@intel.com>2008-04-29 03:22:15 -0400
commit4a490498643ea37520c315769b293085b6018ddd (patch)
tree0c1f8332f0611a4d5a0e3a8784a9518233ef2929
parentca0e8b6fd29819891c874b86ff286987c5bfdc21 (diff)
downloadlinux-4a490498643ea37520c315769b293085b6018ddd.tar.bz2
PNPACPI: continue after _CRS and _PRS errors
Keep going and register the device even if we have trouble parsing _CRS or _PRS. A parsing problem might mean we ignore some resources the device is using, or we might not be able to change its resources. But we should still take note of anything we *could* parse correctly. Also remove reference to dev_id because I plan to remove it soon. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--drivers/pnp/pnpacpi/core.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index c283a9a70d83..53f91068d0b0 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -213,8 +213,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
&dev->res);
if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
pnp_err("PnPACPI: METHOD_NAME__CRS failure for %s",
- dev_id->id);
- goto err1;
+ acpi_device_hid(device));
}
}
@@ -223,8 +222,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
dev);
if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
pnp_err("PnPACPI: METHOD_NAME__PRS failure for %s",
- dev_id->id);
- goto err1;
+ acpi_device_hid(device));
}
}
@@ -252,8 +250,6 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
num++;
return AE_OK;
-err1:
- kfree(dev_id);
err:
kfree(dev);
return -EINVAL;