qcacld-3.0: cdp: Convergence of cdp_ocb_ops
Currently the cdp apis 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/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. Converged ocb_ops - set_ocb_chan_info - get_ocb_chan_info CRs-Fixed: 2539745 Change-Id: I7de53c48ec6b7f0c09be7c9cf642d8cf4f8eae78
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -133,8 +133,8 @@ QDF_STATUS ocb_psoc_disable(struct wlan_objmgr_psoc *psoc)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS ucfg_ocb_set_txrx_handle(struct wlan_objmgr_psoc *psoc,
|
||||
void *txrx_handle)
|
||||
QDF_STATUS ucfg_ocb_set_txrx_pdev_id(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t pdev_id)
|
||||
{
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
struct ocb_pdev_obj *ocb_obj;
|
||||
@@ -151,7 +151,7 @@ QDF_STATUS ucfg_ocb_set_txrx_handle(struct wlan_objmgr_psoc *psoc,
|
||||
ocb_err("OCB object is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
ocb_obj->dp_pdev = txrx_handle;
|
||||
ocb_obj->dp_pdev_id = pdev_id;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user