diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-07-18 15:46:51 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-07-18 15:46:51 -0400 |
commit | fc0ad6c7bb8c331bb0f20259d82e81318b0053be (patch) | |
tree | b91f25b7cefd2aa73f8b19652d15861a9d0e485a | |
parent | ad81f0545ef01ea651886dddac4bef6cec930092 (diff) | |
parent | 9657a565a476d517451c10b0bcc106e300785aff (diff) |
Merge branch 'acpi-fixes'
* acpi-fixes:
ACPI / video: ignore BIOS initial backlight value for Fujitsu E753
PNP / ACPI: avoid garbage in resource name
ACPI / memhotplug: Fix a stale pointer in error path
ACPI / scan: Always call acpi_bus_scan() for bus check notifications
ACPI / scan: Do not try to attach scan handlers to devices having them
-rw-r--r-- | drivers/acpi/acpi_memhotplug.c | 1 | ||||
-rw-r--r-- | drivers/acpi/scan.c | 13 | ||||
-rw-r--r-- | drivers/acpi/video.c | 8 | ||||
-rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 2 | ||||
-rw-r--r-- | drivers/pnp/resource.c | 1 |
5 files changed, 20 insertions, 5 deletions
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c index c711d1144044..999adb5499c7 100644 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c | |||
@@ -323,6 +323,7 @@ static int acpi_memory_device_add(struct acpi_device *device, | |||
323 | /* Get the range from the _CRS */ | 323 | /* Get the range from the _CRS */ |
324 | result = acpi_memory_get_device_resources(mem_device); | 324 | result = acpi_memory_get_device_resources(mem_device); |
325 | if (result) { | 325 | if (result) { |
326 | device->driver_data = NULL; | ||
326 | kfree(mem_device); | 327 | kfree(mem_device); |
327 | return result; | 328 | return result; |
328 | } | 329 | } |
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 10985573aaa7..8a46c924effd 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
@@ -352,10 +352,12 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source) | |||
352 | mutex_lock(&acpi_scan_lock); | 352 | mutex_lock(&acpi_scan_lock); |
353 | lock_device_hotplug(); | 353 | lock_device_hotplug(); |
354 | 354 | ||
355 | acpi_bus_get_device(handle, &device); | 355 | if (ost_source != ACPI_NOTIFY_BUS_CHECK) { |
356 | if (device) { | 356 | acpi_bus_get_device(handle, &device); |
357 | dev_warn(&device->dev, "Attempt to re-insert\n"); | 357 | if (device) { |
358 | goto out; | 358 | dev_warn(&device->dev, "Attempt to re-insert\n"); |
359 | goto out; | ||
360 | } | ||
359 | } | 361 | } |
360 | acpi_evaluate_hotplug_ost(handle, ost_source, | 362 | acpi_evaluate_hotplug_ost(handle, ost_source, |
361 | ACPI_OST_SC_INSERT_IN_PROGRESS, NULL); | 363 | ACPI_OST_SC_INSERT_IN_PROGRESS, NULL); |
@@ -1981,6 +1983,9 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used, | |||
1981 | if (acpi_bus_get_device(handle, &device)) | 1983 | if (acpi_bus_get_device(handle, &device)) |
1982 | return AE_CTRL_DEPTH; | 1984 | return AE_CTRL_DEPTH; |
1983 | 1985 | ||
1986 | if (device->handler) | ||
1987 | return AE_OK; | ||
1988 | |||
1984 | ret = acpi_scan_attach_handler(device); | 1989 | ret = acpi_scan_attach_handler(device); |
1985 | if (ret) | 1990 | if (ret) |
1986 | return ret > 0 ? AE_OK : AE_CTRL_DEPTH; | 1991 | return ret > 0 ? AE_OK : AE_CTRL_DEPTH; |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 5d7075d25700..e441876f5d5b 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -450,6 +450,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { | |||
450 | }, | 450 | }, |
451 | { | 451 | { |
452 | .callback = video_ignore_initial_backlight, | 452 | .callback = video_ignore_initial_backlight, |
453 | .ident = "Fujitsu E753", | ||
454 | .matches = { | ||
455 | DMI_MATCH(DMI_BOARD_VENDOR, "FUJITSU"), | ||
456 | DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E753"), | ||
457 | }, | ||
458 | }, | ||
459 | { | ||
460 | .callback = video_ignore_initial_backlight, | ||
453 | .ident = "HP Pavilion dm4", | 461 | .ident = "HP Pavilion dm4", |
454 | .matches = { | 462 | .matches = { |
455 | DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), | 463 | DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), |
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index 9847ab163829..167f3d00c916 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c | |||
@@ -180,7 +180,7 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res, | |||
180 | struct pnp_dev *dev = data; | 180 | struct pnp_dev *dev = data; |
181 | struct acpi_resource_dma *dma; | 181 | struct acpi_resource_dma *dma; |
182 | struct acpi_resource_vendor_typed *vendor_typed; | 182 | struct acpi_resource_vendor_typed *vendor_typed; |
183 | struct resource r; | 183 | struct resource r = {0}; |
184 | int i, flags; | 184 | int i, flags; |
185 | 185 | ||
186 | if (acpi_dev_resource_memory(res, &r) | 186 | if (acpi_dev_resource_memory(res, &r) |
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c index 3e6db1c1dc29..d95e101ffb43 100644 --- a/drivers/pnp/resource.c +++ b/drivers/pnp/resource.c | |||
@@ -515,6 +515,7 @@ struct pnp_resource *pnp_add_resource(struct pnp_dev *dev, | |||
515 | } | 515 | } |
516 | 516 | ||
517 | pnp_res->res = *res; | 517 | pnp_res->res = *res; |
518 | pnp_res->res.name = dev->name; | ||
518 | dev_dbg(&dev->dev, "%pR\n", res); | 519 | dev_dbg(&dev->dev, "%pR\n", res); |
519 | return pnp_res; | 520 | return pnp_res; |
520 | } | 521 | } |