public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Louis Kotze <loukot@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: pkshih@realtek.com, rtl8821cerfe2@gmail.com,
	linux-kernel@vger.kernel.org, Louis Kotze <loukot@gmail.com>
Subject: [PATCH 2/2] wifi: rtw89: phy: make RF calibration timeouts non-fatal on USB
Date: Fri, 10 Apr 2026 10:00:17 +0200	[thread overview]
Message-ID: <20260410080017.82946-3-loukot@gmail.com> (raw)
In-Reply-To: <20260410080017.82946-1-loukot@gmail.com>

On USB adapters, RF calibration timeouts can still occasionally occur
despite the increased timeout values, particularly under system load
or USB bus contention. However, the radio typically continues to
operate correctly despite an incomplete calibration — the timeout
does not indicate a hardware failure.

Make calibration timeouts and bad state returns non-fatal on USB by
logging at debug level and continuing, rather than returning
-ETIMEDOUT/-EFAULT which can cascade into a connection failure or
disconnect.

PCIe error handling is unchanged — timeouts remain fatal on PCIe
where they indicate a real problem.

Signed-off-by: Louis Kotze <loukot@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/phy.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
index 4d809df8b..a06bea88e 100644
--- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
@@ -3972,9 +3972,21 @@ int rtw89_phy_rfk_report_wait(struct rtw89_dev *rtwdev, const char *rfk_name,
 	time_left = wait_for_completion_timeout(&wait->completion,
 						msecs_to_jiffies(ms));
 	if (time_left == 0) {
+		if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) {
+			rtw89_debug(rtwdev, RTW89_DBG_RFK,
+				    "RF %s timeout (non-fatal on USB)\n",
+				    rfk_name);
+			goto out;
+		}
 		rtw89_warn(rtwdev, "failed to wait RF %s\n", rfk_name);
 		return -ETIMEDOUT;
 	} else if (wait->state != RTW89_RFK_STATE_OK) {
+		if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) {
+			rtw89_debug(rtwdev, RTW89_DBG_RFK,
+				    "RF %s state %d (non-fatal on USB)\n",
+				    rfk_name, wait->state);
+			goto out;
+		}
 		rtw89_warn(rtwdev, "failed to do RF %s result from state %d\n",
 			   rfk_name, wait->state);
 		return -EFAULT;
-- 
2.53.0


  parent reply	other threads:[~2026-04-10  8:00 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-26 17:02 [PATCH rtw-next 00/12] wifi: rtw89: Add support for RTL8922AU Bitterblue Smith
2026-03-26 17:03 ` [PATCH rtw-next 01/12] wifi: rtw89: usb: Disable MLO for now Bitterblue Smith
2026-03-30  2:59   ` Ping-Ke Shih
2026-04-04 14:07     ` Bitterblue Smith
2026-03-26 17:04 ` [PATCH rtw-next 02/12] wifi: rtw89: usb: Support 2 bulk in endpoints Bitterblue Smith
2026-03-30  3:16   ` Ping-Ke Shih
2026-03-26 17:04 ` [PATCH rtw-next 03/12] wifi: rtw89: Fix rtw89_usb_ops_mac_lv1_rcvy() for RTL8922AU Bitterblue Smith
2026-03-30  3:36   ` Ping-Ke Shih
2026-03-26 17:05 ` [PATCH rtw-next 04/12] wifi: rtw89: Fix rtw89_usb_ops_mac_pre_init() " Bitterblue Smith
2026-03-30  3:39   ` Ping-Ke Shih
2026-03-26 17:05 ` [PATCH rtw-next 05/12] wifi: rtw89: Fix rtw89_usb_ops_mac_post_init() " Bitterblue Smith
2026-03-30  3:41   ` Ping-Ke Shih
2026-03-26 17:06 ` [PATCH rtw-next 06/12] wifi: rtw89: usb: Enable RX aggregation " Bitterblue Smith
2026-03-30  3:46   ` Ping-Ke Shih
2026-04-01 22:58     ` Bitterblue Smith
2026-03-26 17:06 ` [PATCH rtw-next 07/12] wifi: rtw89: Fix rtw8922a_pwr_{on,off}_func() for USB Bitterblue Smith
2026-03-30  3:54   ` Ping-Ke Shih
2026-03-26 17:07 ` [PATCH rtw-next 08/12] wifi: rtw89: Let hfc_param_ini have separate settings for USB 2/3 Bitterblue Smith
2026-03-30  3:59   ` Ping-Ke Shih
2026-03-26 17:08 ` [PATCH rtw-next 09/12] wifi: rtw89: Add rtw8922a_hfc_param_ini_usb{2,3} Bitterblue Smith
2026-03-30  4:01   ` Ping-Ke Shih
2026-03-26 17:08 ` [PATCH rtw-next 10/12] wifi: rtw89: Add rtw8922a_dle_mem_usb{2,3} Bitterblue Smith
2026-03-30  4:25   ` Ping-Ke Shih
2026-03-26 17:09 ` [PATCH rtw-next 11/12] wifi: rtw89: Add rtw8922au.c Bitterblue Smith
2026-03-30  4:27   ` Ping-Ke Shih
2026-03-26 17:09 ` [PATCH rtw-next 12/12] wifi: rtw89: Enable the new rtw89_8922au module Bitterblue Smith
2026-03-30  4:30   ` Ping-Ke Shih
2026-03-30  2:53 ` [PATCH rtw-next 00/12] wifi: rtw89: Add support for RTL8922AU Ping-Ke Shih
2026-04-01 17:43   ` Bitterblue Smith
2026-04-02  0:48     ` Ping-Ke Shih
2026-04-07 20:41       ` Bitterblue Smith
2026-04-08  0:46         ` Ping-Ke Shih
2026-04-10  8:00           ` [PATCH 0/2] wifi: rtw89: fix RF calibration for USB transport Louis Kotze
2026-04-10  8:00             ` [PATCH 1/2] wifi: rtw89: phy: increase RF calibration timeouts " Louis Kotze
2026-04-14  6:32               ` Ping-Ke Shih
2026-04-15 11:13                 ` Louis Kotze
2026-04-10  8:00             ` Louis Kotze [this message]
2026-04-14  6:39               ` [PATCH 2/2] wifi: rtw89: phy: make RF calibration timeouts non-fatal on USB Ping-Ke Shih
2026-04-15 11:13                 ` Louis Kotze
2026-04-15 11:13             ` [PATCH v2] wifi: rtw89: phy: increase RF calibration timeouts for USB transport Louis Kotze
2026-04-16  1:15               ` Ping-Ke Shih
2026-04-16  4:56                 ` Louis Kotze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260410080017.82946-3-loukot@gmail.com \
    --to=loukot@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pkshih@realtek.com \
    --cc=rtl8821cerfe2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox