.bind_info in active_list[] is NULL by construction - and used to determine
the acpi_video_device pointer during backlight restoration during resume.
Using the list instead fixes backlight restoration for systems where the BIOS
doesn't do this by itself already.
Signed-off-by: Matthias Hopf <mhopf@suse.de>
---
drivers/acpi/video.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
@@ -2346,7 +2346,6 @@ static int acpi_video_resume(struct notifier_block *nb,
{
struct acpi_video_bus *video;
struct acpi_video_device *video_device;
- int i;
switch (val) {
case PM_HIBERNATION_PREPARE:
@@ -2359,11 +2358,12 @@ static int acpi_video_resume(struct notifier_block *nb,
dev_info(&video->device->dev, "Restoring backlight state\n");
- for (i = 0; i < video->attached_count; i++) {
- video_device = video->attached_array[i].bind_info;
+ mutex_lock(&video->device_list_lock);
+ list_for_each_entry(video_device, &video->video_device_list, entry) {
if (video_device && video_device->backlight)
acpi_video_set_brightness(video_device->backlight);
}
+ mutex_unlock(&video->device_list_lock);
return NOTIFY_OK;
}
--
1.6.0.2
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html