On Wed, Nov 18, 2009 at 09:46, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Wed, 2009-11-18 at 09:42 +1100, Julian Calaby wrote: >> On Wed, Nov 18, 2009 at 07:48, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: >> > --- wireless-testing.orig/net/mac80211/iface.c 2009-11-17 14:20:19.000000000 +0100 >> > +++ wireless-testing/net/mac80211/iface.c 2009-11-17 17:56:08.000000000 +0100 >> > @@ -745,6 +745,11 @@ int ieee80211_if_change_type(struct ieee >> > if (type == sdata->vif.type) >> > return 0; >> > >> > + /* if it's part of a bridge, reject changing type to station/ibss */ >> > + if (sdata->dev->br_port && (type == NL80211_IFTYPE_ADHOC || >> > + type == NL80211_IFTYPE_STATION)) >> > + return -EBUSY; >> >> Busy doesn't seem like the right error here ... maybe use -EOPNOTSUPP >> like the next test? > > Not sure, it's a temporary error and you can fix it by removing it from > the bridge, so it's "busy" in the sense that it is fixed to the current > mode or any other bridging mode by being in the bridge ... it's not that > it doesn't support the mode. Arguably the test following this (ensuring that we don't set ad-hoc mode on a non-ad-hoc channel) is equally temporary - i.e. both actions require the user to do something before they'll work again. But then, the test after that - for whether the interface is running - returns -EBUSY - and is just as easy to remedy, so........ Thanks, -- Julian Calaby Email: julian.calaby@xxxxxxxxx .Plan: http://sites.google.com/site/juliancalaby/ -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html