diff --git a/[refs] b/[refs] index 3ebfc8d5552c..a0c441d1cc60 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4b5ad26bcb983c493e131ff34b2fa60100c82e5 +refs/heads/master: c7797baf9f3900996ca800ab6298f95957bb4606 diff --git a/trunk/net/dcb/dcbnl.c b/trunk/net/dcb/dcbnl.c index ed1bb8c65a9e..3a6d97d5280c 100644 --- a/trunk/net/dcb/dcbnl.c +++ b/trunk/net/dcb/dcbnl.c @@ -1288,6 +1288,7 @@ static int dcbnl_ieee_get(struct net_device *netdev, struct nlattr **tb, struct nlattr *ieee, *app; struct dcb_app_type *itr; const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; + int dcbx; int err; if (!ops) @@ -1338,6 +1339,12 @@ static int dcbnl_ieee_get(struct net_device *netdev, struct nlattr **tb, } } } + + if (netdev->dcbnl_ops->getdcbx) + dcbx = netdev->dcbnl_ops->getdcbx(netdev); + else + dcbx = -EOPNOTSUPP; + spin_unlock(&dcb_lock); nla_nest_end(skb, app); @@ -1366,6 +1373,11 @@ static int dcbnl_ieee_get(struct net_device *netdev, struct nlattr **tb, } nla_nest_end(skb, ieee); + if (dcbx >= 0) { + err = nla_put_u8(skb, DCB_ATTR_DCBX, dcbx); + if (err) + goto nla_put_failure; + } nlmsg_end(skb, nlh); return rtnl_unicast(skb, &init_net, pid);