diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2013-07-15 11:03:57 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-07-18 16:22:00 -0400 |
commit | 64b6f46f1141ad938e354f37af62e28da972e8eb (patch) | |
tree | 05505050cb27463c400e585070c7d8c28905ba9a | |
parent | 6f334c2b3966f10cbd089bb124ec0e114d8d8c77 (diff) | |
download | op-kernel-dev-64b6f46f1141ad938e354f37af62e28da972e8eb.zip op-kernel-dev-64b6f46f1141ad938e354f37af62e28da972e8eb.tar.gz |
ath9k_hw: Fix multicast search for AR9002 family
The multicast search bit is disabled for the AR9003
family, but this is required for AR9002 too. Fix this in
the INI override routine.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar5008_phy.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c index d1acfe9..1576d58 100644 --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c @@ -610,7 +610,15 @@ static void ar5008_hw_override_ini(struct ath_hw *ah, REG_SET_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT)); if (AR_SREV_9280_20_OR_LATER(ah)) { - val = REG_READ(ah, AR_PCU_MISC_MODE2); + /* + * For AR9280 and above, there is a new feature that allows + * Multicast search based on both MAC Address and Key ID. + * By default, this feature is enabled. But since the driver + * is not using this feature, we switch it off; otherwise + * multicast search based on MAC addr only will fail. + */ + val = REG_READ(ah, AR_PCU_MISC_MODE2) & + (~AR_ADHOC_MCAST_KEYID_ENABLE); if (!AR_SREV_9271(ah)) val &= ~AR_PCU_MISC_MODE2_HWWAR1; |