diff options
Diffstat (limited to 'net/wireless/util.c')
-rw-r--r-- | net/wireless/util.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c index 5aa39f7cf9b9..17a7a4cfc617 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c | |||
@@ -659,6 +659,8 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev, | |||
659 | return -EOPNOTSUPP; | 659 | return -EOPNOTSUPP; |
660 | 660 | ||
661 | if (ntype != otype) { | 661 | if (ntype != otype) { |
662 | dev->ieee80211_ptr->use_4addr = false; | ||
663 | |||
662 | switch (otype) { | 664 | switch (otype) { |
663 | case NL80211_IFTYPE_ADHOC: | 665 | case NL80211_IFTYPE_ADHOC: |
664 | cfg80211_leave_ibss(rdev, dev, false); | 666 | cfg80211_leave_ibss(rdev, dev, false); |
@@ -682,5 +684,8 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev, | |||
682 | 684 | ||
683 | WARN_ON(!err && dev->ieee80211_ptr->iftype != ntype); | 685 | WARN_ON(!err && dev->ieee80211_ptr->iftype != ntype); |
684 | 686 | ||
687 | if (!err && params && params->use_4addr != -1) | ||
688 | dev->ieee80211_ptr->use_4addr = params->use_4addr; | ||
689 | |||
685 | return err; | 690 | return err; |
686 | } | 691 | } |