Return-path: Received: from wolverine01.qualcomm.com ([199.106.114.254]:45097 "EHLO wolverine01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755159Ab2FWQBW (ORCPT ); Sat, 23 Jun 2012 12:01:22 -0400 Cc: , Rodriguez Luis , , Rajkumar Manoharan , Sujith Manoharan , Bala Shanmugam , , , Mohammed Shafi Shajakhan , Senthil Balasubramanian , "Luis R. Rodriguez" From: Mohammed Shafi Shajakhan To: "John W. Linville" Subject: [PATCH v2 05/10] ath9k: advertise supported WoW flags to upper layer Date: Sat, 23 Jun 2012 21:29:49 +0530 Message-ID: <1340467194-16930-6-git-send-email-mohammed@qca.qualcomm.com> (sfid-20120623_180125_365545_9413CEA2) In-Reply-To: <1340467194-16930-1-git-send-email-mohammed@qca.qualcomm.com> References: <1340467194-16930-1-git-send-email-mohammed@qca.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Mohammed Shafi Shajakhan 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 Cc: Rajkumar Manoharan Cc: vadivel@qca.qualcomm.com Signed-off-by: Luis R. Rodriguez Signed-off-by: Mohammed Shafi Shajakhan --- 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