diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-11-10 02:25:52 +0100 |
---|---|---|
committer | Thomas Graf <tgr@axs.localdomain> | 2005-11-10 02:26:40 +0100 |
commit | a8f74b228826eef1cbe04a05647d61e896f5fd63 (patch) | |
tree | 6abffeafca83f1aa342ed905367fab1f5a1ac554 /net/netlink | |
parent | bfa83a9e03cf8d501c6272999843470afecb32ed (diff) | |
download | op-kernel-dev-a8f74b228826eef1cbe04a05647d61e896f5fd63.zip op-kernel-dev-a8f74b228826eef1cbe04a05647d61e896f5fd63.tar.gz |
[NETLINK]: Make netlink_callback->done() optional
Most netlink families make no use of the done() callback, making
it optional gets rid of all unnecessary dummy implementations.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink')
-rw-r--r-- | net/netlink/af_netlink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 5ca2835..f3fb7e5 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -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); |