qcacld-3.0: Fix compilation issue for 32 bit builds

In function csr_roam_chk_lnk_disassoc_ind frame size
exceeds 1024 bytes. Because of this compilation fails
on 32 bit systems as there is stack check flag on
32-bit compilation.

Fix is to convert stack allocations to dynamic memory
allocation.

Change-Id: I7c91bc0ed91796ba4dac9c85ea4b1b6f2d8a6ee5
CRs-Fixed: 1055344
This commit is contained in:
Aggarwal Nishank
2016-08-24 12:11:19 +05:30
committed by qcabuildsw
parent aecc49fabb
commit 51dece43e2

View File

@@ -10287,9 +10287,17 @@ csr_roam_chk_lnk_disassoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
QDF_STATUS status;
tCsrRoamInfo *roam_info_ptr = NULL;
tSirSmeDisassocInd *pDisassocInd;
tSmeCmd cmd;
tSmeCmd *cmd;
tCsrRoamInfo roam_info;
cmd = qdf_mem_malloc(sizeof(*cmd));
if (NULL == cmd) {
sms_log(mac_ctx, LOGE,
FL("memory allocation failed for size = %ld"),
sizeof(*cmd));
return;
}
/*
* Check if AP dis-associated us because of MIC failure. If so,
* then we need to take action immediately and not wait till the
@@ -10303,6 +10311,7 @@ csr_roam_chk_lnk_disassoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
sms_log(mac_ctx, LOGE, FL("Session Id not found for BSSID "
MAC_ADDRESS_STR),
MAC_ADDR_ARRAY(pDisassocInd->bssid.bytes));
qdf_mem_free(cmd);
return;
}
@@ -10338,6 +10347,7 @@ csr_roam_chk_lnk_disassoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
session = CSR_GET_SESSION(mac_ctx, sessionId);
if (!session) {
sms_log(mac_ctx, LOGE, FL("session %d not found"), sessionId);
qdf_mem_free(cmd);
return;
}
if (csr_is_conn_state_infra(mac_ctx, sessionId))
@@ -10367,15 +10377,16 @@ csr_roam_chk_lnk_disassoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
* STA/P2P client got disassociated so remove any pending
* deauth commands in sme pending list
*/
cmd.command = eSmeCommandRoam;
cmd.sessionId = (uint8_t) sessionId;
cmd.u.roamCmd.roamReason = eCsrForcedDeauthSta;
qdf_mem_copy(cmd.u.roamCmd.peerMac,
cmd->command = eSmeCommandRoam;
cmd->sessionId = (uint8_t) sessionId;
cmd->u.roamCmd.roamReason = eCsrForcedDeauthSta;
qdf_mem_copy(cmd->u.roamCmd.peerMac,
pDisassocInd->peer_macaddr.bytes,
QDF_MAC_ADDR_SIZE);
csr_roam_remove_duplicate_command(mac_ctx, sessionId, &cmd,
csr_roam_remove_duplicate_command(mac_ctx, sessionId, cmd,
eCsrForcedDeauthSta);
}
qdf_mem_free(cmd);
}
static void