From bb058b9d03bfa379596c0fe156b3023341d828c8 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 28 Nov 2012 22:14:56 +0100 Subject: [PATCH] --- yaml --- r: 341983 b: refs/heads/master c: b629ea3db4c0da4465ffa532914e4a3081f93cdf h: refs/heads/master i: 341981: 88b532a07737429ae3f7b9c467d1ac55c8649914 341979: 3fe61406a2618402ea697e54261d1c16f743b303 341975: a42add495d73a8bc3a496e3f5083ca2951dadc15 341967: c729527f0791f733cbc721cf0203d68fa5549b89 341951: b92d3eea9041f143fd9d54c104110c3d55427f8f v: v3 --- [refs] | 2 +- trunk/net/wireless/scan.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 74391d6b2a6e..f2ad6110531d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 41e31b8b902397d5d507b275050fcbe8adaf4ff4 +refs/heads/master: b629ea3db4c0da4465ffa532914e4a3081f93cdf diff --git a/trunk/net/wireless/scan.c b/trunk/net/wireless/scan.c index 9596015975d2..5af431f2f90a 100644 --- a/trunk/net/wireless/scan.c +++ b/trunk/net/wireless/scan.c @@ -26,6 +26,10 @@ static void bss_release(struct kref *ref) struct cfg80211_internal_bss *bss; bss = container_of(ref, struct cfg80211_internal_bss, ref); + + if (WARN_ON(atomic_read(&bss->hold))) + return; + if (bss->pub.free_priv) bss->pub.free_priv(&bss->pub); @@ -34,8 +38,6 @@ static void bss_release(struct kref *ref) if (bss->proberesp_ies_allocated) kfree(bss->pub.proberesp_ies); - BUG_ON(atomic_read(&bss->hold)); - kfree(bss); }