Merge tag 'platform-drivers-x86-v4.17-4' of git://git.infradead.org/linux-platform-drivers-x86
Pull x86 platform driver fix from Andy Shevchenko: "Fix NULL pointer dereference in asus-wmi on rfkill cleanup. The effective change is just one new condition - two lines of code. But it required moving one static helper function, which is why the diff looks a bit bigger" * tag 'platform-drivers-x86-v4.17-4' of git://git.infradead.org/linux-platform-drivers-x86: platform/x86: asus-wmi: Fix NULL pointer dereference
This commit is contained in:
@@ -163,6 +163,16 @@ MODULE_LICENSE("GPL");
|
||||
|
||||
static const char * const ashs_ids[] = { "ATK4001", "ATK4002", NULL };
|
||||
|
||||
static bool ashs_present(void)
|
||||
{
|
||||
int i = 0;
|
||||
while (ashs_ids[i]) {
|
||||
if (acpi_dev_found(ashs_ids[i++]))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
struct bios_args {
|
||||
u32 arg0;
|
||||
u32 arg1;
|
||||
@@ -1025,6 +1035,9 @@ static int asus_new_rfkill(struct asus_wmi *asus,
|
||||
|
||||
static void asus_wmi_rfkill_exit(struct asus_wmi *asus)
|
||||
{
|
||||
if (asus->driver->wlan_ctrl_by_user && ashs_present())
|
||||
return;
|
||||
|
||||
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
|
||||
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
|
||||
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
|
||||
@@ -2121,16 +2134,6 @@ static int asus_wmi_fan_init(struct asus_wmi *asus)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool ashs_present(void)
|
||||
{
|
||||
int i = 0;
|
||||
while (ashs_ids[i]) {
|
||||
if (acpi_dev_found(ashs_ids[i++]))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* WMI Driver
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user