Bluetooth: 6lowpan: Remove unnecessary RCU callback
Subsystems (2)
PATCH 1/1 Bluetooth: 6lowpan: Remove unnecessary RCU callback
From: Johan Hedberg <[email protected]>
When kfree() is all that's needed to free an object protected by RCU there's a kfree_rcu() convenience function that can be used. This patch updates the 6lowpan code to use this, thereby eliminating the need for the separate peer_free() function.
Signed-off-by Johan Hedberg <[email protected]>
--- net/bluetooth/6lowpan.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-)
net/bluetooth/6lowpan.c +2 -9
@@ -87,13 +87,6 @@ struct lowpan_dev {struct delayed_work notify_peers; }; -static inline void peer_free (struct rcu_head *head) -{ - struct lowpan_peer *e = container_of(head, struct lowpan_peer, rcu); - -kfree (e); -} -static inline struct lowpan_dev *lowpan_dev (const struct net_device *netdev) {return netdev_priv (netdev);
@@ -108,7 +101,7 @@ static inline void peer_add(struct lowpan_dev *dev, struct lowpan_peer *peer)static inline bool peer_del (struct lowpan_dev *dev,struct lowpan_peer *peer) {list_del_rcu (&peer->list); -call_rcu (&peer->rcu, peer_free); +kfree_rcu (peer, rcu);module_put (THIS_MODULE );
@@ -1219,7 +1212,7 @@ static void disconnect_all_peers(void)l2cap_chan_close (peer->chan,ENOENT );list_del_rcu (&peer->list); -call_rcu (&peer->rcu, peer_free); +kfree_rcu (peer, rcu);module_put (THIS_MODULE ); }
Signature · 1 line
2.1.0
Marcel Holtmann
maintainerHi Johan,
Quoted 9 lines
When
kfree()is all that's needed to free an object protected by RCU there's akfree_rcu()convenience function that can be used. This patch updates the 6lowpan code to use this, thereby eliminating the need for the separatepeer_free()function.Signed-off-by Johan Hedberg <[email protected]>---
net/bluetooth/6lowpan.c| 11 ++---------1 file changed, 2 insertions(+), 9 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel