2016-02-18 20:18:15

by Felix Fietkau

[permalink] [raw]
Subject: [PATCH] mac80211: minstrel_ht: set default tx aggregation timeout to 0

The value 5000 was put here with the addition of the timeout field to
ieee80211_start_tx_ba_session. It was originally added in mac80211 to
save resources for drivers like iwlwifi, which only supports a limited
number of concurrent aggregation sessions.

Since iwlwifi does not use minstrel_ht and other drivers don't need
this, 0 is a better default - especially since there have been
recent reports of aggregation setup related issues reproduced with
ath9k. This should improve stability without causing any adverse
effects.

Cc: [email protected]
Signed-off-by: Felix Fietkau <[email protected]>
---
net/mac80211/rc80211_minstrel_ht.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index 3928dbd..a7d9227 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -691,7 +691,7 @@ minstrel_aggr_check(struct ieee80211_sta *pubsta, struct sk_buff *skb)
if (likely(sta->ampdu_mlme.tid_tx[tid]))
return;

- ieee80211_start_tx_ba_session(pubsta, tid, 5000);
+ ieee80211_start_tx_ba_session(pubsta, tid, 0);
}

static void
--
2.2.2



2016-02-23 09:39:42

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: minstrel_ht: set default tx aggregation timeout to 0

On Thu, 2016-02-18 at 19:49 +0100, Felix Fietkau wrote:
> The value 5000 was put here with the addition of the timeout field to
> ieee80211_start_tx_ba_session. It was originally added in mac80211 to
> save resources for drivers like iwlwifi, which only supports a
> limited
> number of concurrent aggregation sessions.
>
> Since iwlwifi does not use minstrel_ht and other drivers don't need
> this, 0 is a better default - especially since there have been
> recent reports of aggregation setup related issues reproduced with
> ath9k. This should improve stability without causing any adverse
> effects.
>
Applied, thanks.

johannes

2016-02-18 19:02:31

by Avery Pennarun

[permalink] [raw]
Subject: Re: [PATCH] mac80211: minstrel_ht: set default tx aggregation timeout to 0

Acked-by: Avery Pennarun <[email protected]>

This fixes serious problems on our platform, especially with iPhone 4
generation devices.


On Thu, Feb 18, 2016 at 1:49 PM, Felix Fietkau <[email protected]> wrote:
> The value 5000 was put here with the addition of the timeout field to
> ieee80211_start_tx_ba_session. It was originally added in mac80211 to
> save resources for drivers like iwlwifi, which only supports a limited
> number of concurrent aggregation sessions.
>
> Since iwlwifi does not use minstrel_ht and other drivers don't need
> this, 0 is a better default - especially since there have been
> recent reports of aggregation setup related issues reproduced with
> ath9k. This should improve stability without causing any adverse
> effects.
>
> Cc: [email protected]
> Signed-off-by: Felix Fietkau <[email protected]>
> ---
> net/mac80211/rc80211_minstrel_ht.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
> index 3928dbd..a7d9227 100644
> --- a/net/mac80211/rc80211_minstrel_ht.c
> +++ b/net/mac80211/rc80211_minstrel_ht.c
> @@ -691,7 +691,7 @@ minstrel_aggr_check(struct ieee80211_sta *pubsta, struct sk_buff *skb)
> if (likely(sta->ampdu_mlme.tid_tx[tid]))
> return;
>
> - ieee80211_start_tx_ba_session(pubsta, tid, 5000);
> + ieee80211_start_tx_ba_session(pubsta, tid, 0);
> }
>
> static void
> --
> 2.2.2
>