Skip to content

Commit

Permalink
dcbnl: Use dcbnl_newmsg() where possible
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Graf <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
tgraf authored and davem330 committed Jun 13, 2012
1 parent 77c6849 commit ab6d470
Showing 1 changed file with 2 additions and 14 deletions.
16 changes: 2 additions & 14 deletions net/dcb/dcbnl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1328,36 +1328,24 @@ 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
err = dcbnl_cee_fill(skb, dev);

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 */
Expand Down

0 comments on commit ab6d470

Please sign in to comment.