From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 5BC1744E679 for ; Fri, 24 Jul 2026 22:53:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784933627; cv=none; b=gi5ePMlQCtJOtRr18UMelwhzbRpMYkwk940OPN70+FD9xY2iA2Ip33d4uu+huWuShP1KdNuuggV6oPU4s3YcxXoHjtHygqAeM6mJ1C74M7Egnof8rZ1S9im+VAMLvdl24KQLlXMQyfutm0C72pNN4cuaGfE5MFc6BR6xy7s+l88= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784933627; c=relaxed/simple; bh=G1KRuzLWlppfbpDPfjS3SPYT3SM6HjFCw6jdVoogfOQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=EpxRuEtmtc1hoQ5ocpGpMa+5IWhyXW6neeG1zi25gYPqucdRgac0+fZnT+A3VliAPq08rV7GIaBDnkV2r92VOP7n1+JoI1CFq9QoGMtaL9Wt14CxBKEt3HdD0A/2CoSCFgrPNmg4rsBC7NFFUBl3g8yfmjsmpcbuQQRs3OGVYOs= 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=UNLMWoUr; arc=none smtp.client-ip=209.85.128.50 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="UNLMWoUr" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4954df200ddso6734105e9.0 for ; Fri, 24 Jul 2026 15:53:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784933615; x=1785538415; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=J8ldsZEUrwIIl9s0mESXWdsLuqTjjuPFtNa3yxETkTs=; b=UNLMWoUroeBReHCXDRUt8dgyd0iEHkZ8SIwPF+264DvnekWkMJSuxd7ARXB53EHwrw QlcXcAL691qKe+mFmGzo77pLZZyZIF4db3ButbxZ9z675DlpDyxgNXwAx7v4e43/2tuM mWuUuq+n9I32r4D8w4ENJaUfgkhSY7RatYnQ0Js9MEyKr6tvd4+ISfXW/i6f7Rh7DU1y v7BomvL89nvGC3+h2UsAqn1nd1NVfVfkIg/7O2ldBsF0azKvEDSY15cdNB4i26yGNHXN atIoRYHLlXObdSNPdx4RJ4gJ13Cp26/rNXM37aIEZcADxeu1vfyJlyFkz/OXuMJxbk0H vNcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784933615; x=1785538415; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=J8ldsZEUrwIIl9s0mESXWdsLuqTjjuPFtNa3yxETkTs=; b=NhFiwhm8U33Z4YbjanMfaN6BXA27sh/7KQmFGMa8xo8esZBoUEmIsNkZtOdABwlQiI ol9xjjoWVoEigqgqEmBET2qwdw02KMJqiaCnS+vBu964YJVmBo65x7brPj3CscH+64Fu 4aB47TmmuxZlSCv8ewKfbdePFQWf/AIj7opScnBZAcAvLkKBWCY9fi1qJ6nkYi8WRhsj cf5/D8pLrdA58sZI5RnNrGfPG3BU5RlLmLVzgFfRaV5Mi/mGeUGyxIGO4wUxOuU1flQn lkxK2SgpkjbiIkik7XbB0j1jlwTz0kYEOSv+I7LN/Xk9S89LX+tDBHGYU5LzMefLkr/G B9/g== X-Forwarded-Encrypted: i=1; AHgh+RpoASxFOoRSShHzaUAYb6C3Bo1+GQo7XqPSZpz+IXBgdyLl3W8laJxQ9/D15zTT/aO5azKB+g6BKsmE9TY=@vger.kernel.org X-Gm-Message-State: AOJu0Ywk8afhKMDIzRsVZvDaRt3/o30i2fScHudSNiVeUicuuTX/HjlT vC/IhnNT9el9sXSm57cE0uwYhqt7UHm2s8yuLvtFUKb4SXGoyOP93bQK X-Gm-Gg: AR+sD11cP2q+Cszis9I3I1KTVxAFSrwIWbTlw/Kyg23c3jXhiczAOOEjmxEVyTcYXZM 2Hk6g3OdeT/rQTlQViXGjufDhU8iQ9iEnFA3ZuyVRToOQI4JkQ7febUeo7AjxlrK5P3ZkFVPITD epKTCPg3dKh2qEY9gkOToTc22XON+n41wx5qBSJHmyZQaRwy6MDpALWMWEZF7+Xhy+nGZCCxCAH esVfUhh1uUrFTqbRUgNa5+Me1HaaZloupdy1DqtVrf450knFix4rCInqzaxgyE7bIBEec5uuway BDejurm+tto3Uy6IWHdsIgE/eZlDWcT0r/UW0KM4sG5vmE+T89HfI+LAkQxRATRcnqpG2hEM8gJ 1DFUUuT74e6OJWNX5HK1ObKf2BzNWYD0WxgTBAk+JKK5a8anITGy1E3VZ47jqZtxoETQ6JjH7dd pfRx1qmGI1 X-Received: by 2002:a05:600c:c8c:b0:493:b6ee:fcb7 with SMTP id 5b1f17b1804b1-496b56f39dbmr2142255e9.14.1784933614656; Fri, 24 Jul 2026 15:53:34 -0700 (PDT) Received: from [192.168.1.50] ([79.118.68.61]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-496b4866813sm27078245e9.8.2026.07.24.15.53.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Jul 2026 15:53:34 -0700 (PDT) Message-ID: <45f43cd2-af91-48a0-a0b5-5862824109ec@gmail.com> Date: Sat, 25 Jul 2026 01:53:32 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 04/19] wifi: rtw88: fw: handle the RTL8723BS management TX reports To: luka.gejak@linux.dev, Ping-Ke Shih Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Straube , Peter Robinson References: <20260724181858.192903-1-luka.gejak@linux.dev> <20260724181858.192903-5-luka.gejak@linux.dev> Content-Language: en-US From: Bitterblue Smith In-Reply-To: <20260724181858.192903-5-luka.gejak@linux.dev> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 24/07/2026 21:18, luka.gejak@linux.dev wrote: > From: Luka Gejak > > The vendor firmware used by the RTL8723BS does not report management > frame transmission through C2H_CCX_TX_RPT. It uses event 0x12, and > reuses 0x32 for scan probe reports, which rtw88 otherwise treats as a > WLAN_RFON event and completes the LPS leave check with. > > Route both events to the existing TX report handler for this chip, and > defer 0x32 to the worker instead of consuming it in the interrupt path, > so the reports are decoded and the LPS handshake is left alone. The > payload layout is the same as C2H_CCX_TX_RPT, so no separate decode is > needed. > This is not right. 0x12 and 0x32 are not C2H IDs, they are the first byte of the C2H_CCX_TX_RPT payload. Since this patch changes the way C2H_WLAN_RFON is handled, it might be responsible for some "failed to leave lps" messages? Maybe extending the timeout (patch 3/19) is not necessary after all? > Signed-off-by: Luka Gejak > --- > drivers/net/wireless/realtek/rtw88/fw.c | 18 ++++++++++++++++++ > drivers/net/wireless/realtek/rtw88/fw.h | 4 ++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c > index 945fedcd375b..a81ff15218e1 100644 > --- a/drivers/net/wireless/realtek/rtw88/fw.c > +++ b/drivers/net/wireless/realtek/rtw88/fw.c > @@ -317,6 +317,15 @@ void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb) > case C2H_CCX_TX_RPT: > rtw_tx_report_handle(rtwdev, skb, C2H_CCX_TX_RPT); > break; > + case C2H_VENDOR_TX_RPT: > + case C2H_WLAN_RFON: > + /* > + * The RTL8723BS firmware reports management TX through these > + * two events instead, using the same payload layout. > + */ > + if (rtw_is_8723bs(rtwdev)) > + rtw_tx_report_handle(rtwdev, skb, C2H_CCX_TX_RPT); > + break; > case C2H_BT_INFO: > rtw_coex_bt_info_notify(rtwdev, c2h->payload, len); > break; > @@ -365,6 +374,15 @@ void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset, > rtw_coex_info_response(rtwdev, skb); > break; > case C2H_WLAN_RFON: > + /* On 8723BS SDIO with v41 firmware, C2H 0x32 carries a scan TX > + * report, not a WLAN_RFON event: defer it to rtw_fw_c2h_cmd_handle(). > + */ > + if (rtw_is_8723bs(rtwdev)) { > + *((u32 *)skb->cb) = pkt_offset; > + skb_queue_tail(&rtwdev->c2h_queue, skb); > + ieee80211_queue_work(rtwdev->hw, &rtwdev->c2h_work); > + break; > + } > complete(&rtwdev->lps_leave_check); > dev_kfree_skb_any(skb); > break; > diff --git a/drivers/net/wireless/realtek/rtw88/fw.h b/drivers/net/wireless/realtek/rtw88/fw.h > index 48ad9ceab6ea..6927d2041d24 100644 > --- a/drivers/net/wireless/realtek/rtw88/fw.h > +++ b/drivers/net/wireless/realtek/rtw88/fw.h > @@ -54,6 +54,10 @@ enum rtw_c2h_cmd_id { > C2H_BT_MP_INFO = 0x0b, > C2H_BT_HID_INFO = 0x45, > C2H_RA_RPT = 0x0c, > + /* 8723BS SDIO vendor v41 firmware management TX report (0x32 is > + * reported as C2H_WLAN_RFON, handled per-chip in the C2H dispatch). > + */ > + C2H_VENDOR_TX_RPT = 0x12, > C2H_HW_FEATURE_REPORT = 0x19, > C2H_WLAN_INFO = 0x27, > C2H_WLAN_RFON = 0x32,