*     config_interface() call, so copy the value somewhere if you need
  *     it.
  * @ssid_len: length of the @ssid field.
- * @generic_elem: used (together with @generic_elem_len) by drivers for
- *     hardware that generate beacons independently. The pointer is valid
- *     only during the config_interface() call, so copy the value somewhere
- *     if you need it.
- * @generic_elem_len: length of the generic element.
  * @beacon: beacon template. Valid only if @host_gen_beacon_template in
  *     &struct ieee80211_hw is set. The driver is responsible of freeing
  *     the sk_buff.
        u8 *bssid;
        u8 *ssid;
        size_t ssid_len;
-       u8 *generic_elem;
-       size_t generic_elem_len;
        struct sk_buff *beacon;
        struct ieee80211_tx_control *beacon_control;
 };
 
                conf.bssid = sdata->u.sta.bssid;
                conf.ssid = sdata->u.sta.ssid;
                conf.ssid_len = sdata->u.sta.ssid_len;
-               conf.generic_elem = sdata->u.sta.extra_ie;
-               conf.generic_elem_len = sdata->u.sta.extra_ie_len;
        } else if (sdata->type == IEEE80211_IF_TYPE_AP) {
                conf.ssid = sdata->u.ap.ssid;
                conf.ssid_len = sdata->u.ap.ssid_len;
-               conf.generic_elem = sdata->u.ap.generic_elem;
-               conf.generic_elem_len = sdata->u.ap.generic_elem_len;
                conf.beacon = beacon;
                conf.beacon_control = control;
        }
 
 
        u8 ssid[IEEE80211_MAX_SSID_LEN];
        size_t ssid_len;
-       u8 *generic_elem;
-       size_t generic_elem_len;
 
        /* yes, this looks ugly, but guarantees that we can later use
         * bitmap_empty :)
 
 
                kfree(sdata->u.ap.beacon_head);
                kfree(sdata->u.ap.beacon_tail);
-               kfree(sdata->u.ap.generic_elem);
 
                while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) {
                        local->total_ps_buffered--;
 
                return 0;
        }
 
-       if (sdata->type == IEEE80211_IF_TYPE_AP) {
-               kfree(sdata->u.ap.generic_elem);
-               sdata->u.ap.generic_elem = kmalloc(data->length, GFP_KERNEL);
-               if (!sdata->u.ap.generic_elem)
-                       return -ENOMEM;
-               memcpy(sdata->u.ap.generic_elem, extra, data->length);
-               sdata->u.ap.generic_elem_len = data->length;
-               return ieee80211_if_config(dev);
-       }
        return -EOPNOTSUPP;
 }