s32 err = 0;
        u8 *bssid = profile->bssid;
        struct brcmf_sta_info_le sta_info_le;
+       u32 beacon_period;
+       u32 dtim_period;
 
        brcmf_dbg(TRACE, "Enter, MAC %pM\n", mac);
        if (!check_vif_up(ifp->vif))
                                sinfo->signal = rssi;
                                brcmf_dbg(CONN, "RSSI %d dBm\n", rssi);
                        }
+                       err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_BCNPRD,
+                                                   &beacon_period);
+                       if (err) {
+                               brcmf_err("Could not get beacon period (%d)\n",
+                                         err);
+                               goto done;
+                       } else {
+                               sinfo->bss_param.beacon_interval =
+                                       beacon_period;
+                               brcmf_dbg(CONN, "Beacon peroid %d\n",
+                                         beacon_period);
+                       }
+                       err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_DTIMPRD,
+                                                   &dtim_period);
+                       if (err) {
+                               brcmf_err("Could not get DTIM period (%d)\n",
+                                         err);
+                               goto done;
+                       } else {
+                               sinfo->bss_param.dtim_period = dtim_period;
+                               brcmf_dbg(CONN, "DTIM peroid %d\n",
+                                         dtim_period);
+                       }
+                       sinfo->filled |= STATION_INFO_BSS_PARAM;
                }
        } else
                err = -EPERM;