qcacmn: Add API to update DP rx tid BA window size
Currently, in case where AP advertizes BA window size which is different than our max supported BA window size, the HW gets configured for BA window size advertized by the AP, whereas the ADDBA response indicates the window size of the STA, which is less than the AP. This mismatch leads to the BA bitmap to be incorrect. Fix this by exposing an API from datapath for the update of the final BA window size which is populated in the ADDBA response. Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f CRs-Fixed: 3187941
Este cometimento está contido em:

cometido por
Madan Koyyalamudi

ascendente
40dacfa471
cometimento
f74f73dc68
@@ -1307,6 +1307,36 @@ cdp_tso_soc_detach(ol_txrx_soc_handle soc)
|
||||
return soc->ops->cmn_drv_ops->txrx_tso_soc_detach(soc);
|
||||
}
|
||||
|
||||
/**
|
||||
* cdp_tid_update_ba_win_size() - Update the DP tid BA window size
|
||||
* @soc: soc handle
|
||||
* @peer_mac: mac address of peer handle
|
||||
* @vdev_id: id of vdev handle
|
||||
* @tid: tid
|
||||
* @buffersize: BA window size
|
||||
*
|
||||
* Return: success/failure of tid update
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
cdp_tid_update_ba_win_size(ol_txrx_soc_handle soc,
|
||||
uint8_t *peer_mac, uint16_t vdev_id, uint8_t tid,
|
||||
uint16_t buffersize)
|
||||
{
|
||||
if (!soc || !soc->ops) {
|
||||
dp_cdp_debug("Invalid Instance:");
|
||||
QDF_BUG(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!soc->ops->cmn_drv_ops ||
|
||||
!soc->ops->cmn_drv_ops->tid_update_ba_win_size)
|
||||
return 0;
|
||||
|
||||
return soc->ops->cmn_drv_ops->tid_update_ba_win_size(soc, peer_mac,
|
||||
vdev_id, tid,
|
||||
buffersize);
|
||||
}
|
||||
|
||||
/**
|
||||
* cdp_addba_resp_tx_completion() - Indicate addba response tx
|
||||
* completion to dp to change tid state.
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador