return 0;
 }
 
+/* cfg80211 operation handler for change_beacon.
+ * Function retrieves and sets modified management IEs to FW.
+ */
+static int mwifiex_cfg80211_change_beacon(struct wiphy *wiphy,
+                                         struct net_device *dev,
+                                         struct cfg80211_beacon_data *data)
+{
+       struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
+
+       if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
+               wiphy_err(wiphy, "%s: bss_type mismatched\n", __func__);
+               return -EINVAL;
+       }
+
+       if (!priv->bss_started) {
+               wiphy_err(wiphy, "%s: bss not started\n", __func__);
+               return -EINVAL;
+       }
+
+       if (mwifiex_set_mgmt_ies(priv, data)) {
+               wiphy_err(wiphy, "%s: setting mgmt ies failed\n", __func__);
+               return -EFAULT;
+       }
+
+       return 0;
+}
+
 /* cfg80211 operation handler for stop ap.
  * Function stops BSS running at uAP interface.
  */
        .set_bitrate_mask = mwifiex_cfg80211_set_bitrate_mask,
        .start_ap = mwifiex_cfg80211_start_ap,
        .stop_ap = mwifiex_cfg80211_stop_ap,
+       .change_beacon = mwifiex_cfg80211_change_beacon,
        .set_cqm_rssi_config = mwifiex_cfg80211_set_cqm_rssi_config,
 };