diff options
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c | 3 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendSmeRspMessages.c | 16 |
2 files changed, 12 insertions, 7 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c index 615f6a6b8e4e..7785af38b521 100644 --- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c @@ -6014,6 +6014,9 @@ limProcessSmeDfsCsaIeRequest(tpAniSirGlobal pMac, tANI_U32 *pMsg) * the template update */ limSendBeaconInd(pMac, psessionEntry); + PELOG1(limLog(pMac, LOG1, + FL(" Updated CSA IE, IE COUNT = %d"), + psessionEntry->gLimChannelSwitch.switchCount );) psessionEntry->gLimChannelSwitch.switchCount--; } return; diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c index 0f2bac0c5a45..1232ff631e4b 100644 --- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c +++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c @@ -2998,7 +2998,6 @@ limSendSmeDfsEventNotify(tpAniSirGlobal pMac, tANI_U16 msgType, void *event) static void limSendDfsChanSwIEUpdate(tpAniSirGlobal pMac, tpPESession psessionEntry) { - limLog(pMac, LOG1, FL("DFS Channel Switch update timer expired")); /* Update the beacon template and send to FW */ if (schSetFixedBeaconFields(pMac, psessionEntry) != eSIR_SUCCESS) @@ -3009,6 +3008,9 @@ limSendDfsChanSwIEUpdate(tpAniSirGlobal pMac, tpPESession psessionEntry) /* Send update beacon template message */ limSendBeaconInd(pMac, psessionEntry); + PELOG1(limLog(pMac, LOG1, + FL(" Updated CSA IE, IE COUNT = %d"), + psessionEntry->gLimChannelSwitch.switchCount );) return; } @@ -3116,13 +3118,15 @@ limProcessBeaconTxSuccessInd(tpAniSirGlobal pMac, tANI_U16 msgType, void *event) if (eLIM_AP_ROLE == psessionEntry->limSystemRole && VOS_TRUE == psessionEntry->dfsIncludeChanSwIe) { - /* Start a timer to send next CSA IE update */ - if (--psessionEntry->gLimChannelSwitch.switchCount >= 0) + /* Send only 5 beacons with CSA IE Set in when a radar is detected */ + if (psessionEntry->gLimChannelSwitch.switchCount > 0) { - /* Start a timer of timeout less than 100ms, to give enough - * time for template update and transmission + /* + * Send the next beacon with updated CSA IE count */ limSendDfsChanSwIEUpdate(pMac, psessionEntry); + /* Decrement the IE count */ + psessionEntry->gLimChannelSwitch.switchCount--; } else { @@ -3130,8 +3134,6 @@ limProcessBeaconTxSuccessInd(tpAniSirGlobal pMac, tANI_U16 msgType, void *event) psessionEntry->gLimChannelSwitch.switchCount = 0; psessionEntry->dfsIncludeChanSwIe = VOS_FALSE; - /* Reset CSA IE parameters in beacon/probe responses */ - limSendDfsChanSwIEUpdate(pMac, psessionEntry); pChanSwTxResponse = (tSirSmeCSAIeTxCompleteRsp *) vos_mem_malloc(length); |
