From patchwork Tue Jul 26 10:18:28 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helmut Schaa X-Patchwork-Id: 1007732 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p6QAIk8k007071 for ; Tue, 26 Jul 2011 10:18:47 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752491Ab1GZKSp (ORCPT ); Tue, 26 Jul 2011 06:18:45 -0400 Received: from mail-ew0-f46.google.com ([209.85.215.46]:44772 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752412Ab1GZKSn (ORCPT ); Tue, 26 Jul 2011 06:18:43 -0400 Received: by ewy4 with SMTP id 4so266516ewy.19 for ; Tue, 26 Jul 2011 03:18:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=sw+pKEH8yIxuY2eJ6LiMMDQ3sDJQ0MsGTn4vF78eLt8=; b=H5eQNxL9gW5xqGTSxgUcq6/sLzss6t/2jh8CZ7k8T1mXHNRFMmMU+3T0YPSTCtQflN /aARC6Bghi4Cy0saeUEmSyO24j11XTXIXnz/zYLW5K2XCrKpeviHNoWrchvzkyUYLlRd YOQqUzgz45K7fRyVwOUtLzn17BWZ4a/Jyc4D0= Received: by 10.213.5.9 with SMTP id 9mr693960ebt.109.1311675522359; Tue, 26 Jul 2011 03:18:42 -0700 (PDT) Received: from localhost.localdomain (p5495C91B.dip.t-dialin.net [84.149.201.27]) by mx.google.com with ESMTPS id s48sm249786ees.9.2011.07.26.03.18.40 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 26 Jul 2011 03:18:41 -0700 (PDT) From: Helmut Schaa To: John Linville Cc: linux-wireless@vger.kernel.org, Johannes Berg , Helmut Schaa Subject: [PATCH 2/2] mac80211: Don't use a buf_size=0 in ADDBA requests Date: Tue, 26 Jul 2011 12:18:28 +0200 Message-Id: <1311675508-29005-2-git-send-email-helmut.schaa@googlemail.com> X-Mailer: git-send-email 1.7.3.4 In-Reply-To: <1311675508-29005-1-git-send-email-helmut.schaa@googlemail.com> References: <1311675508-29005-1-git-send-email-helmut.schaa@googlemail.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 26 Jul 2011 10:18:47 +0000 (UTC) According to 802.11-2007, 7.3.1.14 it is compliant to use a buf_size of 0 in ADDBA requests. But some devices (AVM Fritz Stick N) arn't able to handle that correctly and will reply with an ADDBA reponse with a buf_size of 0 which in turn will disallow BA sessions for these devices. To work around this problem, if the hardware doesn't specify an upper limit for the number of subframes in an AMPDU send the maximum 0x40 by default in ADDBA requests. Signed-off-by: Helmut Schaa --- net/mac80211/agg-tx.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index b7075f3..13dbd00 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c @@ -345,7 +345,9 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) /* send AddBA request */ ieee80211_send_addba_request(sdata, sta->sta.addr, tid, tid_tx->dialog_token, start_seq_num, - local->hw.max_tx_aggregation_subframes, + local->hw.max_tx_aggregation_subframes ? + local->hw.max_tx_aggregation_subframes : + 0x40, tid_tx->timeout); }