Johannes, maybe you should take this through the mac80211 tree, since it depens on the other patch? John On Mon, Dec 03, 2012 at 12:59:04PM +0100, Stanislaw Gruszka wrote: > This revert: > > commit be03d4a45c09ee5100d3aaaedd087f19bc20d01f > Author: Andreas Hartmann <andihartmann@xxxxxxxxxxxxxxx> > Date: Tue Apr 17 00:25:28 2012 +0200 > > rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails > > To fix problem workaround by above commit use > IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL flag (see change log for > "mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL" patch). > > Resolve: https://bugzilla.kernel.org/show_bug.cgi?id=42828 > Bisected-by: Francisco Pina Martins <f.pinamartins@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> > --- > drivers/net/wireless/rt2x00/rt2800lib.c | 3 ++- > drivers/net/wireless/rt2x00/rt2x00dev.c | 7 +++---- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c > index 59474ae..175a9b9 100644 > --- a/drivers/net/wireless/rt2x00/rt2800lib.c > +++ b/drivers/net/wireless/rt2x00/rt2800lib.c > @@ -5036,7 +5036,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) > IEEE80211_HW_SUPPORTS_PS | > IEEE80211_HW_PS_NULLFUNC_STACK | > IEEE80211_HW_AMPDU_AGGREGATION | > - IEEE80211_HW_REPORTS_TX_ACK_STATUS; > + IEEE80211_HW_REPORTS_TX_ACK_STATUS | > + IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL; > > /* > * Don't set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING for USB devices > diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c > index 69097d1..b0183d1 100644 > --- a/drivers/net/wireless/rt2x00/rt2x00dev.c > +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c > @@ -391,10 +391,9 @@ void rt2x00lib_txdone(struct queue_entry *entry, > tx_info->flags |= IEEE80211_TX_STAT_AMPDU; > tx_info->status.ampdu_len = 1; > tx_info->status.ampdu_ack_len = success ? 1 : 0; > - /* > - * TODO: Need to tear down BA session here > - * if not successful. > - */ > + > + if (!success) > + tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; > } > > if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { > -- > 1.7.4.4 > > -- > 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 > -- John W. Linville Someday the world will need a hero, and you linville@xxxxxxxxxxxxx might be all we have. Be ready. -- 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