Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2326787imm; Mon, 28 May 2018 06:07:55 -0700 (PDT) X-Google-Smtp-Source: AB8JxZporceuwwlYeSpiNMkdnmTwRVNLATOJqaJts4fU8utgxIMSYE6vKXnL5lpKpPUdzZBI1uiC X-Received: by 2002:a63:770b:: with SMTP id s11-v6mr9947134pgc.339.1527512874995; Mon, 28 May 2018 06:07:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527512874; cv=none; d=google.com; s=arc-20160816; b=EDjz1Hdsbb2+8JZ4hUbNmo/Gm2iFAHfEPnj7HM3rCgYERIJNMzO1N9SHdFyCJIMSiz VmOPY6QC4OqOIs2X6CgkVvmnDo0AIFQF5ZsCRmNaRpD9WlboWHFP6dsGgeak4oNLxgs4 eYSPM/p3mNrsOuLBYUpHjk6aROQ5kkrmRZT6N5CDYgDGwiXVG5XStH7z4bw93JzxFL8n iJ7xs6XoONssbDniNQSOWARa3T3aWPag1x0WAeP3he0uHTPA5ZGTclGNynGUx/C40CpE 844J8yGIhWeVxugcv+0eLNLMScyBuCGKBIQ5PG1U+PORMYvcbMXGpn/ChvQMETxjxq8t ZQdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=AeZpFjAm/Dc7PUtTA85aSc/fEYD4xTYxo73dEzWcvOc=; b=nfUKYjBFxa0BsaFmfQlHtvU1GI/YuvN5h5KeVfg2diFUrMOymsv61Y9cZcNF9m9o6O BV4rY2otPB1b3XuKK2Uqq1F5kLSXf7CjsmbDEhCpOaNoXu6BSwpo8C1eYUHei2GZpjXD Int+lOrxCoDg/6RsteFGGoz6un3O1FDzWoCzoZyV5GJim7+7aT2kbMyaZnCe/ke9d9u/ gPZRDdYfaXtKX+sRl8aagunTq8BLjioxMUyHpPCOnqPzKQBn6erSbf4JnumEzFrF5LHl JX6N5W64/+pWKSOAXOTe1yn1AoxnF2NzCcwkQqgQGdrmgQbzOLET3flJ1qTMOBElSUsE d5Dw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EFu+pVp3; 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 u6-v6si23140591pgv.420.2018.05.28.06.07.40; Mon, 28 May 2018 06:07:54 -0700 (PDT) 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=EFu+pVp3; 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 S1165169AbeE1NFY (ORCPT + 99 others); Mon, 28 May 2018 09:05:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:41936 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1164005AbeE1Kwj (ORCPT ); Mon, 28 May 2018 06:52:39 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 4995C2089E; Mon, 28 May 2018 10:52:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527504758; bh=bq6Z587EZRkC1A2Ii5KJLYa3to9zMYn6LOAEZ0/gN9g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EFu+pVp3lgubFG/L7JWc92z73AXOPA2W5u4xa9H3XFx+/LIffQiuu5JniIjV/NXcF KwtexexxeYGVPi+rj9zezw8+QUyKACpMrU06wP5HruU4txQQ1kBDGvNcDzaToYSRWr OYIzZKNLv7gvey7EIX564LngSU66EvK/beMlZzck= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Emmanuel Grumbach , Luca Coelho , Sasha Levin Subject: [PATCH 4.14 254/496] iwlwifi: mvm: set the correct tid when we flush the MCAST sta Date: Mon, 28 May 2018 12:00:39 +0200 Message-Id: <20180528100330.590090443@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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: Emmanuel Grumbach [ Upstream commit 334167decf98f01a66c91ea84180c278bc4ad290 ] The tid being used for the queue (cab_queue) for the MCAST station has been changed recently to be 0 (for BE). The flush path still flushed only the special tid (15) which means that the firmware wasn't flushing the right queue and we could get a firmware crash upon remove station if we had an MCAST packet on the ring. The current code that flushes queues for a station only differentiates between internal stations (stations that aren't instantiated in mac80211, like the MCAST station) and the non-internal ones. Internal stations can be either: BCAST (beacons), MCAST (for cab_queue), GENERAL_PURPOSE (p2p dev, and sniffer injection). The internal stations can use different tids. To make the code simpler, just flush all the tids always and add the special internal tid (15) for internal stations. The firmware will know how to handle this even if we hadn't any queue mapped that that tid. Fixes: e340c1a6ef4b ("iwlwifi: mvm: Correctly set the tid for mcast queue") Signed-off-by: Emmanuel Grumbach Signed-off-by: Luca Coelho Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -1879,14 +1879,12 @@ int iwl_mvm_flush_sta(struct iwl_mvm *mv struct iwl_mvm_int_sta *int_sta = sta; struct iwl_mvm_sta *mvm_sta = sta; - if (iwl_mvm_has_new_tx_api(mvm)) { - if (internal) - return iwl_mvm_flush_sta_tids(mvm, int_sta->sta_id, - BIT(IWL_MGMT_TID), flags); + BUILD_BUG_ON(offsetof(struct iwl_mvm_int_sta, sta_id) != + offsetof(struct iwl_mvm_sta, sta_id)); + if (iwl_mvm_has_new_tx_api(mvm)) return iwl_mvm_flush_sta_tids(mvm, mvm_sta->sta_id, - 0xFF, flags); - } + 0xff | BIT(IWL_MGMT_TID), flags); if (internal) return iwl_mvm_flush_tx_path(mvm, int_sta->tfd_queue_msk,