diff options
Diffstat (limited to 'net/mac80211/ieee80211_iface.c')
-rw-r--r-- | net/mac80211/ieee80211_iface.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c index f9c74bb09d31..4590205fdf4b 100644 --- a/net/mac80211/ieee80211_iface.c +++ b/net/mac80211/ieee80211_iface.c | |||
@@ -164,6 +164,7 @@ void ieee80211_if_set_type(struct net_device *dev, int type) | |||
164 | sdata->bss = NULL; | 164 | sdata->bss = NULL; |
165 | break; | 165 | break; |
166 | case IEEE80211_IF_TYPE_VLAN: | 166 | case IEEE80211_IF_TYPE_VLAN: |
167 | sdata->u.vlan.ap = NULL; | ||
167 | break; | 168 | break; |
168 | case IEEE80211_IF_TYPE_AP: | 169 | case IEEE80211_IF_TYPE_AP: |
169 | sdata->u.ap.dtim_period = 2; | 170 | sdata->u.ap.dtim_period = 2; |
@@ -171,6 +172,7 @@ void ieee80211_if_set_type(struct net_device *dev, int type) | |||
171 | sdata->u.ap.max_ratectrl_rateidx = -1; | 172 | sdata->u.ap.max_ratectrl_rateidx = -1; |
172 | skb_queue_head_init(&sdata->u.ap.ps_bc_buf); | 173 | skb_queue_head_init(&sdata->u.ap.ps_bc_buf); |
173 | sdata->bss = &sdata->u.ap; | 174 | sdata->bss = &sdata->u.ap; |
175 | INIT_LIST_HEAD(&sdata->u.ap.vlans); | ||
174 | break; | 176 | break; |
175 | case IEEE80211_IF_TYPE_STA: | 177 | case IEEE80211_IF_TYPE_STA: |
176 | case IEEE80211_IF_TYPE_IBSS: { | 178 | case IEEE80211_IF_TYPE_IBSS: { |
@@ -284,6 +286,9 @@ void ieee80211_if_reinit(struct net_device *dev) | |||
284 | case IEEE80211_IF_TYPE_MNTR: | 286 | case IEEE80211_IF_TYPE_MNTR: |
285 | dev->type = ARPHRD_ETHER; | 287 | dev->type = ARPHRD_ETHER; |
286 | break; | 288 | break; |
289 | case IEEE80211_IF_TYPE_VLAN: | ||
290 | sdata->u.vlan.ap = NULL; | ||
291 | break; | ||
287 | } | 292 | } |
288 | 293 | ||
289 | /* remove all STAs that are bound to this virtual interface */ | 294 | /* remove all STAs that are bound to this virtual interface */ |