On 13 November 2013 12:28, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx> > --- > 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ł -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html