Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp901096imu; Tue, 11 Dec 2018 09:16:48 -0800 (PST) X-Google-Smtp-Source: AFSGD/UhfQyt41PK4G9zNTGyUwN4Vxl+0LS8+8XcctDXM7U/4MamXQf3wj4Lw6xf2QBlvv5XvwzP X-Received: by 2002:a63:3546:: with SMTP id c67mr15560071pga.284.1544548608760; Tue, 11 Dec 2018 09:16:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544548608; cv=none; d=google.com; s=arc-20160816; b=vd0i4WDcEAHfWeNOt04NrvNMavKuGYvP0bvLLXWL909xarS2LsTUjbiSvrkABUcqEE TMSxfSON/WlitohA3Y99yNweakS8/MktCt5jsAyt13oS65/mAsxXI9w3FFM1gh1ltNdx yMJEar1oL3PBlc76pHfEzsPvr5rmZsdNytmhKU7cvuyA0HcOK6tVGYqNyhgG5gmo3cOY EyRiX1gYMkCLJiP5TD7j6TNymhLthTJ4HyHUevBDhDPiLH/ZqEboVXPq2mrWIQEebWGh /mXj2OR+lPn92QFGCGs348rJocH0aKtNuUtYsue38z42hEvW3A/+0ke+R0lHEObvAzG3 RE1Q== 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=vKzDp26LDy1PnN4UjSa8bpGStfMvE8OgYN8b+YI+wvw=; b=msD+k79lW15GioFcpqlWZIeMwAZ5hGRDMPzfThBSCIBKK6ozqCDupCbiK9pPyuS5/y tcNbAl87wmBi/xkDY8FmfrE6ZDJkCcsCAYJI8cpYCzC2aJ167HNGGPYm4jBmUnE/Vg/q R/XVc4bUHIP2CEg46zyvvVdv14ZuSgi4KXzuNHBDJHs9bezKZvFli44tOYi2jjlSVgIP bPreETI4bgs/Y44+MYeVPfMoCcIJv8dnsgJ2triBbXJrQsv+9YqFnOyunfES/ndgl0C1 rXcRX2FiwxRjP6B8lsK5Vi2+d+tSYGl9gYK3rDOf/0wAV7nchDTvRamUfEzfGg2I8OT+ 3xXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sXMwvzLn; 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 n78si13531074pfi.235.2018.12.11.09.16.33; Tue, 11 Dec 2018 09:16:48 -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=sXMwvzLn; 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 S1730000AbeLKPxp (ORCPT + 99 others); Tue, 11 Dec 2018 10:53:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:42378 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729984AbeLKPxl (ORCPT ); Tue, 11 Dec 2018 10:53:41 -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 2919120855; Tue, 11 Dec 2018 15:53:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544543620; bh=eMg5wGQWftbv9dATqS9dqodGCQ6lql0URAanJ4LTMhM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sXMwvzLnQQcNbmVAE/vQ+rBa8Yh0wN0aBiQgsy4UzEazCr1ZhzhyjqhAffe4iQcCH 9PPdokgFcoqvccL8cvUIfg0Qt+bkCwFMAg84TaW4e3PZW/SUpX4QT09vG4TrEWqIql qe1fys5B19k0miZRs40N66xx9yFhqBiiC9FDYbOY= 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.14 66/67] mac80211: fix reordering of buffered broadcast packets Date: Tue, 11 Dec 2018 16:42:06 +0100 Message-Id: <20181211151634.204050948@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181211151630.378216233@linuxfoundation.org> References: <20181211151630.378216233@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.14-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 @@ -435,8 +435,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;