diff options
| -rw-r--r-- | net/wireless/core.c | 3 | ||||
| -rw-r--r-- | net/wireless/ibss.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index 7b66cf15349a..83ec7197bd7c 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
| @@ -567,9 +567,6 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, | |||
| 567 | #endif | 567 | #endif |
| 568 | break; | 568 | break; |
| 569 | case NETDEV_GOING_DOWN: | 569 | case NETDEV_GOING_DOWN: |
| 570 | if (!wdev->ssid_len) | ||
| 571 | break; | ||
| 572 | |||
| 573 | switch (wdev->iftype) { | 570 | switch (wdev->iftype) { |
| 574 | case NL80211_IFTYPE_ADHOC: | 571 | case NL80211_IFTYPE_ADHOC: |
| 575 | cfg80211_leave_ibss(rdev, dev, true); | 572 | cfg80211_leave_ibss(rdev, dev, true); |
diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c index c92b542d54b0..a5330c5a5477 100644 --- a/net/wireless/ibss.c +++ b/net/wireless/ibss.c | |||
| @@ -92,8 +92,12 @@ void cfg80211_clear_ibss(struct net_device *dev, bool nowext) | |||
| 92 | int cfg80211_leave_ibss(struct cfg80211_registered_device *rdev, | 92 | int cfg80211_leave_ibss(struct cfg80211_registered_device *rdev, |
| 93 | struct net_device *dev, bool nowext) | 93 | struct net_device *dev, bool nowext) |
| 94 | { | 94 | { |
| 95 | struct wireless_dev *wdev = dev->ieee80211_ptr; | ||
| 95 | int err; | 96 | int err; |
| 96 | 97 | ||
| 98 | if (!wdev->ssid_len) | ||
| 99 | return -ENOLINK; | ||
| 100 | |||
| 97 | err = rdev->ops->leave_ibss(&rdev->wiphy, dev); | 101 | err = rdev->ops->leave_ibss(&rdev->wiphy, dev); |
| 98 | 102 | ||
| 99 | if (err) | 103 | if (err) |
