aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_iface.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-12-18 19:31:27 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:09:37 -0500
commit51fb61e76d952e6bc2fbdd9f0d38425fbab1cf31 (patch)
tree09618b395aae1b91fbc8dec7ea9397a9654a9f0f /net/mac80211/ieee80211_iface.c
parent32bfd35d4b63bd63de4bb0d791ef049c3c868726 (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.c10
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:
98void ieee80211_if_set_type(struct net_device *dev, int type) 98void 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);