Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp804593imu; Tue, 11 Dec 2018 07:51:46 -0800 (PST) X-Google-Smtp-Source: AFSGD/V5j1uZVVi+zNDt5JwXHSpWHvf70z1KplV8fmxAoFDGgkZdJgcR7xwp6eyO45X69ooxiHfp X-Received: by 2002:a63:5ec6:: with SMTP id s189mr14467864pgb.357.1544543506705; Tue, 11 Dec 2018 07:51:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544543506; cv=none; d=google.com; s=arc-20160816; b=awO/8JFCSYsljNgRv9sLs7pRAj0EDol/s5V/6U/HdL5i0Mb/DvfPlSIdastFo8eWya DfjQ6d22BlESv1suToIdPI/ROgFxYV7FeneMp7GgzLIdAbqnHVh42m/NMRFgEFL9z4IF /esYLIcaz6mPLGKYrOIst1NY8IP6nsAtzuYLX8wnEuP7vAwgJMTEgFS6Y1tBYoBaxwMn QOuuX1wwlDN4QoRrHgy8z7/Btb5MtGZK5lq/ffeoNm/R8gqkwMzch6Z9pkR6ATkId/Ta WieuklkzGkEhzgb+q1bmJIReZjCKSVGQy+CoiCoGab1D4bUBLWcVKoq1P0l+qcA7DzB3 kdtA== 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=oxZEmphENIiSUyXbXQUorUcZSbaRHgF0m6cJqMtUCY8=; b=wej2AVcjzBbbFSACm9BKB2N1x+fLdXuUSlwHBYPxBTi7auANxAQkC7MbNRKp1dOoEM uklmuZmWEdFdd+XeZMHImCZH0FU9zs1Ofsx1MvGO21VAODblMssW1wmjyYghmGkvuH0F DhG5k6VINFckegojx9l4dwK7ytlJ3i/N1uFp35VriRgevLArPzT2iLmMITKpa1AulKH2 o3s+ZV8emNcARSSxgLWlXw+tdLvm10yVACY8hmRjc5qyTAJ4X2XeNCKC02bwdQ2eDK0E O82X4gSQbeUjEXtXywbE0rZUYNOG4rhjZl0xr5ki7JOagMXzslKwTg4smPbvfb8YVLrz Yn7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Sb051zEo; 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 d92si13308947pld.45.2018.12.11.07.51.31; Tue, 11 Dec 2018 07:51:46 -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=Sb051zEo; 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 S1728874AbeLKPsp (ORCPT + 99 others); Tue, 11 Dec 2018 10:48:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:37034 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728864AbeLKPsm (ORCPT ); Tue, 11 Dec 2018 10:48:42 -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 10EC820870; Tue, 11 Dec 2018 15:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544543321; bh=bAtf3FYlTZ0VXqMRW8K/SZSe7x8H6S7nnxbDkCAN8Ks=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Sb051zEoh2zT6GrONsXrC6STWuqyRnrMIpz+ADhcDX1+vct8mGh/Ilx3015OEoRHd 94Ar+XVF0BhWECieY1jE/gQ5DmIKaV4wOh9ix1zRHBW/yU41eSJkO02S2IvU7E6/P+ nn2B1Muh6EeLt6Mc3c7H2FcNz1LBorajjs4e2XkA= 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.4 90/91] mac80211: fix reordering of buffered broadcast packets Date: Tue, 11 Dec 2018 16:41:49 +0100 Message-Id: <20181211151614.302020771@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181211151606.026852373@linuxfoundation.org> References: <20181211151606.026852373@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.4-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 @@ -431,8 +431,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;