diff options
author | Thomas Graf <tgraf@suug.ch> | 2012-06-13 02:54:57 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-13 15:46:34 -0700 |
commit | ab6d470735682a6e1ba889a66f56eb1640242096 (patch) | |
tree | f484562de5385fadb8e929871d4d879ed4c50b60 /net/dcb | |
parent | 77c6849d7aca31a0743be51412853079fcea03e0 (diff) | |
download | lwn-ab6d470735682a6e1ba889a66f56eb1640242096.tar.gz lwn-ab6d470735682a6e1ba889a66f56eb1640242096.zip |
dcbnl: Use dcbnl_newmsg() where possible
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dcb')
-rw-r--r-- | net/dcb/dcbnl.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c index 5ed71674a4a1..4d9e0ef23d9f 100644 --- a/net/dcb/dcbnl.c +++ b/net/dcb/dcbnl.c @@ -1328,27 +1328,16 @@ static int dcbnl_notify(struct net_device *dev, int event, int cmd, struct net *net = dev_net(dev); struct sk_buff *skb; struct nlmsghdr *nlh; - struct dcbmsg *dcb; const struct dcbnl_rtnl_ops *ops = dev->dcbnl_ops; int err; if (!ops) return -EOPNOTSUPP; - skb = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); + skb = dcbnl_newmsg(event, cmd, pid, seq, 0, &nlh); if (!skb) return -ENOBUFS; - nlh = nlmsg_put(skb, pid, 0, event, sizeof(*dcb), 0); - if (nlh == NULL) { - nlmsg_free(skb); - return -EMSGSIZE; - } - - dcb = NLMSG_DATA(nlh); - dcb->dcb_family = AF_UNSPEC; - dcb->cmd = cmd; - if (dcbx_ver == DCB_CAP_DCBX_VER_IEEE) err = dcbnl_ieee_fill(skb, dev); else @@ -1356,8 +1345,7 @@ static int dcbnl_notify(struct net_device *dev, int event, int cmd, if (err < 0) { /* Report error to broadcast listeners */ - nlmsg_cancel(skb, nlh); - kfree_skb(skb); + nlmsg_free(skb); rtnl_set_sk_err(net, RTNLGRP_DCB, err); } else { /* End nlmsg and notify broadcast listeners */ |