diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/bluetooth/6lowpan.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c index 3f20dce9d671..3d8ceb251d75 100644 --- a/net/bluetooth/6lowpan.c +++ b/net/bluetooth/6lowpan.c | |||
@@ -87,13 +87,6 @@ struct lowpan_dev { | |||
87 | struct delayed_work notify_peers; | 87 | struct delayed_work notify_peers; |
88 | }; | 88 | }; |
89 | 89 | ||
90 | static inline void peer_free(struct rcu_head *head) | ||
91 | { | ||
92 | struct lowpan_peer *e = container_of(head, struct lowpan_peer, rcu); | ||
93 | |||
94 | kfree(e); | ||
95 | } | ||
96 | |||
97 | static inline struct lowpan_dev *lowpan_dev(const struct net_device *netdev) | 90 | static inline struct lowpan_dev *lowpan_dev(const struct net_device *netdev) |
98 | { | 91 | { |
99 | return netdev_priv(netdev); | 92 | return netdev_priv(netdev); |
@@ -108,7 +101,7 @@ static inline void peer_add(struct lowpan_dev *dev, struct lowpan_peer *peer) | |||
108 | static inline bool peer_del(struct lowpan_dev *dev, struct lowpan_peer *peer) | 101 | static inline bool peer_del(struct lowpan_dev *dev, struct lowpan_peer *peer) |
109 | { | 102 | { |
110 | list_del_rcu(&peer->list); | 103 | list_del_rcu(&peer->list); |
111 | call_rcu(&peer->rcu, peer_free); | 104 | kfree_rcu(peer, rcu); |
112 | 105 | ||
113 | module_put(THIS_MODULE); | 106 | module_put(THIS_MODULE); |
114 | 107 | ||
@@ -1219,7 +1212,7 @@ static void disconnect_all_peers(void) | |||
1219 | l2cap_chan_close(peer->chan, ENOENT); | 1212 | l2cap_chan_close(peer->chan, ENOENT); |
1220 | 1213 | ||
1221 | list_del_rcu(&peer->list); | 1214 | list_del_rcu(&peer->list); |
1222 | call_rcu(&peer->rcu, peer_free); | 1215 | kfree_rcu(peer, rcu); |
1223 | 1216 | ||
1224 | module_put(THIS_MODULE); | 1217 | module_put(THIS_MODULE); |
1225 | } | 1218 | } |