]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
wl12xx: remove wl1271_tx_update_filters
authorEliad Peller <eliad@wizery.com>
Tue, 24 Jan 2012 16:18:43 +0000 (18:18 +0200)
committerLuciano Coelho <coelho@ti.com>
Wed, 15 Feb 2012 06:38:30 +0000 (08:38 +0200)
wl1271_tx_update_filters() is used as some workaround
to open filters while roaming on the same channel.

However, it doesn't handle roaming to a different channel,
and it might also sleep in the tx path, which is a bug.

With the new auth/assoc redesign, roaming is much simpler,
and this function is not needed anymore.

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

index 4508ccd78328017b173215fbfec69ea3a6c5c413..2bf43b86a3f9f48ec52ba52505df401a147dffae 100644 (file)
@@ -77,35 +77,6 @@ static void wl1271_free_tx_id(struct wl1271 *wl, int id)
        }
 }
 
-static int wl1271_tx_update_filters(struct wl1271 *wl,
-                                   struct wl12xx_vif *wlvif,
-                                   struct sk_buff *skb)
-{
-       struct ieee80211_hdr *hdr;
-       int ret;
-
-       hdr = (struct ieee80211_hdr *)skb->data;
-
-       /*
-        * stop bssid-based filtering before transmitting authentication
-        * requests. this way the hw will never drop authentication
-        * responses coming from BSSIDs it isn't familiar with (e.g. on
-        * roaming)
-        */
-       if (!ieee80211_is_auth(hdr->frame_control))
-               return 0;
-
-       if (wlvif->dev_hlid != WL12XX_INVALID_LINK_ID)
-               goto out;
-
-       wl1271_debug(DEBUG_CMD, "starting device role for roaming");
-       ret = wl12xx_start_dev(wl, wlvif);
-       if (ret < 0)
-               goto out;
-out:
-       return 0;
-}
-
 static void wl1271_tx_ap_update_inconnection_sta(struct wl1271 *wl,
                                                 struct sk_buff *skb)
 {
@@ -187,8 +158,6 @@ u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif,
        if (wlvif->bss_type == BSS_TYPE_AP_BSS)
                return wl12xx_tx_get_hlid_ap(wl, wlvif, skb);
 
-       wl1271_tx_update_filters(wl, wlvif, skb);
-
        if ((test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags) ||
             test_bit(WLVIF_FLAG_IBSS_JOINED, &wlvif->flags)) &&
            !ieee80211_is_auth(hdr->frame_control) &&