diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-01-08 11:29:12 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-12 16:52:25 +0100 |
commit | 5718d27fc9a076ca397ea8c3d70e29969be24b9b (patch) | |
tree | cee1ba3d70f3c3ea2f0c82baac38b82ba4a98eb8 /drivers/net/wireless/iwlwifi/dvm/commands.h | |
parent | Merge remote-tracking branch 'wireless-next/master' into iwlwifi-next (diff) | |
download | linux-5718d27fc9a076ca397ea8c3d70e29969be24b9b.tar.xz linux-5718d27fc9a076ca397ea8c3d70e29969be24b9b.zip |
iwlwifi: dvm: query and report WoWLAN wakeup reason
Implement proper WoWLAN wakeup and query the wakeup
reasons, then report them to userspace.
Note that this is tricky: a firmware bug (that has
been fixed in later versions) means that the status
command response isn't properly closed in hardware
and thus won't arrive at the host. Sending another
command after it closes the status response but the
next command gets stuck, etc. We reset the device
after querying though, so this is not a big issue,
just makes for strange code.
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/dvm/commands.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/dvm/commands.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/commands.h b/drivers/net/wireless/iwlwifi/dvm/commands.h index 8bce4b0148e0..02c9ebb3b340 100644 --- a/drivers/net/wireless/iwlwifi/dvm/commands.h +++ b/drivers/net/wireless/iwlwifi/dvm/commands.h @@ -3897,6 +3897,24 @@ struct iwlagn_wowlan_kek_kck_material_cmd { __le64 replay_ctr; } __packed; +#define RF_KILL_INDICATOR_FOR_WOWLAN 0x87 + +/* + * REPLY_WOWLAN_GET_STATUS = 0xe5 + */ +struct iwlagn_wowlan_status { + __le64 replay_ctr; + __le32 rekey_status; + __le32 wakeup_reason; + u8 pattern_number; + u8 reserved1; + __le16 qos_seq_ctr[8]; + __le16 non_qos_seq_ctr; + __le16 reserved2; + union iwlagn_all_tsc_rsc tsc_rsc; + __le16 reserved3; +} __packed; + /* * REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification) */ |