qcacld-3.0: Legacy tx flow control fails and log floods
In DUT sta mode, when tcp/udp stream between sta and PC ethernet at same subnet, dst mac addr of each tx skb is not bssid, but ethernet mac of the PC. Since only self peer and bssid peer are created on DUT, the ethernet mac addr of the PC can't be found from peer list at all by ol_txrx_peer_find_hash_find_get_ref, ol_txrx_peer_get_ref_by_addr and ol_txrx_get_vdev_by_peer_addr return NULL. For each tx skb, 2 txrx log will print and be saved to storage by cnss_diag, throughput is impacted and LEGACY_TX_FLOW_CONTROL doesn't work too. Fix: In sta mode, use connected bssid to find dp peer and vdev. Log sample: 18769633: [soft_i][0x650c858e][08:11:05.109017]wlan: [0:IH:TXRX] PDEV not found for peer_addr:a0:36:9f:21:18:88 18769633: [soft_i][0x650c85b3][08:11:05.109019]wlan: [0:IH:TXRX] ol_txrx_get_tx_resource: Invalid peer address: a0:36:9f:21:18:88 Change-Id: Ib87bbe5cbb1c8d0aa31d06b32dc98d9b3b9456b3 CRs-Fixed: 2715377
This commit is contained in:
@@ -333,7 +333,7 @@ ol_txrx_get_vdev_by_peer_addr(struct cdp_pdev *ppdev,
|
||||
|
||||
if (!peer) {
|
||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_HIGH,
|
||||
"PDEV not found for peer_addr:" QDF_MAC_ADDR_STR,
|
||||
"Peer not found for peer_addr:" QDF_MAC_ADDR_STR,
|
||||
QDF_MAC_ADDR_ARRAY(peer_addr.bytes));
|
||||
return NULL;
|
||||
}
|
||||
|
Fai riferimento in un nuovo problema
Block a user