From patchwork Mon Nov 21 05:53:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Ma X-Patchwork-Id: 1707028 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=VL0YSivx; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NFxRC3dQKz23nW for ; Mon, 21 Nov 2022 16:54:15 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1owzks-0003Oi-RI; Mon, 21 Nov 2022 05:54:06 +0000 Received: from smtp-relay-canonical-1.internal ([10.131.114.174] helo=smtp-relay-canonical-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1owzki-0003BW-1C for kernel-team@lists.ubuntu.com; Mon, 21 Nov 2022 05:53:56 +0000 Received: from localhost.localdomain (unknown [222.129.35.255]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id A5B5F41D17 for ; Mon, 21 Nov 2022 05:53:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1669010035; bh=WSjO/1wuE4QKy4DqPR6JPisQ5QdYKqEA61PHR/EmAPs=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VL0YSivxug++wBtGzlI1gBwx7FTgYJG6ySMTBYDjdGJSFlGX+ztaA3hbmYXlN52N6 j9mptrDrBQeFon92J/d2HA3HPkO+RzUucBkqvU5pdv7y+1LOqDFUahFM04qPbsJtZF ohTarBQ98gxu+jkMmz18J/W9vZIxYlpReWbw8rN1mA5QCK7Uw/AlfJUvPQ32Rlov+E EofQUK0+jSeFWoXLvDKZmHHgxXknW+4IElDvTO6M/QEuPcaAQjC/78sqfBn9dTZ9eA rD558sWl/Cg7xjfW5+pxxUVYcGcNOOjEtGrlRX01nd3oQLKhv3nZv3XEdAR796tELs 0llgQk9h7MgaQ== From: Aaron Ma To: kernel-team@lists.ubuntu.com Subject: [J][PATCH 6/8] mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config Date: Mon, 21 Nov 2022 13:53:33 +0800 Message-Id: <20221121055335.3714-7-aaron.ma@canonical.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221121055335.3714-1-aaron.ma@canonical.com> References: <20221121055335.3714-1-aaron.ma@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Lorenzo Bianconi BugLink: https://bugs.launchpad.net/bugs/1997200 Check return code from mt76_connac_mcu_set_rate_txpower() in mt7921_config routine. Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau (cherry picked from commit 5d461321c93013edf839a7a3fea2845cc3073ca8) Signed-off-by: Aaron Ma --- drivers/net/wireless/mediatek/mt76/mt7921/main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/main.c b/drivers/net/wireless/mediatek/mt76/mt7921/main.c index f5ea4405db11b..65ec943b9c252 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/main.c @@ -455,7 +455,7 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed) { struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_phy *phy = mt7921_hw_phy(hw); - int ret; + int ret = 0; if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { ieee80211_stop_queues(hw); @@ -467,8 +467,11 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed) mt7921_mutex_acquire(dev); - if (changed & IEEE80211_CONF_CHANGE_POWER) - mt76_connac_mcu_set_rate_txpower(phy->mt76); + if (changed & IEEE80211_CONF_CHANGE_POWER) { + ret = mt76_connac_mcu_set_rate_txpower(phy->mt76); + if (ret) + goto out; + } if (changed & IEEE80211_CONF_CHANGE_MONITOR) { bool enabled = !!(hw->conf.flags & IEEE80211_CONF_MONITOR); @@ -483,9 +486,10 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed) mt76_wr(dev, MT_WF_RFCR(0), phy->rxfilter); } +out: mt7921_mutex_release(dev); - return 0; + return ret; } static int