* [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID
@ 2012-01-24 16:18 Eliad Peller
2012-01-24 16:18 ` [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters Eliad Peller
2012-02-15 10:14 ` [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Luciano Coelho
0 siblings, 2 replies; 5+ messages in thread
From: Eliad Peller @ 2012-01-24 16:18 UTC (permalink / raw)
To: Luciano Coelho; +Cc: linux-wireless
with the new auth/assoc redesign, we get CHANGED_BSSID
indication before CHANGED_ASSOC indication, while our
CHANGED_BSSID handling block assumes we are already
associated.
Fix it by checking we are either in ibss mode, or
already associated.
Signed-off-by: Eliad Peller <eliad@wizery.com>
---
drivers/net/wireless/wl12xx/main.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 915d56c..91c03d8 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -3639,7 +3639,8 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
wlvif->rssi_thold = bss_conf->cqm_rssi_thold;
}
- if (changed & BSS_CHANGED_BSSID)
+ if (changed & BSS_CHANGED_BSSID &&
+ (is_ibss || bss_conf->assoc))
if (!is_zero_ether_addr(bss_conf->bssid)) {
ret = wl12xx_cmd_build_null_data(wl, wlvif);
if (ret < 0)
--
1.7.6.401.g6a319
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters
2012-01-24 16:18 [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Eliad Peller
@ 2012-01-24 16:18 ` Eliad Peller
2012-01-24 18:55 ` Luciano Coelho
2012-02-15 10:14 ` [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Luciano Coelho
1 sibling, 1 reply; 5+ messages in thread
From: Eliad Peller @ 2012-01-24 16:18 UTC (permalink / raw)
To: Luciano Coelho; +Cc: linux-wireless
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>
---
drivers/net/wireless/wl12xx/tx.c | 31 -------------------------------
1 files changed, 0 insertions(+), 31 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index 4508ccd..2bf43b8 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/drivers/net/wireless/wl12xx/tx.c
@@ -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) &&
--
1.7.6.401.g6a319
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters
2012-01-24 16:18 ` [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters Eliad Peller
@ 2012-01-24 18:55 ` Luciano Coelho
2012-01-24 19:15 ` Eliad Peller
0 siblings, 1 reply; 5+ messages in thread
From: Luciano Coelho @ 2012-01-24 18:55 UTC (permalink / raw)
To: Eliad Peller; +Cc: linux-wireless
On Tue, 2012-01-24 at 18:18 +0200, Eliad Peller wrote:
> 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.
And is this okay without the redesign?
--
Cheers,
Luca.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters
2012-01-24 18:55 ` Luciano Coelho
@ 2012-01-24 19:15 ` Eliad Peller
0 siblings, 0 replies; 5+ messages in thread
From: Eliad Peller @ 2012-01-24 19:15 UTC (permalink / raw)
To: Luciano Coelho; +Cc: linux-wireless
On Tue, Jan 24, 2012 at 8:55 PM, Luciano Coelho <coelho@ti.com> wrote:
> On Tue, 2012-01-24 at 18:18 +0200, Eliad Peller wrote:
>> 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.
>
> And is this okay without the redesign?
>
yes.
it will only break roaming on the same channel. but as roaming to
another channel is already broken, and it also fixes a scheduling bug,
i think it should be applied even before the redesign patches..
Eliad.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID
2012-01-24 16:18 [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Eliad Peller
2012-01-24 16:18 ` [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters Eliad Peller
@ 2012-02-15 10:14 ` Luciano Coelho
1 sibling, 0 replies; 5+ messages in thread
From: Luciano Coelho @ 2012-02-15 10:14 UTC (permalink / raw)
To: Eliad Peller; +Cc: linux-wireless
On Tue, 2012-01-24 at 18:18 +0200, Eliad Peller wrote:
> with the new auth/assoc redesign, we get CHANGED_BSSID
> indication before CHANGED_ASSOC indication, while our
> CHANGED_BSSID handling block assumes we are already
> associated.
>
> Fix it by checking we are either in ibss mode, or
> already associated.
>
> Signed-off-by: Eliad Peller <eliad@wizery.com>
> ---
Applied the set, thanks!
--
Cheers,
Luca.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-02-15 10:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-24 16:18 [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Eliad Peller
2012-01-24 16:18 ` [PATCH 2/2] wl12xx: remove wl1271_tx_update_filters Eliad Peller
2012-01-24 18:55 ` Luciano Coelho
2012-01-24 19:15 ` Eliad Peller
2012-02-15 10:14 ` [PATCH 1/2] wl12xx: check bss_conf->assoc on CHANGED_BSSID Luciano Coelho
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).