Browse Source

Merge tag 'platform-drivers-x86-v4.17-2' of git://git.infradead.org/linux-platform-drivers-x86

Pull x86 platform driver fixes from Darren Hart:

 - We missed a case in the Dell config dependencies resulting in a
   possible bad configuration, resolve it by giving up on trying to keep
   DELL_LAPTOP visible in the menu and make it depend on DELL_SMBIOS.

 - Fix a null pointer dereference at module unload for the asus-wireless
   driver.

* tag 'platform-drivers-x86-v4.17-2' of git://git.infradead.org/linux-platform-drivers-x86:
  platform/x86: Kconfig: Fix dell-laptop dependency chain.
  platform/x86: asus-wireless: Fix NULL pointer dereference
Linus Torvalds 7 years ago
parent
commit
ee946c36be
2 changed files with 4 additions and 2 deletions
  1. 1 1
      drivers/platform/x86/Kconfig
  2. 3 1
      drivers/platform/x86/asus-wireless.c

+ 1 - 1
drivers/platform/x86/Kconfig

@@ -154,7 +154,7 @@ config DELL_LAPTOP
 	depends on ACPI_VIDEO || ACPI_VIDEO = n
 	depends on ACPI_VIDEO || ACPI_VIDEO = n
 	depends on RFKILL || RFKILL = n
 	depends on RFKILL || RFKILL = n
 	depends on SERIO_I8042
 	depends on SERIO_I8042
-	select DELL_SMBIOS
+	depends on DELL_SMBIOS
 	select POWER_SUPPLY
 	select POWER_SUPPLY
 	select LEDS_CLASS
 	select LEDS_CLASS
 	select NEW_LEDS
 	select NEW_LEDS

+ 3 - 1
drivers/platform/x86/asus-wireless.c

@@ -178,8 +178,10 @@ static int asus_wireless_remove(struct acpi_device *adev)
 {
 {
 	struct asus_wireless_data *data = acpi_driver_data(adev);
 	struct asus_wireless_data *data = acpi_driver_data(adev);
 
 
-	if (data->wq)
+	if (data->wq) {
+		devm_led_classdev_unregister(&adev->dev, &data->led);
 		destroy_workqueue(data->wq);
 		destroy_workqueue(data->wq);
+	}
 	return 0;
 	return 0;
 }
 }