From d2d6601570c05c4d17a5ff9499440774fe030083 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Tue, 7 Jul 2009 03:56:05 +0200 Subject: [PATCH] --- yaml --- r: 158949 b: refs/heads/master c: 78485475618cf9f1c70dc7f15e8deafa8b6074ab h: refs/heads/master i: 158947: a5d9cf66890889bae47c9d7bc89952eadd57e522 v: v3 --- [refs] | 2 +- trunk/net/wireless/core.c | 3 --- trunk/net/wireless/ibss.c | 4 ++++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 57fdd1be2bde..66c2f144d44c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9cf01226e0bd1fa4f7f7024d8d53e982fad208f +refs/heads/master: 78485475618cf9f1c70dc7f15e8deafa8b6074ab diff --git a/trunk/net/wireless/core.c b/trunk/net/wireless/core.c index 7b66cf15349a..83ec7197bd7c 100644 --- a/trunk/net/wireless/core.c +++ b/trunk/net/wireless/core.c @@ -567,9 +567,6 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, #endif break; case NETDEV_GOING_DOWN: - if (!wdev->ssid_len) - break; - switch (wdev->iftype) { case NL80211_IFTYPE_ADHOC: cfg80211_leave_ibss(rdev, dev, true); diff --git a/trunk/net/wireless/ibss.c b/trunk/net/wireless/ibss.c index c92b542d54b0..a5330c5a5477 100644 --- a/trunk/net/wireless/ibss.c +++ b/trunk/net/wireless/ibss.c @@ -92,8 +92,12 @@ void cfg80211_clear_ibss(struct net_device *dev, bool nowext) int cfg80211_leave_ibss(struct cfg80211_registered_device *rdev, struct net_device *dev, bool nowext) { + struct wireless_dev *wdev = dev->ieee80211_ptr; int err; + if (!wdev->ssid_len) + return -ENOLINK; + err = rdev->ops->leave_ibss(&rdev->wiphy, dev); if (err)