#define IEEE80211_STA_ASSOCIATED       BIT(4)
 #define IEEE80211_STA_PROBEREQ_POLL    BIT(5)
 #define IEEE80211_STA_CREATE_IBSS      BIT(6)
-#define IEEE80211_STA_MIXED_CELL       BIT(7)
+/* hole at 7, please re-use */
 #define IEEE80211_STA_WMM_ENABLED      BIT(8)
+/* hole at 9, please re-use */
 #define IEEE80211_STA_AUTO_SSID_SEL    BIT(10)
 #define IEEE80211_STA_AUTO_BSSID_SEL   BIT(11)
 #define IEEE80211_STA_AUTO_CHANNEL_SEL BIT(12)
  *
  * @IEEE80211_SDATA_ALLMULTI: interface wants all multicast packets
  * @IEEE80211_SDATA_PROMISC: interface is promisc
- * @IEEE80211_SDATA_USERSPACE_MLME: userspace MLME is active
  * @IEEE80211_SDATA_OPERATING_GMODE: operating in G-only mode
  * @IEEE80211_SDATA_DONT_BRIDGE_PACKETS: bridge packets between
  *     associated stations and deliver multicast frames both
 enum ieee80211_sub_if_data_flags {
        IEEE80211_SDATA_ALLMULTI                = BIT(0),
        IEEE80211_SDATA_PROMISC                 = BIT(1),
-       IEEE80211_SDATA_USERSPACE_MLME          = BIT(2),
-       IEEE80211_SDATA_OPERATING_GMODE         = BIT(3),
-       IEEE80211_SDATA_DONT_BRIDGE_PACKETS     = BIT(4),
+       IEEE80211_SDATA_OPERATING_GMODE         = BIT(2),
+       IEEE80211_SDATA_DONT_BRIDGE_PACKETS     = BIT(3),
 };
 
 struct ieee80211_sub_if_data {
 
                ieee80211_bss_info_change_notify(sdata, changed);
                ieee80211_enable_keys(sdata);
 
-               if (sdata->vif.type == NL80211_IFTYPE_STATION &&
-                   !(sdata->flags & IEEE80211_SDATA_USERSPACE_MLME))
+               if (sdata->vif.type == NL80211_IFTYPE_STATION)
                        netif_carrier_off(dev);
                else
                        netif_carrier_on(dev);
 
        int wep_privacy;
        int privacy_invoked;
 
-       if (!ifmgd || (ifmgd->flags & (IEEE80211_STA_MIXED_CELL |
-                                      IEEE80211_STA_EXT_SME)))
+       if (!ifmgd || (ifmgd->flags & IEEE80211_STA_EXT_SME))
                return 0;
 
        bss = ieee80211_rx_bss_get(local, ifmgd->bssid,
 
        if (ieee80211_vif_is_mesh(&sdata->vif))
                return ieee80211_mesh_rx_mgmt(sdata, rx->skb, rx->status);
 
-       if (sdata->vif.type != NL80211_IFTYPE_STATION &&
-           sdata->vif.type != NL80211_IFTYPE_ADHOC)
-               return RX_DROP_MONITOR;
-
+       if (sdata->vif.type != NL80211_IFTYPE_ADHOC)
+               return ieee80211_ibss_rx_mgmt(sdata, rx->skb, rx->status);
 
-       if (sdata->vif.type == NL80211_IFTYPE_STATION) {
-               if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME)
-                       return RX_DROP_MONITOR;
+       if (sdata->vif.type == NL80211_IFTYPE_STATION)
                return ieee80211_sta_rx_mgmt(sdata, rx->skb, rx->status);
-       }
 
-       return ieee80211_ibss_rx_mgmt(sdata, rx->skb, rx->status);
+       return RX_DROP_MONITOR;
 }
 
 static void ieee80211_rx_michael_mic_report(struct net_device *dev,
 
 
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
-       if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME)
-               return -EOPNOTSUPP;
-
        if (sdata->vif.type == NL80211_IFTYPE_STATION) {
                int ret = ieee80211_sta_set_extra_ie(sdata, extra, data->length);
                if (ret)
 
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
        if (sdata->vif.type == NL80211_IFTYPE_STATION) {
-               if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME) {
-                       if (len > IEEE80211_MAX_SSID_LEN)
-                               return -EINVAL;
-                       memcpy(sdata->u.mgd.ssid, ssid, len);
-                       sdata->u.mgd.ssid_len = len;
-                       return 0;
-               }
-
                if (data->flags)
                        sdata->u.mgd.flags &= ~IEEE80211_STA_AUTO_SSID_SEL;
                else
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
        if (sdata->vif.type == NL80211_IFTYPE_STATION) {
                int ret;
-               if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME) {
-                       memcpy(sdata->u.mgd.bssid, (u8 *) &ap_addr->sa_data,
-                              ETH_ALEN);
-                       return 0;
-               }
+
                if (is_zero_ether_addr((u8 *) &ap_addr->sa_data))
                        sdata->u.mgd.flags |= IEEE80211_STA_AUTO_BSSID_SEL |
                                IEEE80211_STA_AUTO_CHANNEL_SEL;