eeepc-laptop: don't assume get_acpi succeeds
authorFrans Klaver <fransklaver@gmail.com>
Wed, 22 Oct 2014 19:12:43 +0000 (21:12 +0200)
committerDarren Hart <dvhart@linux.intel.com>
Wed, 19 Nov 2014 17:07:08 +0000 (09:07 -0800)
In eeepc_hotk_thaw, we assume that get_acpi() will effectively return a
bool. However, it is possible that get_acpi() returns an error instead.
We should not be writing error values to the ACPI device, even though
it's quite possible that we couldn't contact the ACPI device in the
first place.

Signed-off-by: Frans Klaver <fransklaver@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/eeepc-laptop.c

index e87c134..8f9dc9c 100644 (file)
@@ -917,7 +917,7 @@ static int eeepc_hotk_thaw(struct device *device)
        struct eeepc_laptop *eeepc = dev_get_drvdata(device);
 
        if (eeepc->wlan_rfkill) {
-               bool wlan;
+               int wlan;
 
                /*
                 * Work around bios bug - acpi _PTS turns off the wireless led
@@ -925,7 +925,8 @@ static int eeepc_hotk_thaw(struct device *device)
                 * we should kick it ourselves in case hibernation is aborted.
                 */
                wlan = get_acpi(eeepc, CM_ASL_WLAN);
-               set_acpi(eeepc, CM_ASL_WLAN, wlan);
+               if (wlan >= 0)
+                       set_acpi(eeepc, CM_ASL_WLAN, wlan);
        }
 
        return 0;