ath9k: Fix mesh related rx filtering issue for older chips
PATCH v2 1/1 ath9k: Fix mesh related rx filtering issue for older chips
From: Thomas Wagner <[email protected]>
We need to have the promiscus mode enabled for older chipsets(i.e, rule out many frames being filtered in the hardware itself) if 'FIF_OTHER_BSS' flag is set, when we start the mesh mode. Fix this by enabling promiscus mode for all the chipsets whose macversion <= AR9160 chipsets. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=45591
shafi: made the fix generic by having the frame filtering disabled for chipsets older than AR9280.
--- drivers/net/wireless/ath/ath9k/recv.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/wireless/ath/ath9k/recv.c +2 -2
@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc) rfilt |=ATH9K_RX_FILTER_COMP_BAR ;if (sc->nvifs >1 || (sc->rx.rxfilter &FIF_OTHER_BSS )) { -/* The following may also be needed for other older chips */ -if (sc->sc_ah->hw_version.macVersion ==AR_SREV_VERSION_9160 ) +/* This is needed for older chips, especially for mesh mode */ +if (sc->sc_ah->hw_version.macVersion <=AR_SREV_VERSION_9160 ) rfilt |=ATH9K_RX_FILTER_PROM ; rfilt |=ATH9K_RX_FILTER_MCAST_BCAST_ALL ; }
Signature · 1 line
1.7.0.4
PATCH v2 1/1 ath9k: Fix mesh related rx filtering issue for older chips
Quoted 25 lines · Mohammed Shafi Shajakhan
From: Thomas Wagner <[email protected]>
We need to have the promiscus mode enabled for older
chipsets(i.e, rule out many frames being filtered in the hardware itself)if 'FIF_OTHER_BSS' flag is set, when we start the mesh mode. Fix this by enabling promiscus mode for all the chipsets whose macversion <= AR9160 chipsets. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=45591shafi: made the fix generic by having the frame filtering disabled for chipsets older than AR9280.
Cc Javier Cardona <[email protected]>Signed-off-by Thomas Wagner <[email protected]>Signed-off-by Mohammed Shafi Shajakhan <[email protected]>--- drivers/net/wireless/ath/ath9k/recv.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/ath/ath9k/recv.c +0
-0
drivers/net/wireless/ath/ath9k/recv.c u32 ath_calcrxfilter(struct ath_softc *sc) · line 431
Quoted 10 lines
drivers/net/wireless/ath/ath9k/recv.c +2
-2@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc) rfilt |=ATH9K_RX_FILTER_COMP_BAR ;if (sc->nvifs >1 || (sc->rx.rxfilter &FIF_OTHER_BSS )) { -/* The following may also be needed for other older chips */ -if (sc->sc_ah->hw_version.macVersion ==AR_SREV_VERSION_9160 ) +/* This is needed for older chips, especially for mesh mode */ +if (sc->sc_ah->hw_version.macVersion <=AR_SREV_VERSION_9160 ) rfilt |=ATH9K_RX_FILTER_PROM ; rfilt |=ATH9K_RX_FILTER_MCAST_BCAST_ALL ; }
I'm really not sure about this being tied to sc->nvifs. If it's mesh related, how about just adding a check for the number of mesh interfaces instead of piggy-backing onto something potentially unrelated.
- Felix
PATCH v2 1/1 ath9k: Fix mesh related rx filtering issue for older chips
Hi,
Quoted 2 lines
I'm really not sure about this being tied to
sc->nvifs.
If it's mesh related, how about just adding a check for the number of mesh interfaces [...]
No, it is not mesh related!
Several frames where filtered out.
I discovered this on trying to set up a mesh.
But the where filtered frames beyond the mesh: e.g. a beacon of 802.11b Sitecom Router
@Felix: Pleas forward this mail to:
linux-wireless at vger.kernel.org ath9k-devel at venema.h4ckr.net
Tom
PATCH v2 1/1 ath9k: Fix mesh related rx filtering issue for older chips
Hi Tom,
+ linux-wireless
Quoted 4 lines · Thomas Wagner
Hi,
Quoted 2 lines
I'm really not sure about this being tied to
sc->nvifs.
If it's mesh related, how about just adding a check for the number of mesh interfaces [...]
Quoted 10 lines
No, it is not mesh related!
Several frames where filtered out.
I discovered this on trying to set up a mesh.
But the where filtered frames beyond the mesh: e.g. a beacon of 802.11b Sitecom Router@Felix: Pleas forward this mail to:
linux-wireless at vger.kernel.org ath9k-devel at venema.h4ckr.net
thanks for the clarification.
Signature · 2 lines
thanks, shafi
PATCH v2 1/1 ath9k: Fix mesh related rx filtering issue for older chips
Hi Tom,
Quoted 16 lines · Mohammed Shafi Shajakhan
Hi Tom,
+ linux-wireless
Quoted 11 lines · Thomas Wagner
Hi,
Quoted 3 lines
I'm really not sure about this being tied to
sc->nvifs.
If it's mesh related, how about just adding a check for the number of mesh interfaces [...]No, it is not mesh related!
Several frames where filtered out.
I discovered this on trying to set up a mesh.
But the where filtered frames beyond the mesh: e.g. a beacon of 802.11b Sitecom Router
Quoted 9 lines
Quoted 5 lines
@Felix: Pleas forward this mail to:
linux-wireless at vger.kernel.org ath9k-devel at venema.h4ckr.netthanks for the clarification.
will send a v3 soon changing the subject and commit log mentioning generically that the older hardware chipsets seem to filter some necessary wifi frames ?. thanks!
Signature · 2 lines
thanks, shafi