diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 19:31:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:09:37 -0500 |
commit | 51fb61e76d952e6bc2fbdd9f0d38425fbab1cf31 (patch) | |
tree | 09618b395aae1b91fbc8dec7ea9397a9654a9f0f /net/mac80211/ieee80211_iface.c | |
parent | 32bfd35d4b63bd63de4bb0d791ef049c3c868726 (diff) |
mac80211: move interface type to vif structure
Drivers that support mixed AP/STA operation may well need to
know the type of a virtual interface when iterating over them.
The easiest way to support that is to move the interface type
variable into the vif structure.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_iface.c')
-rw-r--r-- | net/mac80211/ieee80211_iface.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c index b72066378805..be96aa84c79a 100644 --- a/net/mac80211/ieee80211_iface.c +++ b/net/mac80211/ieee80211_iface.c | |||
@@ -66,7 +66,7 @@ int ieee80211_if_add(struct net_device *dev, const char *name, | |||
66 | sdata = IEEE80211_DEV_TO_SUB_IF(ndev); | 66 | sdata = IEEE80211_DEV_TO_SUB_IF(ndev); |
67 | ndev->ieee80211_ptr = &sdata->wdev; | 67 | ndev->ieee80211_ptr = &sdata->wdev; |
68 | sdata->wdev.wiphy = local->hw.wiphy; | 68 | sdata->wdev.wiphy = local->hw.wiphy; |
69 | sdata->type = IEEE80211_IF_TYPE_AP; | 69 | sdata->vif.type = IEEE80211_IF_TYPE_AP; |
70 | sdata->dev = ndev; | 70 | sdata->dev = ndev; |
71 | sdata->local = local; | 71 | sdata->local = local; |
72 | ieee80211_if_sdata_init(sdata); | 72 | ieee80211_if_sdata_init(sdata); |
@@ -98,7 +98,7 @@ fail: | |||
98 | void ieee80211_if_set_type(struct net_device *dev, int type) | 98 | void ieee80211_if_set_type(struct net_device *dev, int type) |
99 | { | 99 | { |
100 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); | 100 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); |
101 | int oldtype = sdata->type; | 101 | int oldtype = sdata->vif.type; |
102 | 102 | ||
103 | /* | 103 | /* |
104 | * We need to call this function on the master interface | 104 | * We need to call this function on the master interface |
@@ -116,7 +116,7 @@ void ieee80211_if_set_type(struct net_device *dev, int type) | |||
116 | 116 | ||
117 | /* most have no BSS pointer */ | 117 | /* most have no BSS pointer */ |
118 | sdata->bss = NULL; | 118 | sdata->bss = NULL; |
119 | sdata->type = type; | 119 | sdata->vif.type = type; |
120 | 120 | ||
121 | switch (type) { | 121 | switch (type) { |
122 | case IEEE80211_IF_TYPE_WDS: | 122 | case IEEE80211_IF_TYPE_WDS: |
@@ -181,7 +181,7 @@ void ieee80211_if_reinit(struct net_device *dev) | |||
181 | 181 | ||
182 | ieee80211_if_sdata_deinit(sdata); | 182 | ieee80211_if_sdata_deinit(sdata); |
183 | 183 | ||
184 | switch (sdata->type) { | 184 | switch (sdata->vif.type) { |
185 | case IEEE80211_IF_TYPE_INVALID: | 185 | case IEEE80211_IF_TYPE_INVALID: |
186 | /* cannot happen */ | 186 | /* cannot happen */ |
187 | WARN_ON(1); | 187 | WARN_ON(1); |
@@ -279,7 +279,7 @@ int ieee80211_if_remove(struct net_device *dev, const char *name, int id) | |||
279 | ASSERT_RTNL(); | 279 | ASSERT_RTNL(); |
280 | 280 | ||
281 | list_for_each_entry_safe(sdata, n, &local->interfaces, list) { | 281 | list_for_each_entry_safe(sdata, n, &local->interfaces, list) { |
282 | if ((sdata->type == id || id == -1) && | 282 | if ((sdata->vif.type == id || id == -1) && |
283 | strcmp(name, sdata->dev->name) == 0 && | 283 | strcmp(name, sdata->dev->name) == 0 && |
284 | sdata->dev != local->mdev) { | 284 | sdata->dev != local->mdev) { |
285 | list_del_rcu(&sdata->list); | 285 | list_del_rcu(&sdata->list); |