Re: [PATCH] ACPI / video: check _DOD list when creating backlight device

From: Brian Norris
Date: Fri Nov 28 2014 - 04:59:44 EST


On Thu, Oct 09, 2014 at 04:27:55PM +0800, Aaron Lu wrote:
> On 10/01/2014 04:18 AM, Rafael J. Wysocki wrote:
> > On Tuesday, September 30, 2014 02:10:17 PM Aaron Lu wrote:
> >> The _DOD method lists which video output device is currently attached so
> >> we should only care about them and ignore others. An user recently
> >> reported that there are two acpi_video interfaces appeared on his system
> >> and one of them doesn't work. From the acpidump, it is found that there
> >> are more than one video output devices that have _BCM control method but
> >> the _DOD lists only one of them. So this patch checks if the video output
> >> device is in the _DOD list and will not create backlight device if it is
> >> not in the list. Also, we consider the broken _DOD case(reflected by the
> >> video->attached_count is 0) and do not change behaviour for those broken
> >> _DOD systems.
> >>
> >> Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=84111
> >> Reported-and-tested-by: ntrrgc@xxxxxxxxx
> >> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx>
> >
> > This looks reasonable to me, but I'm a little afraid that it may break
> > systems which forget to list valid interfaces in the _DOD.
>
> Indeed, this is possible.

And indeed, there is a regression! My Dell Latituded E6410's backlight
control no longer works after this commit, and I get messages like this
instead:

[ 57.214610] ACPI: Failed to switch the brightness

If I revert this commit, my backlight controls work again. Also, I
regain a cooling device (?) that was being ignored:

[ 1.332682] acpi device:02: registered as cooling_device0

Do you need any additional info to handle the regression, or should we
just revert the patch?

Brian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/