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);
 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);
 
                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);
        }