2009-01-23 01:34:17

by Samuel Ortiz

[permalink] [raw]
Subject: [PATCH] mac80211: ieee80211_sta_set_bssid should call config_interface()

From: Samuel Ortiz <[email protected]>

With commit e32b1b9a33759e8a83ac566c4c43f23ed5d6343b, we end up not calling
config_interface() when we're in STA, but not Ad-Hoc. This breaks several
drivers, and the fix is to get ieee80211_sta_set_bssid() to call
ieee80211_if_config() again.

Signed-off-by: Samuel Ortiz <[email protected]>
Signed-off-by: Reinette Chatre <[email protected]>
---
net/mac80211/mlme.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

Index: wireless-testing/net/mac80211/mlme.c
===================================================================
--- wireless-testing.orig/net/mac80211/mlme.c 2009-01-23 01:33:54.000000000 +0100
+++ wireless-testing/net/mac80211/mlme.c 2009-01-23 01:36:51.000000000 +0100
@@ -2650,6 +2650,18 @@ int ieee80211_sta_set_bssid(struct ieee8
ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
}

+ if (netif_running(sdata->dev)) {
+ int ret;
+
+ ret = ieee80211_if_config(sdata, IEEE80211_IFCC_BSSID);
+
+ if (ret) {
+ printk(KERN_DEBUG "%s: Failed to config new BSSID to "
+ "the low-level driver\n", sdata->dev->name);
+ return ret;
+ }
+ }
+
return ieee80211_sta_set_ssid(sdata, ifsta->ssid, ifsta->ssid_len);
}

--
Intel Open Source Technology Centre
http://oss.intel.com/


2009-01-23 02:44:57

by Sedat Dilek

[permalink] [raw]
Subject: Re: [PATCH] mac80211: ieee80211_sta_set_bssid should call config_interface()

Just to clarify:
The revert-patch of Alina's fix (causing regression) is no more needed?

-SD

On Fri, Jan 23, 2009 at 2:30 AM, Samuel Ortiz <[email protected]> wrote:
> From: Samuel Ortiz <[email protected]>
>
> With commit e32b1b9a33759e8a83ac566c4c43f23ed5d6343b, we end up not calling
> config_interface() when we're in STA, but not Ad-Hoc. This breaks several
> drivers, and the fix is to get ieee80211_sta_set_bssid() to call
> ieee80211_if_config() again.
>
> Signed-off-by: Samuel Ortiz <[email protected]>
> Signed-off-by: Reinette Chatre <[email protected]>
> ---
> net/mac80211/mlme.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> Index: wireless-testing/net/mac80211/mlme.c
> ===================================================================
> --- wireless-testing.orig/net/mac80211/mlme.c 2009-01-23 01:33:54.000000000 +0100
> +++ wireless-testing/net/mac80211/mlme.c 2009-01-23 01:36:51.000000000 +0100
> @@ -2650,6 +2650,18 @@ int ieee80211_sta_set_bssid(struct ieee8
> ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
> }
>
> + if (netif_running(sdata->dev)) {
> + int ret;
> +
> + ret = ieee80211_if_config(sdata, IEEE80211_IFCC_BSSID);
> +
> + if (ret) {
> + printk(KERN_DEBUG "%s: Failed to config new BSSID to "
> + "the low-level driver\n", sdata->dev->name);
> + return ret;
> + }
> + }
> +
> return ieee80211_sta_set_ssid(sdata, ifsta->ssid, ifsta->ssid_len);
> }
>
> --
> Intel Open Source Technology Centre
> http://oss.intel.com/
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

2009-01-23 19:00:55

by John W. Linville

[permalink] [raw]
Subject: Re: [PATCH] mac80211: ieee80211_sta_set_bssid should call config_interface()

I'm going to drop this patch too.

Alina, please account for this change when reposting the original patch.

Thanks,

John

On Fri, Jan 23, 2009 at 03:44:53AM +0100, Sedat Dilek wrote:
> Just to clarify:
> The revert-patch of Alina's fix (causing regression) is no more needed?
>
> -SD
>
> On Fri, Jan 23, 2009 at 2:30 AM, Samuel Ortiz <[email protected]> wrote:
> > From: Samuel Ortiz <[email protected]>
> >
> > With commit e32b1b9a33759e8a83ac566c4c43f23ed5d6343b, we end up not calling
> > config_interface() when we're in STA, but not Ad-Hoc. This breaks several
> > drivers, and the fix is to get ieee80211_sta_set_bssid() to call
> > ieee80211_if_config() again.
> >
> > Signed-off-by: Samuel Ortiz <[email protected]>
> > Signed-off-by: Reinette Chatre <[email protected]>
> > ---
> > net/mac80211/mlme.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > Index: wireless-testing/net/mac80211/mlme.c
> > ===================================================================
> > --- wireless-testing.orig/net/mac80211/mlme.c 2009-01-23 01:33:54.000000000 +0100
> > +++ wireless-testing/net/mac80211/mlme.c 2009-01-23 01:36:51.000000000 +0100
> > @@ -2650,6 +2650,18 @@ int ieee80211_sta_set_bssid(struct ieee8
> > ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
> > }
> >
> > + if (netif_running(sdata->dev)) {
> > + int ret;
> > +
> > + ret = ieee80211_if_config(sdata, IEEE80211_IFCC_BSSID);
> > +
> > + if (ret) {
> > + printk(KERN_DEBUG "%s: Failed to config new BSSID to "
> > + "the low-level driver\n", sdata->dev->name);
> > + return ret;
> > + }
> > + }
> > +
> > return ieee80211_sta_set_ssid(sdata, ifsta->ssid, ifsta->ssid_len);
> > }
> >
> > --
> > Intel Open Source Technology Centre
> > http://oss.intel.com/
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> > the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
>

--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.