mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
5547e48c09
commit
18d93c1766
|
@ -100,6 +100,8 @@ static inline bool peer_del(struct lowpan_dev *dev, struct lowpan_peer *peer)
|
||||||
{
|
{
|
||||||
list_del(&peer->list);
|
list_del(&peer->list);
|
||||||
|
|
||||||
|
module_put(THIS_MODULE);
|
||||||
|
|
||||||
if (atomic_dec_and_test(&dev->peer_count)) {
|
if (atomic_dec_and_test(&dev->peer_count)) {
|
||||||
BT_DBG("last peer");
|
BT_DBG("last peer");
|
||||||
return true;
|
return true;
|
||||||
|
@ -752,6 +754,9 @@ static inline void chan_ready_cb(struct l2cap_chan *chan)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!try_module_get(THIS_MODULE))
|
||||||
|
return;
|
||||||
|
|
||||||
add_peer_chan(chan, dev);
|
add_peer_chan(chan, dev);
|
||||||
ifup(dev->netdev);
|
ifup(dev->netdev);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue