qcacld-3.0: Send BC public action frames on all interfaces

Add changes to indicate BC public action frames to all interfaces.

Change-Id: I4e4eb80e84be43fa3631092432ae19359b5d4539
CRs-Fixed: 2166996
This commit is contained in:
Wu Gao 2018-01-04 20:56:57 +08:00 • committed by snandini
commit a0230a65b2
3 changed files with 22 additions and 1 deletions

View file

@ -7759,6 +7759,19 @@ void hdd_indicate_mgmt_frame(tSirSmeMgmtFrameInd *frame_ind)
if (adapter)
break;
}
} else if (SME_SESSION_ID_BROADCAST == frame_ind->sessionId) {
hdd_for_each_adapter(hdd_ctx, adapter) {
if ((NULL != adapter) &&
(WLAN_HDD_ADAPTER_MAGIC == adapter->magic)) {
__hdd_indicate_mgmt_frame(adapter,
frame_ind->frame_len,
frame_ind->frameBuf,
frame_ind->frameType,
frame_ind->rxChan,
frame_ind->rxRssi);
}
}
adapter = NULL;
} else {
adapter = hdd_get_adapter_by_sme_session_id(hdd_ctx,
frame_ind->sessionId);

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2014,2016-2017 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2014,2016-2018 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@ -144,6 +144,13 @@ void lim_send_sme_mgmt_frame_ind(tpAniSirGlobal pMac, uint8_t frameType,
return;
}
if (qdf_is_macaddr_broadcast(
(struct qdf_mac_addr *) pSirSmeMgmtFrame->frameBuf + 4) &&
!sessionId) {
pe_debug("Broadcast action frame");
sessionId = SME_SESSION_ID_BROADCAST;
}
pSirSmeMgmtFrame->frame_len = frameLen;
pSirSmeMgmtFrame->sessionId = sessionId;
pSirSmeMgmtFrame->frameType = frameType;

View file

@ -78,6 +78,7 @@
#define SME_EXIT() sme_logfl(QDF_TRACE_LEVEL_DEBUG, "exit")
#define SME_SESSION_ID_ANY 50
#define SME_SESSION_ID_BROADCAST 0xFF
#define SME_INVALID_COUNTRY_CODE "XX"
#define INVALID_ROAM_ID 0