diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-27 06:35:58 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-27 13:53:31 -0400 |
commit | 34d4bc4d41d282a66dafe1b01a7d46bad468cefb (patch) | |
tree | ac0936b00f1ebd037be32fd0e5f304f26366e6c0 /net/mac80211/cfg.c | |
parent | 87490f6db38999fee7f6d3dbecc5b94730c7e010 (diff) |
mac80211: support runtime interface type changes
Add support to mac80211 for changing the interface
type even when the interface is UP, if the driver
supports it.
To achieve this
* add a new driver callback for switching,
* split some of the interface up/down code out
into new functions (do_open/do_stop), and
* maintain an own __SDATA_RUNNING bit that will
not be set during interface type, so that any
other code doesn't use the interface.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index f82b18e996b2..5de1ca3f17b9 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -52,9 +52,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy, | |||
52 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); | 52 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); |
53 | int ret; | 53 | int ret; |
54 | 54 | ||
55 | if (ieee80211_sdata_running(sdata)) | ||
56 | return -EBUSY; | ||
57 | |||
58 | ret = ieee80211_if_change_type(sdata, type); | 55 | ret = ieee80211_if_change_type(sdata, type); |
59 | if (ret) | 56 | if (ret) |
60 | return ret; | 57 | return ret; |