• Yurii Pavlovskyi's avatar
    platform/x86: asus-wmi: Increase input buffer size of WMI methods · 98e865a5
    Yurii Pavlovskyi authored
    The asus-nb-wmi driver is matched by WMI alias but fails to load on TUF
    Gaming series laptops producing multiple ACPI errors in the kernel log.
    
    The input buffer for WMI method invocation size is 2 dwords, whereas
    3 are expected by this model.
    
    FX505GM:
    ..
    Method (WMNB, 3, Serialized)
    {
        P8XH (Zero, 0x11)
        CreateDWordField (Arg2, Zero, IIA0)
        CreateDWordField (Arg2, 0x04, IIA1)
        CreateDWordField (Arg2, 0x08, IIA2)
        Local0 = (Arg1 & 0xFFFFFFFF)
        ...
    
    Compare with older K54C:
    ...
    Method (WMNB, 3, NotSerialized)
    {
        CreateDWordField (Arg2, 0x00, IIA0)
        CreateDWordField (Arg2, 0x04, IIA1)
        Local0 = (Arg1 & 0xFFFFFFFF)
        ...
    
    Increase buffer size to 3 dwords. No negative consequences of this change
    are expected, as the input buffer size is not verified. The original
    function is replaced by a wrapper for a new method passing value 0 for the
    last parameter. The new function will be used to control RGB keyboard
    backlight.
    Signed-off-by: default avatarYurii Pavlovskyi <yurii.pavlovskyi@gmail.com>
    Reviewed-by: default avatarDaniel Drake <drake@endlessm.com>
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    98e865a5
asus-wmi.c 56 KB