Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp800259imu; Tue, 11 Dec 2018 07:47:44 -0800 (PST) X-Google-Smtp-Source: AFSGD/XeQVNTa6fEzlQjdyOAkYVsM5LS1TwPQzwYlwWe5YdlEWkKl6XAF6D7HqAUfIaHMAgWtrfc X-Received: by 2002:a62:36c1:: with SMTP id d184mr16920734pfa.242.1544543264643; Tue, 11 Dec 2018 07:47:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544543264; cv=none; d=google.com; s=arc-20160816; b=tUF4SKZCycsWd/nAc7VZb5pm449nKH0vOPF//1Woqy86t0KdiEh2/UAJ2Rs7I48TwP hUZsS9Oymq9Usg9/hnNJgwjIFAmq/mA4mOMFhqD4dp7YzfQib660kTVQ2PGx7B5lcPNq +q7IskvPF43bBA52lHyd2K2nBQET4zaHPCazNzIA4qn2YjlEJvgTGNFllzxwLHXPv95z iSHnAq5bV7+CIgJvJ5L/m+AtzDctOTbKLAf5itRirdcJWjJJ0uzOBhrPOZKrl6hQzq7I SMMD4eWq7DvOZW3uL5jqRv8vKCJBut8NIH5RoCZckMsKrocmb/Q+nS0ofMjWnA4cfQ6h UN/Q== 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=BX97O8f4X4UqJRYgxwYBd4alICpUcinstM4vrR5PFdg=; b=eanP399+/FEaEiS+S1wpXOnKCJSiVQfdQ0cWdle2IxaMXPE1m5qrjz8Z2v95iBDQ8X OPBfTIBYXT6nYq0Wz+oF7GGJIAwnPeAdfEicJFQsgCYH518BZnU52AoyOpAJ/sh6Xqsk AZ02OEn2+UNqX1JEtUSwlZJenIB5KDLeZ7zr9Ko400pEBvJ/qaysXdX5/tT1sJ5TIW1g WUEKJT9OiXyEHucy/KQiJdrp27Mwu/IW9EaKrKSJzKA9DAQrQCXUj3BZ1kMlpy+gLiNk M4h7YVYyK8gadAWNJ/6jaan8p1fjWzxuzxdTuqVMF94ucps7XLmf79kWObr0pSw+yE0n +ZYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1Iu8Z4tl; 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 az5si12439120plb.166.2018.12.11.07.47.30; Tue, 11 Dec 2018 07:47:44 -0800 (PST) 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=1Iu8Z4tl; 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 S1727924AbeLKPor (ORCPT + 99 others); Tue, 11 Dec 2018 10:44:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:33130 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727422AbeLKPop (ORCPT ); Tue, 11 Dec 2018 10:44:45 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 736A920870; Tue, 11 Dec 2018 15:44:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544543085; bh=6ZEGsGHmQHWwFmlwqUXyXQUsdRjEa/r6IFAoxC5OK1k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1Iu8Z4tlZriAPgF+Q4mg3vPJMBoT3HfogR0PEIGfy6QLjHyO3mhibe/BlUrjKlpaF xhhExHWcdt4secQWQjEfKFM94NxdY2W1imYqvC21AOKL/jN1HPcHhk2d7c3vFWDIvF PT2lrr4qC117zbppBd+rBI9s2iPvYx0x7OJtuUvU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Felix Fietkau , Johannes Berg Subject: [PATCH 3.18 54/54] mac80211: fix reordering of buffered broadcast packets Date: Tue, 11 Dec 2018 16:41:42 +0100 Message-Id: <20181211151549.086991878@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181211151546.010073210@linuxfoundation.org> References: <20181211151546.010073210@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 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Felix Fietkau commit 9ec1190d065998650fd9260dea8cf3e1f56c0e8c upstream. If the buffered broadcast queue contains packets, letting new packets bypass that queue can lead to heavy reordering, since the driver is probably throttling transmission of buffered multicast packets after beacons. Keep buffering packets until the buffer has been cleared (and no client is in powersave mode). Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/mac80211/tx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -419,8 +419,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i if (tx->local->hw.flags & IEEE80211_HW_QUEUE_CONTROL) info->hw_queue = tx->sdata->vif.cab_queue; - /* no stations in PS mode */ - if (!atomic_read(&ps->num_sta_ps)) + /* no stations in PS mode and no buffered packets */ + if (!atomic_read(&ps->num_sta_ps) && skb_queue_empty(&ps->bc_buf)) return TX_CONTINUE; info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;