diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-04-28 18:33:50 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 03:22:15 -0400 |
commit | 4a490498643ea37520c315769b293085b6018ddd (patch) | |
tree | 0c1f8332f0611a4d5a0e3a8784a9518233ef2929 /drivers/pnp | |
parent | ca0e8b6fd29819891c874b86ff286987c5bfdc21 (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.c | 8 |
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; |
255 | err1: | ||
256 | kfree(dev_id); | ||
257 | err: | 253 | err: |
258 | kfree(dev); | 254 | kfree(dev); |
259 | return -EINVAL; | 255 | return -EINVAL; |