ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath10k: remove htt rx amsdu clear retry bit hack
@ 2013-11-13 11:28 Kalle Valo
  2013-11-13 11:38 ` Michal Kazior
  0 siblings, 1 reply; 3+ messages in thread
From: Kalle Valo @ 2013-11-13 11:28 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless

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@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;


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ath10k: remove htt rx amsdu clear retry bit hack
  2013-11-13 11:28 [PATCH] ath10k: remove htt rx amsdu clear retry bit hack Kalle Valo
@ 2013-11-13 11:38 ` Michal Kazior
  2013-11-13 13:23   ` Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Michal Kazior @ 2013-11-13 11:38 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless, ath10k

On 13 November 2013 12:28, Kalle Valo <kvalo@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@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ł

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ath10k: remove htt rx amsdu clear retry bit hack
  2013-11-13 11:38 ` Michal Kazior
@ 2013-11-13 13:23   ` Kalle Valo
  0 siblings, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2013-11-13 13:23 UTC (permalink / raw)
  To: Michal Kazior; +Cc: linux-wireless, ath10k

Michal Kazior <michal.kazior@tieto.com> writes:

>> -       /* 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.

I'll send v2, thanks for the review.

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-13 13:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-13 11:28 [PATCH] ath10k: remove htt rx amsdu clear retry bit hack Kalle Valo
2013-11-13 11:38 ` Michal Kazior
2013-11-13 13:23   ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox