aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2013-06-02 23:49:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-06-03 15:55:46 -0400
commit846e438f5ffec6d5508478bba2b9245a1f358df3 (patch)
tree2fb64d38b0368c4b22a1cb10bb45559c72632229 /drivers/net/wireless/ath/ath9k/main.c
parent74a97755f2c2687207e3b1e9e77765b475f7e4e4 (diff)
ath9k: Enable WoW only for AR9462
The only card with which WoW has been tested and verified is AR9462. Do not enable it for all cards since WoW is really quirky and needs to be tested properly with each chip. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c34
1 files changed, 3 insertions, 31 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index a1630d1ee3c9..cc5a98b8d187 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2003,7 +2003,6 @@ static void ath9k_wow_add_disassoc_deauth_pattern(struct ath_softc *sc)
2003{ 2003{
2004 struct ath_hw *ah = sc->sc_ah; 2004 struct ath_hw *ah = sc->sc_ah;
2005 struct ath_common *common = ath9k_hw_common(ah); 2005 struct ath_common *common = ath9k_hw_common(ah);
2006 struct ath9k_hw_capabilities *pcaps = &ah->caps;
2007 int pattern_count = 0; 2006 int pattern_count = 0;
2008 int i, byte_cnt; 2007 int i, byte_cnt;
2009 u8 dis_deauth_pattern[MAX_PATTERN_SIZE]; 2008 u8 dis_deauth_pattern[MAX_PATTERN_SIZE];
@@ -2073,36 +2072,9 @@ static void ath9k_wow_add_disassoc_deauth_pattern(struct ath_softc *sc)
2073 2072
2074 /* Create Disassociate pattern mask */ 2073 /* Create Disassociate pattern mask */
2075 2074
2076 if (pcaps->hw_caps & ATH9K_HW_WOW_PATTERN_MATCH_EXACT) { 2075 dis_deauth_mask[0] = 0xfe;
2077 2076 dis_deauth_mask[1] = 0x03;
2078 if (pcaps->hw_caps & ATH9K_HW_WOW_PATTERN_MATCH_DWORD) { 2077 dis_deauth_mask[2] = 0xc0;
2079 /*
2080 * for AR9280, because of hardware limitation, the
2081 * first 4 bytes have to be matched for all patterns.
2082 * the mask for disassociation and de-auth pattern
2083 * matching need to enable the first 4 bytes.
2084 * also the duration field needs to be filled.
2085 */
2086 dis_deauth_mask[0] = 0xf0;
2087
2088 /*
2089 * fill in duration field
2090 FIXME: what is the exact value ?
2091 */
2092 dis_deauth_pattern[2] = 0xff;
2093 dis_deauth_pattern[3] = 0xff;
2094 } else {
2095 dis_deauth_mask[0] = 0xfe;
2096 }
2097
2098 dis_deauth_mask[1] = 0x03;
2099 dis_deauth_mask[2] = 0xc0;
2100 } else {
2101 dis_deauth_mask[0] = 0xef;
2102 dis_deauth_mask[1] = 0x3f;
2103 dis_deauth_mask[2] = 0x00;
2104 dis_deauth_mask[3] = 0xfc;
2105 }
2106 2078
2107 ath_dbg(common, WOW, "Adding disassoc/deauth patterns for WoW\n"); 2079 ath_dbg(common, WOW, "Adding disassoc/deauth patterns for WoW\n");
2108 2080