• Felipe Contreras's avatar
    ACPI / video: improve quirk check in acpi_video_bqc_quirk() · b3b301c5
    Felipe Contreras authored
    If the _BCL package ordering is descending, the first level
    (br->levels[2]) is likely to be 0, and if the number of levels
    matches the number of steps, we might confuse a returned level to
    mean the index.
    
    For example:
    
      current_level = max_level = 100
      test_level = 0
      returned level = 100
    
    In this case 100 means the level, not the index, and _BCM failed.
    Still, if the _BCL package ordering is descending, the index of
    level 0 is also 100, so we assume _BQC is indexed, when it's not.
    
    This causes all _BQC calls to return bogus values causing weird
    behavior from the user's perspective.  For example:
    
    xbacklight -set 10; xbacklight -set 20;
    
    would flash to 90% and then slowly down to the desired level (20).
    
    The solution is simple; test anything other than the first level
    (e.g. 1).
    
    [rjw: Changelog]
    Signed-off-by: default avatarFelipe Contreras <felipe.contreras@gmail.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    b3b301c5
video.c 49.6 KB