Return-path: Received: from mx1.redhat.com ([209.132.183.28]:65382 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754713Ab2AXH3x (ORCPT ); Tue, 24 Jan 2012 02:29:53 -0500 Date: Tue, 24 Jan 2012 08:29:46 +0100 From: Stanislaw Gruszka To: Helmut Schaa Cc: Andreas Hartmann , "linux-wireless@vger.kernel.org" , Felix Fietkau Subject: Re: Compat-wireless-3.2-rc6-3 is broken for rt2860 device Message-ID: <20120124072946.GB2420@redhat.com> (sfid-20120124_083009_216657_2F3B1229) References: <4F040FEA.3080703@01019freenet.de> <1408490.qSFZVkU7fA@helmutmobil.site> <4F0562DF.3000200@dualc.maya.org> <4F0AEBAB.9020104@01019freenet.de> <201201100803.q0A83nsQ003757@mail.maya.org> <201201200730.q0K7U0oj004966@mail.maya.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-wireless-owner@vger.kernel.org List-ID: On Mon, Jan 23, 2012 at 02:29:08PM +0100, Helmut Schaa wrote: > On Fri, Jan 20, 2012 at 8:29 AM, Andreas Hartmann > wrote: > > All in one: Your workaround was a good idea, but unfortunately it > > doesn't "solve" / workaround the problem introduced with the patch > > "mac80211: retry sending failed BAR frames later instead of tearing > > down aggr" [1]. I don't know off any other solution at this time as to revert it. > > Ok, so we've got at least one hw issue here: rt2800 is not able to report > correct ACK state of BARs :( Whould it help, if rt2800 driver will not filter out BAR frames? diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 22a1a8f..20418be 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c @@ -1205,8 +1205,7 @@ void rt2800_config_filter(struct rt2x00_dev *rt2x00dev, !(filter_flags & FIF_PSPOLL)); rt2x00_set_field32(®, RX_FILTER_CFG_DROP_BA, !(filter_flags & FIF_CONTROL)); - rt2x00_set_field32(®, RX_FILTER_CFG_DROP_BAR, - !(filter_flags & FIF_CONTROL)); + rt2x00_set_field32(®, RX_FILTER_CFG_DROP_BAR, 0); rt2x00_set_field32(®, RX_FILTER_CFG_DROP_CNTL, !(filter_flags & FIF_CONTROL)); rt2800_register_write(rt2x00dev, RX_FILTER_CFG, reg);