From patchwork Tue Jun 4 11:38:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maharaja Kennadyrajan X-Patchwork-Id: 10974785 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 269C513AD for ; Tue, 4 Jun 2019 11:36:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 14498285AF for ; Tue, 4 Jun 2019 11:36:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 08B72285E0; Tue, 4 Jun 2019 11:36:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A1D29285AF for ; Tue, 4 Jun 2019 11:36:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=OmvFqdzWkmsWEEMcsW+mw2mSE01VC/dpBGQ/e/E1ks4=; b=FsT RBlGqeF2+i14+IHzlGJ6CLZ310RPQzJoJc+yrcBMZKO50jhMjPDqx6W/lsB4FmpcD77y8eLF666PD XhA9kzJec8NUrkhxpAMo99c/jd9t0/WhpV/6h03RBmX4mYFTTecshRkAmj5YKenAxjOcoNRGlfRbB NvCkieMPGydAQgyt/DQZQaD/yshEDHwGgclj8wjyKGf7NdsM/fAizXUH2XOjFu5l4CI5ZegrZdN9H JeXAjSD8mjrbicrKGmELzCNsGOXnMtN9G/HcMNcVvgRd9j6iIKo9i1tc65YthsuWmOzY2HxYSEtbc cp+ywbltsJS4w3v1/mar5WqXDtm8k/A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hY7k9-0002eL-Ui; Tue, 04 Jun 2019 11:36:41 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hY7k7-0002e2-2w for ath11k@lists.infradead.org; Tue, 04 Jun 2019 11:36:40 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id BC10C60E40; Tue, 4 Jun 2019 11:36:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559648198; bh=II1LMiTYq+cHbBD4J9n1TA2WUCP4aDrRyStxqueCHiQ=; h=From:To:Cc:Subject:Date:From; b=i9hMLLwl8pZVAuke/nKSb6v+t5AZMUjYp6tzMBslXqhJuhzPNaagswxhrxHDWL2k1 RcrNTzXntBbn6CRsmot+5dezHrkJ9PpHksjO6Yfji5+V0o+F0pYZlwhT3A8ANquAgu l97GH+60qIEa0+JVPVdHsMqsYFn4Zge9LZsUUuiY= Received: from che-swdbs-01.qca.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: mkenna@codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 50FAB60DAB; Tue, 4 Jun 2019 11:36:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559648198; bh=II1LMiTYq+cHbBD4J9n1TA2WUCP4aDrRyStxqueCHiQ=; h=From:To:Cc:Subject:Date:From; b=i9hMLLwl8pZVAuke/nKSb6v+t5AZMUjYp6tzMBslXqhJuhzPNaagswxhrxHDWL2k1 RcrNTzXntBbn6CRsmot+5dezHrkJ9PpHksjO6Yfji5+V0o+F0pYZlwhT3A8ANquAgu l97GH+60qIEa0+JVPVdHsMqsYFn4Zge9LZsUUuiY= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 50FAB60DAB Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=mkenna@codeaurora.org From: Maharaja Kennadyrajan To: ath11k@lists.infradead.org Subject: [PATCH] ath11k: Disable peer fixed rate before setting the vdev fixed rate Date: Tue, 4 Jun 2019 17:08:00 +0530 Message-Id: <1559648280-16284-1-git-send-email-mkenna@codeaurora.org> X-Mailer: git-send-email 1.7.9.5 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190604_043639_144031_1967AB14 X-CRM114-Status: GOOD ( 10.12 ) X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Maharaja Kennadyrajan MIME-Version: 1.0 Sender: "ath11k" Errors-To: ath11k-bounces+patchwork-ath11k=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP As per the firmware design, peer fixed rate should be disabled before setting the VDEV fixed rate again. When it is not disabled, then the user can't set the legacy rate(VDEV fixed rate) after setting peer fixed rate(as peer fixed rate has higher priority in the rate setting). Signed-off-by: Maharaja Kennadyrajan --- drivers/net/wireless/ath/ath11k/mac.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index cb0de8e2aa60..cb1189136959 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -4573,6 +4573,23 @@ static void ath11k_mac_set_bitrate_mask_iter(void *data, ieee80211_queue_work(ar->hw, &arsta->update_wk); } +static void ath11k_mac_disable_peer_fixed_rate(void *data, + struct ieee80211_sta *sta) +{ + struct ath11k_vif *arvif = data; + struct ath11k *ar = arvif->ar; + int ret; + + ret = ath11k_wmi_set_peer_param(ar, sta->addr, + arvif->vdev_id, + WMI_PEER_PARAM_FIXED_RATE, + WMI_FIXED_RATE_NONE); + if (ret) + ath11k_warn(ar->ab, + "failed to disable peer fixed rate for STA %pM ret %d\n", + sta->addr, ret); +} + static int ath11k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -4620,6 +4637,9 @@ ath11k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw, arvif->vdev_id, ret); return ret; } + ieee80211_iterate_stations_atomic(ar->hw, + ath11k_mac_disable_peer_fixed_rate, + arvif); } else if (ath11k_mac_bitrate_mask_get_single_nss(ar, band, mask, &single_nss)) { rate = WMI_FIXED_RATE_NONE;