Commit fc0ad6c7 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

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
parents ad81f054 9657a565
...@@ -323,6 +323,7 @@ static int acpi_memory_device_add(struct acpi_device *device, ...@@ -323,6 +323,7 @@ static int acpi_memory_device_add(struct acpi_device *device,
/* Get the range from the _CRS */ /* Get the range from the _CRS */
result = acpi_memory_get_device_resources(mem_device); result = acpi_memory_get_device_resources(mem_device);
if (result) { if (result) {
device->driver_data = NULL;
kfree(mem_device); kfree(mem_device);
return result; return result;
} }
......
...@@ -352,11 +352,13 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source) ...@@ -352,11 +352,13 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source)
mutex_lock(&acpi_scan_lock); mutex_lock(&acpi_scan_lock);
lock_device_hotplug(); lock_device_hotplug();
if (ost_source != ACPI_NOTIFY_BUS_CHECK) {
acpi_bus_get_device(handle, &device); acpi_bus_get_device(handle, &device);
if (device) { if (device) {
dev_warn(&device->dev, "Attempt to re-insert\n"); dev_warn(&device->dev, "Attempt to re-insert\n");
goto out; goto out;
} }
}
acpi_evaluate_hotplug_ost(handle, ost_source, acpi_evaluate_hotplug_ost(handle, ost_source,
ACPI_OST_SC_INSERT_IN_PROGRESS, NULL); ACPI_OST_SC_INSERT_IN_PROGRESS, NULL);
error = acpi_bus_scan(handle); error = acpi_bus_scan(handle);
...@@ -1981,6 +1983,9 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used, ...@@ -1981,6 +1983,9 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
if (acpi_bus_get_device(handle, &device)) if (acpi_bus_get_device(handle, &device))
return AE_CTRL_DEPTH; return AE_CTRL_DEPTH;
if (device->handler)
return AE_OK;
ret = acpi_scan_attach_handler(device); ret = acpi_scan_attach_handler(device);
if (ret) if (ret)
return ret > 0 ? AE_OK : AE_CTRL_DEPTH; return ret > 0 ? AE_OK : AE_CTRL_DEPTH;
......
...@@ -448,6 +448,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { ...@@ -448,6 +448,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13 - 2000 Notebook PC"), DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13 - 2000 Notebook PC"),
}, },
}, },
{
.callback = video_ignore_initial_backlight,
.ident = "Fujitsu E753",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "FUJITSU"),
DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E753"),
},
},
{ {
.callback = video_ignore_initial_backlight, .callback = video_ignore_initial_backlight,
.ident = "HP Pavilion dm4", .ident = "HP Pavilion dm4",
......
...@@ -180,7 +180,7 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res, ...@@ -180,7 +180,7 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res,
struct pnp_dev *dev = data; struct pnp_dev *dev = data;
struct acpi_resource_dma *dma; struct acpi_resource_dma *dma;
struct acpi_resource_vendor_typed *vendor_typed; struct acpi_resource_vendor_typed *vendor_typed;
struct resource r; struct resource r = {0};
int i, flags; int i, flags;
if (acpi_dev_resource_memory(res, &r) if (acpi_dev_resource_memory(res, &r)
......
...@@ -515,6 +515,7 @@ struct pnp_resource *pnp_add_resource(struct pnp_dev *dev, ...@@ -515,6 +515,7 @@ struct pnp_resource *pnp_add_resource(struct pnp_dev *dev,
} }
pnp_res->res = *res; pnp_res->res = *res;
pnp_res->res.name = dev->name;
dev_dbg(&dev->dev, "%pR\n", res); dev_dbg(&dev->dev, "%pR\n", res);
return pnp_res; return pnp_res;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment