]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/netlink/af_netlink.c
[NETLINK]: Make netlink_callback->done() optional
[net-next-2.6.git] / net / netlink / af_netlink.c
index 5ca283537bc66e9344c2e0295b6139d0628454a9..f3fb7e575816e8f82ccb1a413b06da64d91ef033 100644 (file)
@@ -427,7 +427,8 @@ static int netlink_release(struct socket *sock)
 
        spin_lock(&nlk->cb_lock);
        if (nlk->cb) {
-               nlk->cb->done(nlk->cb);
+               if (nlk->cb->done)
+                       nlk->cb->done(nlk->cb);
                netlink_destroy_callback(nlk->cb);
                nlk->cb = NULL;
        }
@@ -1322,7 +1323,8 @@ static int netlink_dump(struct sock *sk)
        skb_queue_tail(&sk->sk_receive_queue, skb);
        sk->sk_data_ready(sk, skb->len);
 
-       cb->done(cb);
+       if (cb->done)
+               cb->done(cb);
        nlk->cb = NULL;
        spin_unlock(&nlk->cb_lock);