Bluetooth: 6LoWPAN: Count module usage
Count how many 6LoWPAN connections there exists so that we
do not unload the module if there are still connections alive.
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index ceffe20..ba6c641 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -100,6 +100,8 @@
{
list_del(&peer->list);
+ module_put(THIS_MODULE);
+
if (atomic_dec_and_test(&dev->peer_count)) {
BT_DBG("last peer");
return true;
@@ -752,6 +754,9 @@
}
}
+ if (!try_module_get(THIS_MODULE))
+ return;
+
add_peer_chan(chan, dev);
ifup(dev->netdev);
}