wlan: restore filter setting on resume

During suspend, the setting pHddCtx->configuredMcastBcastFilter is changed
to reflect the setting done by the sme_ConfigureSuspendInd call. If the
setting is not restored during resume, the next suspend won't configure the
right setting. Therfore restore the setting on resume.

Change-Id: Ie473ae53032a499600a8bf8d1d9ba66625a94cc0
CRs-fixed: 499812
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index 050e711..2b72780 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -848,6 +848,9 @@
     tpSirWlanSuspendParam wlanSuspendParam =
       vos_mem_malloc(sizeof(tSirWlanSuspendParam));
 
+    pHddCtx->sus_res_mcastbcast_filter =
+        pHddCtx->configuredMcastBcastFilter;
+
     if(NULL == wlanSuspendParam)
     {
         hddLog(VOS_TRACE_LEVEL_FATAL,
@@ -913,6 +916,9 @@
         pHddCtx->hdd_mcastbcast_filter_set = FALSE;
     }
 
+    pHddCtx->configuredMcastBcastFilter =
+      pHddCtx->sus_res_mcastbcast_filter;
+
 
 #ifdef WLAN_FEATURE_PACKET_FILTERING
     /* Filer was applied during suspend inditication
@@ -1065,7 +1071,6 @@
 )
 {
    hdd_context_t *pHddCtx = callbackContext;
-   
    /* if the driver was not in BMPS during early suspend,
     * the dynamic DTIM is now updated at Riva */
    if ((newState == BMPS) && pHddCtx->hdd_wlan_suspended
@@ -1077,11 +1082,12 @@
    spin_lock(&pHddCtx->filter_lock);
    if((newState == BMPS) &&  pHddCtx->hdd_wlan_suspended) {
       spin_unlock(&pHddCtx->filter_lock);
+      pHddCtx->sus_res_mcastbcast_filter = pHddCtx->configuredMcastBcastFilter;
       hdd_conf_mcastbcast_filter(pHddCtx, TRUE);
       if(pHddCtx->hdd_mcastbcast_filter_set != TRUE)
          hddLog(VOS_TRACE_LEVEL_ERROR, "%s: Not able to set mcast/bcast filter ", __func__);
    }
-   else 
+   else
       spin_unlock(&pHddCtx->filter_lock);
 }