qcacmn: Handle peer Rx TID allocation failure
In case where memory alloction failure for RX TID return appropriate status for CP Change-Id: I96a3694b05f84034ebacd15d87e58cd1f59207de CRs-Fixed: 3365642
This commit is contained in:

committed by
Madan Koyyalamudi

parent
f8f148db6a
commit
e7b9b355df
@@ -7913,7 +7913,13 @@ dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
|||||||
dp_peer_vdev_list_add(soc, vdev, peer);
|
dp_peer_vdev_list_add(soc, vdev, peer);
|
||||||
dp_peer_find_hash_add(soc, peer);
|
dp_peer_find_hash_add(soc, peer);
|
||||||
|
|
||||||
dp_peer_rx_tids_create(peer);
|
if (dp_peer_rx_tids_create(peer) != QDF_STATUS_SUCCESS) {
|
||||||
|
dp_alert("RX tid alloc fail for peer %pK (" QDF_MAC_ADDR_FMT ")",
|
||||||
|
peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw));
|
||||||
|
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
if (IS_MLO_DP_MLD_PEER(peer))
|
if (IS_MLO_DP_MLD_PEER(peer))
|
||||||
dp_mld_peer_init_link_peers_info(peer);
|
dp_mld_peer_init_link_peers_info(peer);
|
||||||
|
|
||||||
@@ -8069,7 +8075,11 @@ dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
|||||||
peer->sta_self_peer = 1;
|
peer->sta_self_peer = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dp_peer_rx_tids_create(peer);
|
if (dp_peer_rx_tids_create(peer) != QDF_STATUS_SUCCESS) {
|
||||||
|
dp_alert("RX tid alloc fail for peer %pK (" QDF_MAC_ADDR_FMT ")",
|
||||||
|
peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw));
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
peer->valid = 1;
|
peer->valid = 1;
|
||||||
dp_local_peer_id_alloc(pdev, peer);
|
dp_local_peer_id_alloc(pdev, peer);
|
||||||
@@ -12160,7 +12170,7 @@ QDF_STATUS dp_sysfs_deinitialize_stats(struct dp_soc *soc_hdl)
|
|||||||
|
|
||||||
status = qdf_event_destroy(&soc->sysfs_config->sysfs_txrx_fw_request_done);
|
status = qdf_event_destroy(&soc->sysfs_config->sysfs_txrx_fw_request_done);
|
||||||
if (status != QDF_STATUS_SUCCESS)
|
if (status != QDF_STATUS_SUCCESS)
|
||||||
dp_cdp_err("Failed to destroy event sysfs_txrx_fw_request_done ");
|
dp_cdp_err("Failed to destroy event sysfs_txrx_fw_request_done");
|
||||||
|
|
||||||
qdf_mutex_destroy(&soc->sysfs_config->sysfs_read_lock);
|
qdf_mutex_destroy(&soc->sysfs_config->sysfs_read_lock);
|
||||||
qdf_spinlock_destroy(&soc->sysfs_config->rw_stats_lock);
|
qdf_spinlock_destroy(&soc->sysfs_config->rw_stats_lock);
|
||||||
|
Reference in New Issue
Block a user