Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp2010460iob; Thu, 5 May 2022 13:12:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz93cmmJQjmPAgKjL+ub8j2UsxWWkToXh2kA2TSYNB9mHqd/jRrRODC2yj80/QaxldhZ4J/ X-Received: by 2002:a17:907:1625:b0:6f4:55aa:4213 with SMTP id hb37-20020a170907162500b006f455aa4213mr21205847ejc.594.1651781545523; Thu, 05 May 2022 13:12:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651781545; cv=none; d=google.com; s=arc-20160816; b=jOh4Qu6/bLsZCBq31gEd4vGY/A834JYGF5CXZcghF91BFhJDu3FhTXVjDYWAuuOOdk rZPX9NsZuSNTVgChufpcwPxnKFQOKpEYgai3x3IZ+1o/uMdU3R4yegx2ZLrLhDkCQ5P2 jY4i1DBiww5L7eZi6CEHa/47XTisVM4NeRpX8rc7EKVv2EJNZZclpUMYNRMiNq6i3Jfh AlEpuw5m5jNe21IxuDro8l4UmRfaMuOntiJRIG4lGyDiQ2SC+TLzy2ze7fvqZWUtcvVf bNJeF/vW6i3lTvwQ4oqwXmIuTXpI6Kw3bNKWd2waPl2kegYhm8UlSYsP5T2wYiOM7jRy zBgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4+JS7yIFwkwNKrdGzLo6p6ZrEoVqR91oWUpkqH+FxdQ=; b=0vrDH5DNUIwby/mz6PxV1XVyaYM15pv5dJVMCxovUBJfl5gBN4a0XM/GsRSfVnxEJM 4M5nB6DmYrNAiaP53QVyRQe7edHeFUcXRgNqS/OEoMbh7CyZahBRNmfPlidwets1RWNq LkDwtUuMo2pf9C+BV7ADFG6Qe3q13C48VPPQMUp1p/7Y4u3Yn1iWW552OwgJ6ywQ5/Zp dwSZ9JFrZu7FM65kUabm5AfYlHPSXyt1r661IjaXjeCtn/phuSuX1pXRH3BzyGgyRMuM DQJOC40mWb3Jopi2wWVSqAbvR2fKX22q1mwHcqnoS/FxjycSyPx5LWQfAi3b4HB7gEWk RkXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b="ynB/FkfC"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v9-20020a056402174900b00423d6efeafasi2757394edx.173.2022.05.05.13.12.02; Thu, 05 May 2022 13:12:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b="ynB/FkfC"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235909AbiEEBmu (ORCPT + 68 others); Wed, 4 May 2022 21:42:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235887AbiEEBmr (ORCPT ); Wed, 4 May 2022 21:42:47 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BAFA4A3D2 for ; Wed, 4 May 2022 18:39:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651714750; x=1683250750; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4+JS7yIFwkwNKrdGzLo6p6ZrEoVqR91oWUpkqH+FxdQ=; b=ynB/FkfCVplhKvqDTpcTTxKGu4LKymdS/DC6h4e437qGc9tJvCaGPKnh VORe+SG1lHQJ9o1LXocrCV2/givfN0lj/DVQgzGm+4m5ie7gPn07G12rE RqsE/ZiAAPNwxiptjh1E4Y91ZOtmk5w8CQ1YZWUvOEjgRjFX14i1ZPEco Q=; Received: from ironmsg-lv-alpha.qualcomm.com ([10.47.202.13]) by alexa-out.qualcomm.com with ESMTP; 04 May 2022 18:39:09 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg-lv-alpha.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2022 18:39:09 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 4 May 2022 18:39:08 -0700 Received: from bqiang-Celadon-RN.qca.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 4 May 2022 18:39:07 -0700 From: Baochen Qiang To: CC: Subject: [PATCH 2/3] ath11k: Don't check arvif->is_started before sending management frames Date: Thu, 5 May 2022 09:38:50 +0800 Message-ID: <20220505013851.1548789-3-quic_bqiang@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220505013851.1548789-1-quic_bqiang@quicinc.com> References: <20220505013851.1548789-1-quic_bqiang@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Commit 66307ca04057 ("ath11k: fix mgmt_tx_wmi cmd sent to FW for deleted vdev") wants both of below two conditions are true before sending management frames: 1: ar->allocated_vdev_map & (1LL << arvif->vdev_id) 2: arvif->is_started Actually the second one is not necessary cause with the first one we can make sure the vdev is present. Also use ar->conf_mutex to synchronize vdev delete and mgmt. TX. This issue is found in case of Passpoint scenario where ath11k needs to send action frames before vdev is started. Fix it by removing the second condition. Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 Fixes: 66307ca04057 ("ath11k: fix mgmt_tx_wmi cmd sent to FW for deleted vdev") Signed-off-by: Baochen Qiang --- drivers/net/wireless/ath/ath11k/mac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 6e6b8562b481..db6a38b98765 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -5551,8 +5551,8 @@ static void ath11k_mgmt_over_wmi_tx_work(struct work_struct *work) } arvif = ath11k_vif_to_arvif(skb_cb->vif); - if (ar->allocated_vdev_map & (1LL << arvif->vdev_id) && - arvif->is_started) { + mutex_lock(&ar->conf_mutex); + if (ar->allocated_vdev_map & (1LL << arvif->vdev_id)) { ret = ath11k_mac_mgmt_tx_wmi(ar, arvif, skb); if (ret) { ath11k_warn(ar->ab, "failed to tx mgmt frame, vdev_id %d :%d\n", @@ -5570,6 +5570,7 @@ static void ath11k_mgmt_over_wmi_tx_work(struct work_struct *work) arvif->is_started); ath11k_mgmt_over_wmi_tx_drop(ar, skb); } + mutex_unlock(&ar->conf_mutex); } } -- 2.25.1