qcacld-3.0: Update UMAC vdev objmgr handle to DP vdev

At DP vdev registration update UMAC vdev objmgr handle to the
DP vdev structure.

Change-Id: I438cac1cc952ee8e1a4a372320e686d610b6c071
CRs-Fixed: 2236430
这个提交包含在:
Sravan Kumar Kairam
2018-05-04 17:00:39 +05:30
提交者 nshrivas
父节点 fe28770307
当前提交 43f191ba25
修改 6 个文件,包含 19 行新增10 行删除

查看文件

@@ -2447,6 +2447,7 @@ ol_txrx_vdev_attach(struct cdp_pdev *ppdev,
*
* @txrx_vdev: the virtual device's data object
* @osif_vdev: the virtual device's OS shim object
* @ctrl_vdev: UMAC vdev objmgr handle
* @txrx_ops: (pointers to)functions used for tx and rx data xfer
*
* The data object for a virtual device is created by the
@@ -2460,9 +2461,9 @@ ol_txrx_vdev_attach(struct cdp_pdev *ppdev,
* vdev objects, so the data SW can use the OS shim vdev handle
* when passing rx data received by a vdev up to the OS shim.
*/
static void ol_txrx_vdev_register(struct cdp_vdev *pvdev,
void *osif_vdev,
struct ol_txrx_ops *txrx_ops)
static void ol_txrx_vdev_register(struct cdp_vdev *pvdev, void *osif_vdev,
struct cdp_ctrl_objmgr_vdev *ctrl_vdev,
struct ol_txrx_ops *txrx_ops)
{
struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev;
@@ -2473,6 +2474,7 @@ static void ol_txrx_vdev_register(struct cdp_vdev *pvdev,
}
vdev->osif_dev = osif_vdev;
vdev->ctrl_vdev = ctrl_vdev;
vdev->rx = txrx_ops->rx.rx;
vdev->stats_rx = txrx_ops->rx.stats_rx;
vdev->tx_comp = txrx_ops->tx.tx_comp;

查看文件

@@ -1048,6 +1048,9 @@ struct ol_txrx_vdev_t {
* to the target
*/
void *osif_dev;
void *ctrl_vdev; /* vdev objmgr handle */
union ol_txrx_align_mac_addr_t mac_addr; /* MAC address */
/* tx paused - NO LONGER NEEDED? */
TAILQ_ENTRY(ol_txrx_vdev_t) vdev_list_elem; /* node in the pdev's list

查看文件

@@ -2088,7 +2088,8 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
txrx_ops.tx.tx = NULL;
cdp_vdev_register(soc,
(struct cdp_vdev *)adapter->txrx_vdev, adapter, &txrx_ops);
(struct cdp_vdev *)adapter->txrx_vdev, adapter,
(struct cdp_ctrl_objmgr_vdev *)adapter->hdd_vdev, &txrx_ops);
if (!txrx_ops.tx.tx) {
hdd_err("%s vdev register fail", __func__);
return QDF_STATUS_E_FAILURE;
@@ -3931,9 +3932,10 @@ QDF_STATUS hdd_roam_register_tdlssta(struct hdd_adapter *adapter,
qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
txrx_ops.rx.rx = hdd_rx_packet_cbk;
cdp_vdev_register(soc,
(struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev, adapter->session_id),
adapter, &txrx_ops);
(struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev, adapter->session_id),
adapter, (struct cdp_ctrl_objmgr_vdev *)adapter->hdd_vdev,
&txrx_ops);
adapter->tx_fn = txrx_ops.tx.tx;
txrx_ops.rx.stats_rx = hdd_tx_rx_collect_connectivity_stats_info;

查看文件

@@ -256,7 +256,7 @@ static int hdd_ocb_register_sta(struct hdd_adapter *adapter)
cdp_vdev_register(soc,
(struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev, adapter->session_id),
adapter, &txrx_ops);
adapter, adapter->hdd_vdev, &txrx_ops);
txrx_ops.rx.stats_rx = hdd_tx_rx_collect_connectivity_stats_info;
adapter->tx_fn = txrx_ops.tx.tx;

查看文件

@@ -1039,7 +1039,8 @@ QDF_STATUS hdd_softap_register_sta(struct hdd_adapter *adapter,
cdp_vdev_register(soc,
(struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev, adapter->session_id),
adapter, &txrx_ops);
adapter, (struct cdp_ctrl_objmgr_vdev *)adapter->hdd_vdev,
&txrx_ops);
adapter->txrx_vdev = (void *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev,
adapter->session_id);

查看文件

@@ -2409,7 +2409,8 @@ int hdd_set_mon_rx_cb(struct net_device *dev)
cdp_vdev_register(soc,
(struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc,
(struct cdp_pdev *)pdev, adapter->session_id),
adapter, &txrx_ops);
adapter, (struct cdp_ctrl_objmgr_vdev *)adapter->hdd_vdev,
&txrx_ops);
/* peer is created wma_vdev_attach->wma_create_peer */
qdf_status = cdp_peer_register(soc,
(struct cdp_pdev *)pdev, &sta_desc);