qcacld-3.0: cdp: Converge cdp_cmn_ops
Currently cdp ops are given pdev/vdev/peer handle as its arguments which is directly accessed in those APIs. This can cause a race-condition in access of the respective handles if it has been deleted in parallel. Hence as a part of cdp convergence, pass only the pdev_id or vdev_id or peer mac address, which will be used to get the respective handles, and hence avoiding the unwanted access of the handles if it has been deleted. - txrx_data_tx_cb_set - txrx_mgmt_tx_cb_set - txrx_mgmt_send_ext - txrx_pdev_attach_target - txrx_pdev_detach - txrx_vdev_attach - txrx_vdev_register - txrx_vdev_detach - txrx_peer_create - txrx_peer_delete - txrx_peer_delete_sync - txrx_fw_stats_get - txrx_get_vdev_from_vdev_id - txrx_pdev_set_ctrl_pdev - txrx_pdev_attach - txrx_get_vdev_mac_addr - txrx_pdev_post_attach - txrx_pdev_pre_detach - txrx_get_ctrl_pdev_from_vdev - txrx_get_mon_vdev_from_pdev Change-Id: Ib8b0b1edd63e7c3f8813b11ca26b50ec121fe255 CRs-Fixed: 2541459
This commit is contained in:

committed by
nshrivas

parent
f1cab52a92
commit
0ac759fc1c
@@ -74,7 +74,6 @@ static QDF_STATUS ocb_set_chan_info(void *dp_soc,
|
||||
uint32_t vdev_id,
|
||||
struct ocb_config *config)
|
||||
{
|
||||
struct cdp_vdev *dp_vdev;
|
||||
struct ol_txrx_ocb_set_chan ocb_set_chan;
|
||||
struct ol_txrx_ocb_chan_info *ocb_channel_info;
|
||||
|
||||
@@ -83,12 +82,6 @@ static QDF_STATUS ocb_set_chan_info(void *dp_soc,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
dp_vdev = cdp_get_vdev_from_vdev_id(dp_soc, dp_pdev, vdev_id);
|
||||
if (!dp_vdev) {
|
||||
ocb_err("DP vdev handle is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
ocb_set_chan.ocb_channel_count = config->channel_count;
|
||||
|
||||
/* release old settings */
|
||||
|
Reference in New Issue
Block a user