From nobody Sun Feb 8 06:33:51 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AC1C1A9B49 for ; Mon, 20 Jan 2025 09:47:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737366425; cv=none; b=QkSFjEmvv7+zQPWqCN0jS+6gYIXED1trmQdjvyfVam4SOKHcpZx8aUNUfOKfW+srxhc2/toeVehCgT1m4s0kPzu+3YwiRUVvs7v+ie3SmShwsMlfi5+FviJfhP09yeRS9letuXv5lyFRfi/hEHYkiiODgnC14d8yPAjgVmWUp8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737366425; c=relaxed/simple; bh=CLtH6u90O+N7mDiNWKKTvhQAJx7W2UlPQbyMWSmfrks=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=miB0ltNi+e6DhLpxSuH6AITrTqfTT6DTCyTFfQfRFNL7w9SJXJCXXzNcdwmIX7XxaoSImWFhaQjR3/0e5YtlnGpD0S+3dR51wIFJNkuxKTnuFWYm+7TqmTqDV1oYls94qkoyXnZTNuaBLCNX4mDe685PrOFIjjHh2nPW6xHsqHM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Vj+7Pt//; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Vj+7Pt//" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3863c36a731so3672122f8f.1 for ; Mon, 20 Jan 2025 01:47:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1737366422; x=1737971222; darn=vger.kernel.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=VM6sOkfE8iqC95N0AKyRjkMPid32wJ87nN4QCxrUuqo=; b=Vj+7Pt//YpE+KQ+Lotti2s+qxJrq1UCy5MJJE5uWS+uMWfI8m3+6MQFjQ69NOfn4B0 dE7xluF2BumlkbvdrDn7+jQx+TgJ/2HjqyLrnbd+eKza9YE19sEWugxN87R2O5Yt32mC UFGw4IhwhNB8V4OcE7Ghzc1yfw8XfOZVrbO+v/sfGA4KWCNlWa7RWUEc5P8xFuh6TGv4 T7nGFraeYOcBF25iF53O7fbLtzsins72xHMZm725iflIknKUfzjYHqs7vjzUMId6saZ6 uyVPM+A5bC8ORXdA1WxAXj5ls6GguCsdzbESF0hKiZMItXRWGvLnORQbJpwBMT5rMzLq 5FRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737366422; x=1737971222; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VM6sOkfE8iqC95N0AKyRjkMPid32wJ87nN4QCxrUuqo=; b=gLip/6ewdjYkDQ7wzPq90lsUkWiVfpMOSGumtEj/gAaKUZtnt4FsJcMzUNmbQU1lE1 GXQ8U4E8cVOFWoJYvKpapm5wb5TsebizJ0c5DPRoRdLEZXt8ysosZ4qSulp3G7zTMRaA 1sKAaGbCFGYzMVDSLr6WftCF5OZCfGfo00E9WYYN7CP47KIgNhX0xHt53kLrTY8eqL4K EFHdWrfCrjfBopMYYf0Xr3JDylTrfglw58Q/VMMqn9kZCXSB29VwluKoqP/V4yPFlS24 UqOyhS/OJMYGjm6HuQ1oJvr/HaWmWc4VtgZE97zqWD8KpNXPW88LVTd7xSLSvS6SU+QV 9Izg== X-Forwarded-Encrypted: i=1; AJvYcCUOiDd1LhRohMvPa3VkWmpKAZDxoCc9EXQj9w8D//Foun8ddYRgQA2qmYb7eY4svgQ+PXWOnVYzv8Jab6E=@vger.kernel.org X-Gm-Message-State: AOJu0Yzg6SZQZp+DvtNMBo3h9F2xcDWC2Nt2nMNg7N7TJ2kY4Nr+aKE2 Ei16foQuX4GAPqX24C/Z0R0KJdKlk0Xx68mk9Vg8cIqHIjCKDVEDUzf1HJXTXdI= X-Gm-Gg: ASbGncsRC6EdcNHyMOWKKLeEIF3jHxE6wKv2cV81eND4uGh0Mw3jVS/j/C/9soPhJgp PtX/MZyTh3xwJPspXTr8fuZxn55j/rAJxnxVGYh1y5XjqIw9uAxDYmqlmfQ1a/1KaKlP7rXyq8u 52hkHVWk2Rrl9spduy18LBZJB/gEyhk0crpLFE2/Pp45dQzQUNlsY+uoOS3nCZjh0JbSB4MKWdN S5jLPWWYu5HrQEbP7JeQsOTnvB5zkZ5O4FlYav2leYMrTqHul4k7hBLaHKp4PwoiOxy0/gRp1Y= X-Google-Smtp-Source: AGHT+IGPG329V2074yOYSMY1ziObuL2UZ+m5lYehxxQsiJfOBHTxj4D3R6O9lmeqMjiIW6U9yiBaRw== X-Received: by 2002:adf:9bca:0:b0:386:3356:f3ac with SMTP id ffacd0b85a97d-38bf57937a7mr7522401f8f.26.1737366422340; Mon, 20 Jan 2025 01:47:02 -0800 (PST) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38bf32758dbsm10018595f8f.64.2025.01.20.01.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jan 2025 01:47:01 -0800 (PST) Date: Mon, 20 Jan 2025 12:46:58 +0300 From: Dan Carpenter To: Ming Yen Hsieh Cc: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Kalle Valo , Matthias Brugger , AngeloGioacchino Del Regno , Deren Wu , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, kernel-janitors@vger.kernel.org Subject: [PATCH next] wifi: mt76: mt7925: fix error checking in mt7925_mcu_uni_rx/tx_ba() Message-ID: <063aafdf-3234-42ac-a4ea-3ff98e2835b6@stanley.mountain> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline X-Mailer: git-send-email haha only kidding Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The "ret" variable in mt7925_mcu_uni_[rx/tx]_ba() needs to be signed for the if (ret < 0) condition to be true. Also the mt7925_mcu_sta_ba() function returns positive values on success. The code currently returns whatever non-negative value was returned on the last iteration. It would be better to return zero on success. This function is called from mt7925_ampdu_action() which does not check the return value so the return value doesn't affect runtime. However, it still makes sense to return zero even though nothing is affected in the current code. Fixes: eb2a9a12c609 ("wifi: mt76: mt7925: Update mt7925_mcu_uni_[tx,rx]_ba = for MLO") Signed-off-by: Dan Carpenter --- drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/= wireless/mediatek/mt76/mt7925/mcu.c index 15815ad84713..b3a00964e802 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -617,7 +617,8 @@ int mt7925_mcu_uni_tx_ba(struct mt792x_dev *dev, struct mt792x_bss_conf *mconf; unsigned long usable_links =3D ieee80211_vif_usable_links(vif); struct mt76_wcid *wcid; - u8 link_id, ret; + u8 link_id; + int ret; =20 for_each_set_bit(link_id, &usable_links, IEEE80211_MLD_MAX_NUM_LINKS) { mconf =3D mt792x_vif_to_link(mvif, link_id); @@ -630,10 +631,10 @@ int mt7925_mcu_uni_tx_ba(struct mt792x_dev *dev, ret =3D mt7925_mcu_sta_ba(&dev->mt76, &mconf->mt76, wcid, params, enable, true); if (ret < 0) - break; + return ret; } =20 - return ret; + return 0; } =20 int mt7925_mcu_uni_rx_ba(struct mt792x_dev *dev, @@ -647,7 +648,8 @@ int mt7925_mcu_uni_rx_ba(struct mt792x_dev *dev, struct mt792x_bss_conf *mconf; unsigned long usable_links =3D ieee80211_vif_usable_links(vif); struct mt76_wcid *wcid; - u8 link_id, ret; + u8 link_id; + int ret; =20 for_each_set_bit(link_id, &usable_links, IEEE80211_MLD_MAX_NUM_LINKS) { mconf =3D mt792x_vif_to_link(mvif, link_id); @@ -657,10 +659,10 @@ int mt7925_mcu_uni_rx_ba(struct mt792x_dev *dev, ret =3D mt7925_mcu_sta_ba(&dev->mt76, &mconf->mt76, wcid, params, enable, false); if (ret < 0) - break; + return ret; } =20 - return ret; + return 0; } =20 static int mt7925_load_clc(struct mt792x_dev *dev, const char *fw_name) --=20 2.45.2