Message ID | 20190611133656.16964-1-zefir.kurtisi@neratec.com (mailing list archive) |
---|---|
State | Accepted |
Commit | df5c4150501ee7e86383be88f6490d970adcf157 |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v2] ath9k: correctly handle short radar pulses (fixes 3c0efb745a) | expand |
Zefir Kurtisi <zefir.kurtisi@neratec.com> writes: > Changes to v1: > * typos fixed in commit-message > -- This in the wrong place. > In commit '3c0efb745a17 ("ath9k: discard undersized packets")' > the lower bound of RX packets was set to 10 (min ACK size) to > filter those that would otherwise be treated as invalid at > mac80211. > > Alas, short radar pulses are reported as PHY_ERROR frames > with length set to 3. Therefore their detection stopped > working after that commit. > > NOTE: ath9k drivers built thereafter will not pass DFS > certification. > > This extends the criteria for short packets to explicitly > handle PHY_ERROR frames. > > Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> > --- The changelog should be here. But I can fix it manually this time.
Zefir Kurtisi <zefir.kurtisi@neratec.com> writes: > Changes to v1: > * typos fixed in commit-message > -- > > In commit '3c0efb745a17 ("ath9k: discard undersized packets")' > the lower bound of RX packets was set to 10 (min ACK size) to > filter those that would otherwise be treated as invalid at > mac80211. > > Alas, short radar pulses are reported as PHY_ERROR frames > with length set to 3. Therefore their detection stopped > working after that commit. > > NOTE: ath9k drivers built thereafter will not pass DFS > certification. > > This extends the criteria for short packets to explicitly > handle PHY_ERROR frames. > > Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Forgot to mention that the Fixes line should be before s-o-b, not in the title: Fixes: 3c0efb745a17 ("ath9k: discard undersized packets") I'll fix (no pun intended) that as well.
On 6/11/19 3:43 PM, Kalle Valo wrote: > Zefir Kurtisi <zefir.kurtisi@neratec.com> writes: > >> Changes to v1: >> * typos fixed in commit-message >> -- >> >> In commit '3c0efb745a17 ("ath9k: discard undersized packets")' >> the lower bound of RX packets was set to 10 (min ACK size) to >> filter those that would otherwise be treated as invalid at >> mac80211. >> >> Alas, short radar pulses are reported as PHY_ERROR frames >> with length set to 3. Therefore their detection stopped >> working after that commit. >> >> NOTE: ath9k drivers built thereafter will not pass DFS >> certification. >> >> This extends the criteria for short packets to explicitly >> handle PHY_ERROR frames. >> >> Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> > > Forgot to mention that the Fixes line should be before s-o-b, not in the > title: > > Fixes: 3c0efb745a17 ("ath9k: discard undersized packets") > > I'll fix (no pun intended) that as well. > Thanks. Was unsure about that, checkpatch warned about format (mandatory 12 digit hash), but not the proper location. Will keep in mind.
Zefir Kurtisi <zefir.kurtisi@neratec.com> writes: > On 6/11/19 3:43 PM, Kalle Valo wrote: >> Zefir Kurtisi <zefir.kurtisi@neratec.com> writes: >> >>> Changes to v1: >>> * typos fixed in commit-message >>> -- >>> >>> In commit '3c0efb745a17 ("ath9k: discard undersized packets")' >>> the lower bound of RX packets was set to 10 (min ACK size) to >>> filter those that would otherwise be treated as invalid at >>> mac80211. >>> >>> Alas, short radar pulses are reported as PHY_ERROR frames >>> with length set to 3. Therefore their detection stopped >>> working after that commit. >>> >>> NOTE: ath9k drivers built thereafter will not pass DFS >>> certification. >>> >>> This extends the criteria for short packets to explicitly >>> handle PHY_ERROR frames. >>> >>> Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> >> >> Forgot to mention that the Fixes line should be before s-o-b, not in the >> title: >> >> Fixes: 3c0efb745a17 ("ath9k: discard undersized packets") >> >> I'll fix (no pun intended) that as well. >> > Thanks. Was unsure about that, checkpatch warned about format (mandatory 12 digit > hash), but not the proper location. Will keep in mind. I have tried to document the most important parts to the wiki: https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#fixes_line_is_incorrect
Zefir Kurtisi <zefir.kurtisi@neratec.com> wrote: > In commit 3c0efb745a17 ("ath9k: discard undersized packets") > the lower bound of RX packets was set to 10 (min ACK size) to > filter those that would otherwise be treated as invalid at > mac80211. > > Alas, short radar pulses are reported as PHY_ERROR frames > with length set to 3. Therefore their detection stopped > working after that commit. > > NOTE: ath9k drivers built thereafter will not pass DFS > certification. > > This extends the criteria for short packets to explicitly > handle PHY_ERROR frames. > > Fixes: 3c0efb745a17 ("ath9k: discard undersized packets") > Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Patch applied to ath-next branch of ath.git, thanks. df5c4150501e ath9k: correctly handle short radar pulses
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index 4e97f7f3b2a3..5519c144d1f1 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -815,6 +815,7 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc, struct ath_common *common = ath9k_hw_common(ah); struct ieee80211_hdr *hdr; bool discard_current = sc->rx.discard_next; + bool is_phyerr; /* * Discard corrupt descriptors which are marked in @@ -827,8 +828,11 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc, /* * Discard zero-length packets and packets smaller than an ACK + * which are not PHY_ERROR (short radar pulses have a length of 3) */ - if (rx_stats->rs_datalen < 10) { + is_phyerr = rx_stats->rs_status & ATH9K_RXERR_PHY; + if (!rx_stats->rs_datalen || + (rx_stats->rs_datalen < 10 && !is_phyerr)) { RX_STAT_INC(sc, rx_len_err); goto corrupt; }
Changes to v1: * typos fixed in commit-message -- In commit '3c0efb745a17 ("ath9k: discard undersized packets")' the lower bound of RX packets was set to 10 (min ACK size) to filter those that would otherwise be treated as invalid at mac80211. Alas, short radar pulses are reported as PHY_ERROR frames with length set to 3. Therefore their detection stopped working after that commit. NOTE: ath9k drivers built thereafter will not pass DFS certification. This extends the criteria for short packets to explicitly handle PHY_ERROR frames. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> --- drivers/net/wireless/ath/ath9k/recv.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)