Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp643352img; Fri, 22 Mar 2019 05:47:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqxiMpRWqbm2NiX+pHnFXqyMa0JEELNujGOjEjpggPRYTHW8lTpIfVCqhqAlll3WiAaAsWcn X-Received: by 2002:a17:902:2a89:: with SMTP id j9mr9099082plb.272.1553258844860; Fri, 22 Mar 2019 05:47:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553258844; cv=none; d=google.com; s=arc-20160816; b=tc5O19RnOPg29O+OB5ahVESpWLIHO18SWxCXpGQkFWbjulQUQi6Hn5LbNKfdBkUc4m baBtaUHyF/6FJTII2Pvx8SKxyrqHQYp+w2QYIEZ81LV0zR4s3+Zt7Axlgmv+1DDTI5Jr qC+Z8DOSZJJu3P0dyvNIIo99gPe6yP6E2P1AT+TGzp2fCLoC9wAp1nkuxPMK+JgPPR7J U3fd660TgIhGXiLFueRrYbm+mcQmcPbKrH+HdUJAM4eoMuxAXbvcAf/KDr6dwv1+Jtva a/KW3+udRipoQnOWiVsfOXrAXFXl8f5JQ0W/BsayKZQ3fOCyO4c7FpRxP5QB8hy48B4E 3qnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=cM3y47PeDMX+dDvI/FxRRXKghYwuSblRsCreqGd9SEM=; b=kuajEcXjqbsppgRDWyvXpofbwjsHo+zhQt8mLhRJ4s4aTu93P2y779+s3SjEVQiVfk crnSfOl5nUFeZi5Pa1hRCCI/YcwKq/rNKIcH1LHAEYhJhLBxjTeoz7NrlqO8vNb1sFa9 d2qaI8GN0qHJmQtrsjcFQXv7cyH2Ypv7q96LFEGWk+bSYGp8KY2rRYGlBNkgGjFVwGU+ mOBJtrB9c0GdwsCCsP3nGkfiz9ZCOf2HjjNj3bJuKo+GWKUrV6o04CqPt+fsN9Gfw3Xb n1FoZ5Agq7gYjffhTUe+a3RGocXIEE2ZDBryibOrP3n/8nqJnSFwP/G8PW/Wh0G0VNEV MRJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QNAcjd0v; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r201si6125533pgr.445.2019.03.22.05.47.06; Fri, 22 Mar 2019 05:47:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QNAcjd0v; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732984AbfCVL7Y (ORCPT + 99 others); Fri, 22 Mar 2019 07:59:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:36356 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733301AbfCVL7W (ORCPT ); Fri, 22 Mar 2019 07:59:22 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 72D1C20830; Fri, 22 Mar 2019 11:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553255962; bh=+NTyLmjZDvyMnV/Z3zinDapPkfgIuHlz1/LzwXwCfEw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QNAcjd0v8XGI6kbvwOPFlEFLfL74KGrFXiz7MldBBiWFqaaw/MyvQJqY6Kxo3CzgQ KC2S4D7PTfeJBrqW81Ye/tSRpUqz/jfDgkPu6cllVsxdwfJakvt76NPr7r4bsnYzB7 jhTjptVnI9LEmvDqVOoGrxEXDctee8wDnByr0Ouk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ilan Peer , Luca Coelho , Johannes Berg , Sasha Levin Subject: [PATCH 4.19 049/280] mac80211: Fix Tx aggregation session tear down with ITXQs Date: Fri, 22 Mar 2019 12:13:22 +0100 Message-Id: <20190322111309.069961852@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111306.356185024@linuxfoundation.org> References: <20190322111306.356185024@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 6157ca0d6bfe437691b1e98a62e2efe12b6714da ] When mac80211 requests the low level driver to stop an ongoing Tx aggregation, the low level driver is expected to call ieee80211_stop_tx_ba_cb_irqsafe() to indicate that it is ready to stop the session. The callback in turn schedules a worker to complete the session tear down, which in turn also handles the relevant state for the intermediate Tx queue. However, as this flow in asynchronous, the intermediate queue should be stopped and not continue servicing frames, as in such a case frames that are dequeued would be marked as part of an aggregation, although the aggregation is already been stopped. Fix this by stopping the intermediate Tx queue, before calling the low level driver to stop the Tx aggregation. Signed-off-by: Ilan Peer Signed-off-by: Luca Coelho Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/mac80211/agg-tx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 69e831bc317b..54821fb1a960 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c @@ -8,7 +8,7 @@ * Copyright 2007, Michael Wu * Copyright 2007-2010, Intel Corporation * Copyright(c) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018 Intel Corporation + * Copyright (C) 2018 - 2019 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -366,6 +366,8 @@ int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, set_bit(HT_AGG_STATE_STOPPING, &tid_tx->state); + ieee80211_agg_stop_txq(sta, tid); + spin_unlock_bh(&sta->lock); ht_dbg(sta->sdata, "Tx BA session stop requested for %pM tid %u\n", -- 2.19.1