[PATCH] ath10k: remove htt rx amsdu clear retry bit hack
Michal Kazior
michal.kazior at tieto.com
Wed Nov 13 06:38:04 EST 2013
On 13 November 2013 12:28, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
> With commit 0cfcefef1 ("mac80211: support reporting A-MSDU subframes
> individually") there's no need to have the hack to clear the retry bit in
> ath10k_htt_rx_amsdu(), mac80211 can handle this properly now.
>
> Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath10k/htt_rx.c | 17 -----------------
> 1 file changed, 17 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
> index 90d4f74..76c152b 100644
> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> @@ -659,23 +659,6 @@ static void ath10k_htt_rx_amsdu(struct ath10k_htt *htt,
> memcpy(hdr_buf, hdr, hdr_len);
> hdr = (struct ieee80211_hdr *)hdr_buf;
>
> - /* FIXME: Hopefully this is a temporary measure.
> - *
> - * Reporting individual A-MSDU subframes means each reported frame
> - * shares the same sequence number.
> - *
> - * mac80211 drops frames it recognizes as duplicates, i.e.
> - * retransmission flag is set and sequence number matches sequence
> - * number from a previous frame (as per IEEE 802.11-2012: 9.3.2.10
> - * "Duplicate detection and recovery")
> - *
> - * To avoid frames being dropped clear retransmission flag for all
> - * received A-MSDUs.
> - *
> - * Worst case: actual duplicate frames will be reported but this should
> - * still be handled gracefully by other OSI/ISO layers. */
> - hdr->frame_control &= cpu_to_le16(~IEEE80211_FCTL_RETRY);
> -
> first = skb;
> while (skb) {
> void *decap_hdr;
>
You're missing RX_FLAG_AMSDU_MORE. All subframes (except the last one)
from an A-MSDU that are reported separately must have the bit set in
status->flag. Only then mac80211 can apply retransmission/duplication
check properly.
Michał
More information about the ath10k
mailing list