From: Mohammed Shafi Shajakhan <moham...@qca.qualcomm.com>

currently the code supports WoW triggers due to
*magic packet
*user defined patterns
*deauth and disassoc patterns
*disconnect - beacon miss, last beacon received timeout,
no ack for keeep alive frames.

we need to support other WoW offload features in the
near future. also a minor cleanup.

Cc: Senthil Balasubramanian <senth...@qca.qualcomm.com>
Cc: Rajkumar Manoharan <rmano...@qca.qualcomm.com>
Cc: vadi...@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez <mcg...@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <moham...@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/init.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c 
b/drivers/net/wireless/ath/ath9k/init.c
index 9dfce1a..576f808 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -713,6 +713,22 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct 
ieee80211_hw *hw)
        hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
        hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
 
+#ifdef CONFIG_PM_SLEEP
+
+       if ((ah->caps.hw_caps & ATH9K_HW_WOW_DEVICE_CAPABLE) &&
+           device_can_wakeup(sc->dev)) {
+
+               hw->wiphy->wowlan.flags = WIPHY_WOWLAN_MAGIC_PKT |
+                                         WIPHY_WOWLAN_DISCONNECT;
+               hw->wiphy->wowlan.n_patterns = MAX_NUM_USER_PATTERN;
+               hw->wiphy->wowlan.pattern_min_len = 1;
+               hw->wiphy->wowlan.pattern_max_len = MAX_PATTERN_SIZE;
+               INIT_LIST_HEAD(&sc->wow_info.wow_patterns);
+
+       }
+
+#endif
+
        hw->queues = 4;
        hw->max_rates = 4;
        hw->channel_change_time = 5000;
-- 
1.7.0.4

_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to