From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 BEACC3ACA78 for ; Fri, 10 Apr 2026 08:00:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808041; cv=none; b=DOdDtJ8jC6lalatiqAZowp4H51g+cnZPBFnd9Xm5jK9hMBeD6ynH/UXMFdwnu2PTMHZz8+Lhjsa8iO5L3n0piWMD35KA/mWiLaMhE+YYBXMNNd8lU/d8IAobc5shsBZDOeqgU0o5+GLH02REODX4vVEiV1NU7StsWkpjzHGg7Do= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808041; c=relaxed/simple; bh=VPddwM7q9ai+Mc+Hm7URp9mhZzBpJZSUIvlqgPihycU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XSZS7vCJZqbVqi4IqTixhNKzF0xuYlJwKYIKaVKlEno9F91D5mcw6y6jRfvM+37qJrXY07TTziGD9ftcBlJwW4ud5cauVP7ZUJnkOENjXLAl2gVZsFkzQamKxjQVw+tgoWVWRkF5+W99GDwF3CesGYFFYqN3GgbT1Xefu22+Em4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LrZEVRu1; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LrZEVRu1" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-43d5e87a507so1288809f8f.3 for ; Fri, 10 Apr 2026 01:00:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775808038; x=1776412838; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FH4qigFMvJKamcVu6PpJKnPBitJ1tPD2bAQZHpobGMY=; b=LrZEVRu1cF8ARTyxV7oe+qNycEiPSievJ3j7kt8tptvwyUXYdg9DvGmRh71rOfr7zV tuSIU272nYeAR4/+R6p6jdZuxwmFtyfqfKZGG90btFJRspgcZJ6d4G15tYvCntn2VC/N kk3cmt1+AmtZZAtPAsSB3979mE7RFZHh6xJ/BsPH+XJajg1Iq1IklY5SAmebJdHufo+S CZ4IpsK7ArJHRoU88GgpDkX3B1F4Ao/jVd82lhTUn+IrtafglwAAdYuIQKHPJ3jHB1Nj A3Y2BZRAHOjfRedIim2CXrLBDvAJqdMbbpyRqKbGJPEy/m4WJKtPBKggsesF4YhssTkW j2NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775808038; x=1776412838; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=FH4qigFMvJKamcVu6PpJKnPBitJ1tPD2bAQZHpobGMY=; b=Xf6QXM2AveAgEpe6SooJvM9tVxZbnhJTk52MdnQ9HMWzSdPOaoOw5sFMPL1AOPMeY/ CHNqtNKoGwWcX+MUpp195+Q3KzQ7QTV1scHGYtMA9irqCkz8Fc95DzMKBsNZPtDqj0SO 1i2nv1ffcpHIFMDbSfxRkX7rsAgBbYNwf+FM5StuwTTWc6cah9Xo+sJAoT81Aa+Uu47/ 1/0UciQjW/ttuPOY1En28OIKcgyHXyvqp1DXgVfSAaqPyPehYteag0/STi5yQQU/ngUd H7NdnrqeTU61NwV+wISyaGdZJNEwFXzRhwlkhqg62JRv5M1Gyq9cP2gtOvsvPuM6mUR5 JAQQ== X-Forwarded-Encrypted: i=1; AJvYcCWUyWPa0JqEcwqcyAZzGw/GHVbAYfqtGheIbNuNzynHWXTpGPo7y7NFDwzvwZ69RmD+vE4Or+YImf7qoe4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/KYW/s5ZDn5JQbNOe6MPU3RTeovolM0AeRCXk0WSF76xnrB3g XDA9UFHdeKTIM1wdn3mV1Ehxl7q+z+0fKliBRyuiDHxDqcVamRe6RrPf X-Gm-Gg: AeBDiet+tWP4BfgabWbktM9XCpF+QWeuubv1fH/abwH2TiwFZsuhY/2VDG/MnRkLjp1 PamyUP0VIo76kMuZh4Pvajs22ZMBbvCau98UQOKzOI5xDn+TSlc3s2aw/rgD+BqgpX1L4CYH6U+ 37O9QaZ98KKyQnllurvLMBObEd6fInEpykHkcej6sYHL0i2TL+WmZf4H5zOxsSPaazRlOFO2lO3 jAIqMDR6xuOSYOtS859nuVJWLfpe6srUIlvNz+AF4OousFWVqdCs2E99oOSF/N4wRIDipkLKRB4 cIS6erm513esBUA2d3UPe7nmWBWd1y0VOH4Z+rwOUpkfsJl0UU45IwKXaQmDiSE7BOYIShWwIsK zGua2/3basSDsRpr9I68mXEOEypIjtvFbX0KETq8OS+EaAOrKPCvytb3S8m1HTEayTSkI+M5hpx pf5n2YyVJ+n9BoK4M= X-Received: by 2002:a05:6000:1ac5:b0:43d:4df5:3de with SMTP id ffacd0b85a97d-43d642c5029mr2857827f8f.31.1775808037584; Fri, 10 Apr 2026 01:00:37 -0700 (PDT) Received: from bazzite ([102.128.175.252]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e5c98fsm5891151f8f.35.2026.04.10.01.00.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 01:00:36 -0700 (PDT) From: Louis Kotze To: linux-wireless@vger.kernel.org Cc: pkshih@realtek.com, rtl8821cerfe2@gmail.com, linux-kernel@vger.kernel.org, Louis Kotze Subject: [PATCH 2/2] wifi: rtw89: phy: make RF calibration timeouts non-fatal on USB Date: Fri, 10 Apr 2026 10:00:17 +0200 Message-ID: <20260410080017.82946-3-loukot@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410080017.82946-1-loukot@gmail.com> References: <795a8567fdbe48babc5cf0f2b5e10c0a@realtek.com> <20260410080017.82946-1-loukot@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- 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