wl12xx: delete wl->vif (and allow multiple vifs)
authorEliad Peller <eliad@wizery.com>
Mon, 6 Feb 2012 10:47:57 +0000 (12:47 +0200)
committerLuciano Coelho <coelho@ti.com>
Wed, 15 Feb 2012 06:38:36 +0000 (08:38 +0200)
Delete the global wl->vif (and the checks on it),
so multiple vifs could be added.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/wl12xx.h

index 10c1ecd..fc8dfbf 100644 (file)
@@ -2186,13 +2186,6 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
        if (ret < 0)
                goto out_unlock;
 
-       if (wl->vif) {
-               wl1271_debug(DEBUG_MAC80211,
-                            "multiple vifs are not supported yet");
-               ret = -EBUSY;
-               goto out;
-       }
-
        /*
         * in some very corner case HW recovery scenarios its possible to
         * get here before __wl1271_op_remove_interface is complete, so
@@ -2265,7 +2258,6 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
        if (ret < 0)
                goto out;
 
-       wl->vif = vif;
        list_add(&wlvif->list, &wl->wlvif_list);
        set_bit(WLVIF_FLAG_INITIALIZED, &wlvif->flags);
 
@@ -2298,8 +2290,6 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
        if (!test_and_clear_bit(WLVIF_FLAG_INITIALIZED, &wlvif->flags))
                return;
 
-       wl->vif = NULL;
-
        /* because of hardware recovery, we may get here twice */
        if (wl->state != WL1271_STATE_ON)
                return;
@@ -5291,7 +5281,6 @@ static struct ieee80211_hw *wl1271_alloc_hw(void)
        wl->rx_counter = 0;
        wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
        wl->band = IEEE80211_BAND_2GHZ;
-       wl->vif = NULL;
        wl->flags = 0;
        wl->sg_enabled = true;
        wl->hw_pg_ver = -1;
index 04cddaa..9035241 100644 (file)
@@ -445,8 +445,6 @@ struct wl1271 {
        struct wl12xx_fw_status *fw_status;
        struct wl1271_tx_hw_res_if *tx_res_if;
 
-       struct ieee80211_vif *vif;
-
        /* Current chipset configuration */
        struct conf_drv_settings conf;