From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-f53.google.com ([209.85.221.53]:39227 "EHLO mail-wr1-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726200AbeLPT5v (ORCPT ); Sun, 16 Dec 2018 14:57:51 -0500 Received: by mail-wr1-f53.google.com with SMTP id t27so10212907wra.6 for ; Sun, 16 Dec 2018 11:57:50 -0800 (PST) Date: Sun, 16 Dec 2018 19:57:47 +0000 From: Sudip Mukherjee To: Greg Kroah-Hartman Cc: stable@vger.kernel.org, Johannes Berg , Emmanuel Grumbach , Luca Coelho , Ilan Peer Subject: request for 4.14-stable: c470bdc1aaf3 ("mac80211: don't WARN on bad WMM parameters from buggy APs") Message-ID: <20181216195747.oifyjgk4bgzfjezf@debian> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="faf6ofvq4eibqrhw" Content-Disposition: inline Sender: stable-owner@vger.kernel.org List-ID: --faf6ofvq4eibqrhw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Greg, This was not marked for stable but seems it should be in stable. And the second patch fixes the first one. Please apply to your queue of 4.14-stable. -- Regards Sudip --faf6ofvq4eibqrhw Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-mac80211-don-t-WARN-on-bad-WMM-parameters-from-buggy.patch" >>From 3f7f162bae9353580e026398f0d93354752e024c Mon Sep 17 00:00:00 2001 From: Emmanuel Grumbach Date: Mon, 26 Mar 2018 16:21:04 +0300 Subject: [PATCH 1/2] mac80211: don't WARN on bad WMM parameters from buggy APs commit c470bdc1aaf36669e04ba65faf1092b2d1c6cabe upstream Apparently, some APs are buggy enough to send a zeroed WMM IE. Don't WARN on this since this is not caused by a bug on the client's system. This aligns the condition of the WARNING in drv_conf_tx with the validity check in ieee80211_sta_wmm_params. We will now pick the default values whenever we get a zeroed WMM IE. This has been reported here: https://bugzilla.kernel.org/show_bug.cgi?id=199161 Fixes: f409079bb678 ("mac80211: sanity check CW_min/CW_max towards driver") Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg Signed-off-by: Sudip Mukherjee --- net/mac80211/mlme.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 328ac10084e4..75909a744121 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1861,7 +1861,8 @@ static bool ieee80211_sta_wmm_params(struct ieee80211_local *local, params[ac].acm = acm; params[ac].uapsd = uapsd; - if (params[ac].cw_min > params[ac].cw_max) { + if (params->cw_min == 0 || + params[ac].cw_min > params[ac].cw_max) { sdata_info(sdata, "AP has invalid WMM params (CWmin/max=%d/%d for ACI %d), using defaults\n", params[ac].cw_min, params[ac].cw_max, aci); -- 2.11.0 --faf6ofvq4eibqrhw Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0002-mac80211-Fix-condition-validating-WMM-IE.patch" >>From 19ef91476432a4d6e2e9f6732c46906229accd44 Mon Sep 17 00:00:00 2001 From: Ilan Peer Date: Tue, 3 Apr 2018 11:35:22 +0300 Subject: [PATCH 2/2] mac80211: Fix condition validating WMM IE commit 911a26484c33e10de6237228ca1d7293548e9f49 upstream Commit c470bdc1aaf3 ("mac80211: don't WARN on bad WMM parameters from buggy APs") handled cases where an AP reports a zeroed WMM IE. However, the condition that checks the validity accessed the wrong index in the ieee80211_tx_queue_params array, thus wrongly deducing that the parameters are invalid. Fix it. Fixes: c470bdc1aaf3 ("mac80211: don't WARN on bad WMM parameters from buggy APs") Signed-off-by: Ilan Peer Signed-off-by: Luca Coelho Signed-off-by: Johannes Berg Signed-off-by: Sudip Mukherjee --- net/mac80211/mlme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 75909a744121..4c59b5507e7a 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1861,7 +1861,7 @@ static bool ieee80211_sta_wmm_params(struct ieee80211_local *local, params[ac].acm = acm; params[ac].uapsd = uapsd; - if (params->cw_min == 0 || + if (params[ac].cw_min == 0 || params[ac].cw_min > params[ac].cw_max) { sdata_info(sdata, "AP has invalid WMM params (CWmin/max=%d/%d for ACI %d), using defaults\n", -- 2.11.0 --faf6ofvq4eibqrhw--