Search Linux Wireless

Re: [External] RE: [RFC -v1] wifi: rtw88: sdio: Tx status for management frames

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 1/1/1970 8:00 AM, Ping-Ke Shih wrote:
Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> wrote:
@@ -1195,7 +1195,7 @@ static void rtw_sdio_indicate_tx_status(struct rtw_dev *rtwdev,
         skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);

         /* enqueue to wait for tx report */
-       if (info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS) {
+       if (info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS && queue
+ <= RTW_TX_QUEUE_VO) {
Is this because you have seen "failed to get tx report"?
Have you tried to increasing RTW_TX_PROBE_TIMEOUT?

If it still can't get TX report, we might take this workaround with
comments to mention why we need it. Or a local variable with proper
naming to point out this, like

         bool queue_has_no_tx_report = queue > RTW_TX_QUEUE_VO;


By the way, USB behavior is very like to SDIO, but TX report seems to work well.
On my RTL8822CS I can confirm your thought:
I don't notice any extra "failed to get tx report" messages regardless
of whether I have "&& queue <= RTW_TX_QUEUE_VO" or not.

This workaround might need an chip attribute to enable then.
Not sure if people in the GitHub thread have experiments on all supported SDIO WiFi chips.

On my RTL8723DS, without condition"&& queue <= RTW_TX_QUEUE_VO", there are messages in the console:

[ 23.298425] rtw_8723ds mmc2:0001:1: failed to get tx report from firmware

Ever after I doubled the RTW_TX_PROBE_TIMEOUT (500 * 2), there messages were still there, and AP mode didn't work:

root@OpenWrt:~# iw dev phy0-ap0 station dump Station 04:ea:56:2f:6f:07 (on phy0-ap0) inactive time: 480 ms ... authorized: no authenticated: yes associated: yes

Seems tx status report didn't reach hostapd.





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux