aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pnp
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2008-04-28 18:33:50 -0400
committerLen Brown <len.brown@intel.com>2008-04-29 03:22:15 -0400
commit4a490498643ea37520c315769b293085b6018ddd (patch)
tree0c1f8332f0611a4d5a0e3a8784a9518233ef2929 /drivers/pnp
parentca0e8b6fd29819891c874b86ff286987c5bfdc21 (diff)
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>
Diffstat (limited to 'drivers/pnp')
-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)
213 &dev->res); 213 &dev->res);
214 if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { 214 if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
215 pnp_err("PnPACPI: METHOD_NAME__CRS failure for %s", 215 pnp_err("PnPACPI: METHOD_NAME__CRS failure for %s",
216 dev_id->id); 216 acpi_device_hid(device));
217 goto err1;
218 } 217 }
219 } 218 }
220 219
@@ -223,8 +222,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
223 dev); 222 dev);
224 if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { 223 if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
225 pnp_err("PnPACPI: METHOD_NAME__PRS failure for %s", 224 pnp_err("PnPACPI: METHOD_NAME__PRS failure for %s",
226 dev_id->id); 225 acpi_device_hid(device));
227 goto err1;
228 } 226 }
229 } 227 }
230 228
@@ -252,8 +250,6 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
252 num++; 250 num++;
253 251
254 return AE_OK; 252 return AE_OK;
255err1:
256 kfree(dev_id);
257err: 253err:
258 kfree(dev); 254 kfree(dev);
259 return -EINVAL; 255 return -EINVAL;