diff options
-rw-r--r-- | drivers/platform/x86/asus-wmi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index d0f0931ea5eb..39ce3c1a7712 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c | |||
@@ -92,6 +92,7 @@ MODULE_LICENSE("GPL"); | |||
92 | 92 | ||
93 | /* DSTS masks */ | 93 | /* DSTS masks */ |
94 | #define ASUS_WMI_DSTS_STATUS_BIT 0x00000001 | 94 | #define ASUS_WMI_DSTS_STATUS_BIT 0x00000001 |
95 | #define ASUS_WMI_DSTS_UNKNOWN_BIT 0x00000002 | ||
95 | #define ASUS_WMI_DSTS_PRESENCE_BIT 0x00010000 | 96 | #define ASUS_WMI_DSTS_PRESENCE_BIT 0x00010000 |
96 | #define ASUS_WMI_DSTS_BRIGHTNESS_MASK 0x000000FF | 97 | #define ASUS_WMI_DSTS_BRIGHTNESS_MASK 0x000000FF |
97 | #define ASUS_WMI_DSTS_MAX_BRIGTH_MASK 0x0000FF00 | 98 | #define ASUS_WMI_DSTS_MAX_BRIGTH_MASK 0x0000FF00 |
@@ -270,6 +271,11 @@ static int asus_wmi_get_devstate_bits(u32 dev_id, u32 mask) | |||
270 | if (!(retval & ASUS_WMI_DSTS_PRESENCE_BIT)) | 271 | if (!(retval & ASUS_WMI_DSTS_PRESENCE_BIT)) |
271 | return -ENODEV; | 272 | return -ENODEV; |
272 | 273 | ||
274 | if (mask == ASUS_WMI_DSTS_STATUS_BIT) { | ||
275 | if (retval & ASUS_WMI_DSTS_UNKNOWN_BIT) | ||
276 | return -ENODEV; | ||
277 | } | ||
278 | |||
273 | return retval & mask; | 279 | return retval & mask; |
274 | } | 280 | } |
275 | 281 | ||