Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp816031imu; Tue, 11 Dec 2018 08:02:05 -0800 (PST) X-Google-Smtp-Source: AFSGD/UpWCAS+UCJogHm594KyFPMYS+uDGs4EiOR0nC9y1dXS19rTTNM7gSK/AuFqkkY3bL6jZQM X-Received: by 2002:a17:902:2aaa:: with SMTP id j39mr16930205plb.335.1544544125212; Tue, 11 Dec 2018 08:02:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544544125; cv=none; d=google.com; s=arc-20160816; b=DOsb1oyVkq1pCBG8ZXM/Z/zjNuX5G15avq6a+9AemSKTKkTHdM7WkB+/05hlQwka9H hCR1kVju6z0q+hNicpH1hWBhpahcoVbWyG8ysIx0pgdOID0cKBXQ3TxriZ8LCnm71N3o NwQV8hcoKcm/5PuMqI+IEoc2+qyWChLeJ+Fd/eOuUXXwanvDqNhpz946TIOgSZDGkNOo 9OOgPGKECjTWysPHkAMrKMca4QEu4PAXsFJhx1ncyzvmKmGt9RkwYLbBS02glvhiqjQm VfJr6MAPDQvLf11NnlIkqNKnavKg2PmV1m5pqmHuM8D/S3e4ZN6kGqLdcg/2yK0cFfC/ p8Uw== 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=hLl3rkpiWF83ULpD3L2gz1T9vylqxuG48Xnw67ut7QA=; b=UpeiPWby0XbcPHr4RWOL1aSETRzOgwCgV9cmzKWv+IKXheqpY0D7QuTY9cug/gKX64 si7qZKp2U9aLL13NK9ngGz5ucYJUQ75XoDKEDuJvLPzCuwjMuCEJyLbRAw2iX3c3cZPh V24h/gi7hueR+Dcnic/rzxaxwe6LfnnY6mQ4ZhmTQYb+Ez2aY43owUDx4FEoW36/co1Y 8lc9lvWsO2wnPbz+/WCdEHhgbMyGksEDAuppcsnEkvumRGsYntySdPBwRwFBlEyBK7XB omAb9cQgsbSgwPUZmwxUdfMYsUaZlN/hmGWs8hjbwB92KOve1yMkOmomPfCGkQRlnaNZ u7JQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=AlqlIXUG; 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 d189si12077170pgc.393.2018.12.11.08.01.50; Tue, 11 Dec 2018 08:02:05 -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=AlqlIXUG; 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 S1731130AbeLKP7C (ORCPT + 99 others); Tue, 11 Dec 2018 10:59:02 -0500 Received: from mail.kernel.org ([198.145.29.99]:48628 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730371AbeLKP7B (ORCPT ); Tue, 11 Dec 2018 10:59:01 -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 56F2320855; Tue, 11 Dec 2018 15:59:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544543940; bh=AhaKe79/8LwBgSDqHR/gNt674omM88v/Q+9fXj+grR0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AlqlIXUGKqgtODBiBh/3avvMKON+Yl2Ffms6gxtX/GCt6L9rw6u1IPx1skfoqqYAX hbLvya2EO4kojcd9ssDAqupyi2rrS59Sn9DQ/as7W/PO7lFYn6lTe1okP1wAQPeewi EeU4Pm0PDHAJxLPKxRE0IqZj9OO5iguPHIAXnNfk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Felix Fietkau , Johannes Berg Subject: [PATCH 4.19 116/118] mac80211: fix reordering of buffered broadcast packets Date: Tue, 11 Dec 2018 16:42:15 +0100 Message-Id: <20181211151648.938993872@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181211151644.216668863@linuxfoundation.org> References: <20181211151644.216668863@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. ------------------ 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 @@ -439,8 +439,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i if (ieee80211_hw_check(&tx->local->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;