qcacld-2.0: Fix invalid peer create after vdev down

In a SNS case, driver receives ASSOC Req during the SAP
Stopping. The SAP stopping will issue WMI_VDEV_DOWN_CMDID
WMI command to firmware. And ASSOC req frame processing
will issue a WMI_PEER_CREATE_CMDID WMI command to firmware.
Then the firmware crash happens because firmware can't find
the necessary BSS information to create the peer. Firmware
doesn't support peer create after BSS down.

The fix is to ignore the ASSOC Req frame while the deleting
BSS is ongoing.

Change-Id: Ib517642da4fc6b4778ef1ce4e6afd92fa3edb112
CRs-Fixed: 1053809
This commit is contained in:
Liangwei Dong 2016-08-17 02:43:44 -04:00 committed by syphyr
parent 1be0ee0ab5
commit 168a8ce418

View file

@ -273,7 +273,15 @@ limProcessAssocReqFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo,
WDA_GET_RX_MPDU_DATA(pRxPacketInfo), framelen);
return;
}
if (psessionEntry->limMlmState == eLIM_MLM_WT_DEL_BSS_RSP_STATE) {
limLog(pMac, LOGE, FL("drop ASSOC REQ on sessionid: %d "
"role=%d from: "MAC_ADDRESS_STR" in limMlmState %d"),
psessionEntry->peSessionId,
GET_LIM_SYSTEM_ROLE(psessionEntry),
MAC_ADDR_ARRAY(pHdr->sa),
eLIM_MLM_WT_DEL_BSS_RSP_STATE);
return;
}
/*
* If a STA is already present in DPH and it
* is initiating a Assoc re-transmit, do not