cfg80211: don't BUG_ON BSS struct issues
There's no need to stop the machine, just leak
the BSS entry if there's an issue with its hold
counter when freeing.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 9596015..5af431f 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -26,6 +26,10 @@
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 @@
if (bss->proberesp_ies_allocated)
kfree(bss->pub.proberesp_ies);
- BUG_ON(atomic_read(&bss->hold));
-
kfree(bss);
}