qcacld-3.0: HDD clean up for CDP API cdp_register_peer

Currently, the cdp API cdp_register_peer takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.

Change-Id: I0e92258777aff02940dd619c4d2ad784aa3e7f31
CRs-Fixed: 2502996
This commit is contained in:
Sourav Mohapatra
2019-07-29 09:08:40 +05:30
committed by nshrivas
vanhempi 55e08c0916
commit 3646a8572c
3 muutettua tiedostoa jossa 23 lisäystä ja 4 poistoa

Näytä tiedosto

@@ -2102,7 +2102,7 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
struct bss_description *bss_desc)
{
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
struct ol_txrx_desc_type txrx_desc = { 0 };
struct ol_txrx_desc_type txrx_desc = {0};
struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
struct ol_txrx_ops txrx_ops;
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
@@ -2113,6 +2113,7 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
/* Get the Station ID from the one saved during the association */
txrx_desc.sta_id = sta_id;
WLAN_ADDR_COPY(txrx_desc.peer_addr.bytes, roam_info->bssid.bytes);
/* set the QoS field appropriately */
if (hdd_wmm_is_active(adapter))
@@ -4075,7 +4076,7 @@ QDF_STATUS hdd_roam_register_tdlssta(struct hdd_adapter *adapter,
* TDLS sta in BSS should be set as STA type TDLS and STA MAC should
* be peer MAC, here we are working on direct Link
*/
txrx_desc.sta_id = sta_id;
WLAN_ADDR_COPY(txrx_desc.peer_addr.bytes, peerMac);
/* set the QoS field appropriately .. */
txrx_desc.is_qos_enabled = qos;

Näytä tiedosto

@@ -218,6 +218,7 @@ static int hdd_ocb_register_sta(struct hdd_adapter *adapter)
struct ol_txrx_desc_type sta_desc = {0};
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
/* To be cleaned up */
uint8_t peer_id;
struct ol_txrx_ops txrx_ops;
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
@@ -239,7 +240,9 @@ static int hdd_ocb_register_sta(struct hdd_adapter *adapter)
hdd_ctx->sta_to_adapter[peer_id] = adapter;
/* To be cleaned up */
sta_desc.sta_id = peer_id;
WLAN_ADDR_COPY(sta_desc.peer_addr.bytes, adapter->mac_addr.bytes);
sta_desc.is_qos_enabled = 1;
/* Register the vdev transmit and receive functions */

Näytä tiedosto

@@ -44,6 +44,7 @@
#include "wlan_ipa_ucfg_api.h"
#include "wlan_policy_mgr_ucfg.h"
#include <wma_types.h>
#include <sap_internal.h>
/* Preprocessor definitions and constants */
#undef QCA_HDD_SAP_DUMP_SK_BUFF
@@ -1058,16 +1059,21 @@ QDF_STATUS hdd_softap_register_sta(struct hdd_adapter *adapter,
bool wmm_enabled)
{
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
struct ol_txrx_desc_type txrx_desc = { 0 };
struct ol_txrx_desc_type txrx_desc = {0};
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
struct ol_txrx_ops txrx_ops;
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
struct cdp_vdev *txrx_vdev = NULL;
struct hdd_ap_ctx *ap_ctx;
hdd_info("STA:%u, Auth:%u, Priv:%u, WMM:%u",
sta_id, auth_required, privacy_required, wmm_enabled);
ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(adapter);
if (!ap_ctx)
hdd_err("Invalid AP context");
if (sta_id >= WLAN_MAX_STA_COUNT) {
hdd_err("Error: Invalid sta_id: %u", sta_id);
return qdf_status;
@@ -1084,6 +1090,16 @@ QDF_STATUS hdd_softap_register_sta(struct hdd_adapter *adapter,
/* Get the Station ID from the one saved during the association. */
txrx_desc.sta_id = sta_id;
/*
* If the address is a broadcast address, then provide the self mac addr
* to the data path. Else provide the mac address of the connected peer.
*/
if (qdf_is_macaddr_broadcast(sta_mac) && ap_ctx)
qdf_copy_macaddr(&txrx_desc.peer_addr,
&ap_ctx->sap_context->bssid);
else
qdf_copy_macaddr(&txrx_desc.peer_addr, sta_mac);
/* Save the adapter Pointer for this sta_id */
hdd_ctx->sta_to_adapter[sta_id] = adapter;
@@ -1185,7 +1201,6 @@ QDF_STATUS hdd_softap_register_bc_sta(struct hdd_adapter *adapter,
struct qdf_mac_addr broadcast_macaddr = QDF_MAC_ADDR_BCAST_INIT;
struct hdd_ap_ctx *ap_ctx;
uint8_t sta_id;
ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(adapter);
sta_id = ap_ctx->broadcast_sta_id;