qcacld-3.0: Clean up SAP DP TX/RX init and deinit APIs in DP component

Remove SAP DP TX/RX init, deinit APIs dependency from
HDD module.

Change-Id: I5bf248dfd4e19fea784595c8c05e1a51610f3338
CRs-Fixed: 3402662
This commit is contained in:
Roopavathi Lingampalli
2023-02-09 11:46:49 +05:30
committed by Madan Koyyalamudi
parent 5a30d29615
commit ed0007c0c9
4 changed files with 8 additions and 65 deletions

View File

@@ -940,6 +940,7 @@ dp_vdev_obj_create_notification(struct wlan_objmgr_vdev *vdev, void *arg)
dp_err("eap frm done event init failed!!"); dp_err("eap frm done event init failed!!");
return status; return status;
} }
qdf_mem_zero(&dp_intf->stats, sizeof(qdf_net_dev_stats));
} }
status = wlan_objmgr_vdev_component_obj_attach(vdev, status = wlan_objmgr_vdev_component_obj_attach(vdev,
@@ -988,6 +989,8 @@ dp_vdev_obj_destroy_notification(struct wlan_objmgr_vdev *vdev, void *arg)
dp_err("eap frm done event destroy failed!!"); dp_err("eap frm done event destroy failed!!");
return status; return status;
} }
dp_intf->tx_fn = NULL;
dp_intf->sap_tx_block_mask |= DP_TX_FN_CLR;
} }
qdf_mem_zero(&dp_intf->conn_info, sizeof(struct wlan_dp_conn_info)); qdf_mem_zero(&dp_intf->conn_info, sizeof(struct wlan_dp_conn_info));
dp_intf->intf_id = WLAN_UMAC_VDEV_ID_MAX; dp_intf->intf_id = WLAN_UMAC_VDEV_ID_MAX;

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -311,22 +311,6 @@ QDF_STATUS ucfg_dp_init_txrx(struct wlan_objmgr_vdev *vdev);
*/ */
QDF_STATUS ucfg_dp_deinit_txrx(struct wlan_objmgr_vdev *vdev); QDF_STATUS ucfg_dp_deinit_txrx(struct wlan_objmgr_vdev *vdev);
/**
* ucfg_dp_softap_init_txrx() - Initialize SAP DP init TX/RX
* @vdev: vdev mapped to SAP DP interface
*
* Return: 0 on success and non zero on failure.
*/
QDF_STATUS ucfg_dp_softap_init_txrx(struct wlan_objmgr_vdev *vdev);
/**
* ucfg_dp_softap_deinit_txrx() - Deinitialize SAP DP init TX/RX
* @vdev: vdev mapped to SAP DP interface
*
* Return: 0 on success and non zero on failure.
*/
QDF_STATUS ucfg_dp_softap_deinit_txrx(struct wlan_objmgr_vdev *vdev);
/** /**
* ucfg_dp_start_xmit() - Transmit packet on STA interface * ucfg_dp_start_xmit() - Transmit packet on STA interface
* @nbuf: n/w buffer to transmitted * @nbuf: n/w buffer to transmitted

View File

@@ -1212,35 +1212,6 @@ QDF_STATUS ucfg_dp_deinit_txrx(struct wlan_objmgr_vdev *vdev)
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS ucfg_dp_softap_init_txrx(struct wlan_objmgr_vdev *vdev)
{
struct wlan_dp_intf *dp_intf;
dp_intf = dp_get_vdev_priv_obj(vdev);
if (unlikely(!dp_intf)) {
dp_err("DP interface not found");
return QDF_STATUS_E_INVAL;
}
qdf_mem_zero(&dp_intf->stats, sizeof(qdf_net_dev_stats));
return QDF_STATUS_SUCCESS;
}
QDF_STATUS ucfg_dp_softap_deinit_txrx(struct wlan_objmgr_vdev *vdev)
{
struct wlan_dp_intf *dp_intf;
dp_intf = dp_get_vdev_priv_obj(vdev);
if (unlikely(!dp_intf)) {
dp_err("DP interface not found");
return QDF_STATUS_E_INVAL;
}
dp_intf->tx_fn = NULL;
dp_intf->sap_tx_block_mask |= DP_TX_FN_CLR;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS ucfg_dp_start_xmit(qdf_nbuf_t nbuf, struct wlan_objmgr_vdev *vdev) QDF_STATUS ucfg_dp_start_xmit(qdf_nbuf_t nbuf, struct wlan_objmgr_vdev *vdev)
{ {
struct wlan_dp_intf *dp_intf; struct wlan_dp_intf *dp_intf;

View File

@@ -4111,11 +4111,6 @@ QDF_STATUS hdd_init_ap_mode(struct hdd_adapter *adapter, bool reinit)
/* Cache station count initialize to zero */ /* Cache station count initialize to zero */
qdf_atomic_init(&adapter->cache_sta_count); qdf_atomic_init(&adapter->cache_sta_count);
/* Initialize the data path module */
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_DP_ID);
if (vdev)
ucfg_dp_softap_init_txrx(vdev);
status = hdd_wmm_adapter_init(adapter); status = hdd_wmm_adapter_init(adapter);
if (!QDF_IS_STATUS_SUCCESS(status)) { if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_err("hdd_wmm_adapter_init() failed code: %08d [x%08x]", hdd_err("hdd_wmm_adapter_init() failed code: %08d [x%08x]",
@@ -4137,12 +4132,16 @@ QDF_STATUS hdd_init_ap_mode(struct hdd_adapter *adapter, bool reinit)
hdd_err("wmi_pdev_param_burst_enable set failed: %d", ret); hdd_err("wmi_pdev_param_burst_enable set failed: %d", ret);
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
ucfg_mlme_is_6g_sap_fd_enabled(hdd_ctx->psoc, &is_6g_sap_fd_enabled); ucfg_mlme_is_6g_sap_fd_enabled(hdd_ctx->psoc, &is_6g_sap_fd_enabled);
hdd_debug("6g sap fd enabled %d", is_6g_sap_fd_enabled); hdd_debug("6g sap fd enabled %d", is_6g_sap_fd_enabled);
if (is_6g_sap_fd_enabled && vdev) if (is_6g_sap_fd_enabled && vdev)
wlan_vdev_mlme_feat_ext_cap_set(vdev, wlan_vdev_mlme_feat_ext_cap_set(vdev,
WLAN_VDEV_FEXT_FILS_DISC_6G_SAP); WLAN_VDEV_FEXT_FILS_DISC_6G_SAP);
if (vdev)
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
hdd_set_netdev_flags(adapter); hdd_set_netdev_flags(adapter);
if (!reinit) { if (!reinit) {
@@ -4159,18 +4158,12 @@ QDF_STATUS hdd_init_ap_mode(struct hdd_adapter *adapter, bool reinit)
/* rcpi info initialization */ /* rcpi info initialization */
qdf_mem_zero(&adapter->rcpi, sizeof(adapter->rcpi)); qdf_mem_zero(&adapter->rcpi, sizeof(adapter->rcpi));
if (vdev)
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
hdd_exit(); hdd_exit();
return status; return status;
error_release_softap_tx_rx: error_release_softap_tx_rx:
hdd_unregister_wext(adapter->dev); hdd_unregister_wext(adapter->dev);
if (vdev) {
ucfg_dp_softap_deinit_txrx(vdev);
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
}
error_deinit_sap_session: error_deinit_sap_session:
hdd_hostapd_deinit_sap_session(adapter); hdd_hostapd_deinit_sap_session(adapter);
error_release_vdev: error_release_vdev:
@@ -4182,8 +4175,6 @@ void hdd_deinit_ap_mode(struct hdd_context *hdd_ctx,
struct hdd_adapter *adapter, struct hdd_adapter *adapter,
bool rtnl_held) bool rtnl_held)
{ {
struct wlan_objmgr_vdev *vdev;
hdd_enter_dev(adapter->dev); hdd_enter_dev(adapter->dev);
if (test_bit(WMM_INIT_DONE, &adapter->event_flags)) { if (test_bit(WMM_INIT_DONE, &adapter->event_flags)) {
@@ -4199,12 +4190,6 @@ void hdd_deinit_ap_mode(struct hdd_context *hdd_ctx,
wlan_hdd_enable_roaming(adapter, RSO_SAP_CHANNEL_CHANGE); wlan_hdd_enable_roaming(adapter, RSO_SAP_CHANNEL_CHANGE);
} }
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_DP_ID);
if (vdev) {
ucfg_dp_softap_deinit_txrx(vdev);
hdd_objmgr_put_vdev_by_user(vdev, WLAN_DP_ID);
}
if (hdd_hostapd_deinit_sap_session(adapter)) if (hdd_hostapd_deinit_sap_session(adapter))
hdd_err("Failed:hdd_hostapd_deinit_sap_session"); hdd_err("Failed:hdd_hostapd_deinit_sap_session");