wlan: Enable spectrum management when operating on DFS channel

Some buggy AP's do not set the Spectrum mgmt bit in capability
field even though they support CSA. Due to this, the host
driver is not configuring the firmware with "spectrum management"
capability enabled. This is causing the firmware to enable
"beacon early termination" which is resulting in the  dropage
of channel switch announcement. The fix is to enable the spectrum
management when we are operating on a DFS channel in the host
driver. This will cause the firmware to disable "beacon early
termination" and allows it to process the channel switch announcement
when a radar is detected.
CRs-Fixed: 672313

Change-Id: Icf4706a6f5e207d600d1e6fe17cdb6bbad0f6c01
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index 14e4eab..6d47e3b 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -1998,6 +1998,14 @@
         /* Indicate whether spectrum management is enabled*/
         psessionEntry->spectrumMgtEnabled = 
            pSmeJoinReq->spectrumMgtIndicator;
+
+        /* Enable the spectrum management if this is a DFS channel */
+        if (psessionEntry->countryInfoPresent &&
+            limIsconnectedOnDFSChannel(psessionEntry->currentOperChannel))
+        {
+            psessionEntry->spectrumMgtEnabled = TRUE;
+        }
+
         PELOG1(limLog(pMac,LOG1,FL("SessionId:%d MLM_JOIN_REQ is posted to MLM"
                       "SM"),pMlmJoinReq->sessionId));
         /* Issue LIM_MLM_JOIN_REQ to MLM */
@@ -2329,6 +2337,13 @@
     /* Indicate whether spectrum management is enabled*/
     psessionEntry->spectrumMgtEnabled = pReassocReq->spectrumMgtIndicator;
 
+    /* Enable the spectrum management if this is a DFS channel */
+    if (psessionEntry->countryInfoPresent &&
+        limIsconnectedOnDFSChannel(psessionEntry->currentOperChannel))
+    {
+        psessionEntry->spectrumMgtEnabled = TRUE;
+    }
+
     psessionEntry->limPrevSmeState = psessionEntry->limSmeState;
     psessionEntry->limSmeState    = eLIM_SME_WT_REASSOC_STATE;