[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