]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.fixes/dcb-fix-setpfcstate
Reenabled linux-xen, added patches for Xen Kernel Version 2.6.27.31,
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / dcb-fix-setpfcstate
diff --git a/src/patches/suse-2.6.27.31/patches.fixes/dcb-fix-setpfcstate b/src/patches/suse-2.6.27.31/patches.fixes/dcb-fix-setpfcstate
new file mode 100644 (file)
index 0000000..dc4541d
--- /dev/null
@@ -0,0 +1,53 @@
+Subject: Fix setpfcstate
+From: Hannes Reinecke <hare@suse.de>
+Date: Fri Nov 7 15:36:08 2008 +0100:
+Git: f7e09ce313fdc4f79403d43b1ac570f6807973bd
+References: bnc#438954
+
+Fixup setpfcstate and setnumtcs command.
+
+Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
+Signed-off-by: Hannes Reinecke <hare@suse.de>
+
+diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
+index f5e2b0b..be9dcbb 100644
+--- a/net/dcb/dcbnl.c
++++ b/net/dcb/dcbnl.c
+@@ -435,7 +435,6 @@ static int dcbnl_setnumtcs(struct net_device *netdev, struct nlattr **tb,
+       struct nlattr *data[DCB_NUMTCS_ATTR_MAX + 1];
+       int ret = -EINVAL;
+       u8 value;
+-      u8 status;
+       int i;
+       if (!tb[DCB_ATTR_NUMTCS] || !netdev->dcbnl_ops->setstate)
+@@ -458,14 +457,11 @@ static int dcbnl_setnumtcs(struct net_device *netdev, struct nlattr **tb,
+               ret = netdev->dcbnl_ops->setnumtcs(netdev, i, value);
+               if (ret)
+-                      goto err;
++                      goto operr;
+       }
+-      value = nla_get_u8(tb[DCB_ATTR_STATE]);
+-
+-      status = netdev->dcbnl_ops->setnumtcs(netdev, i, value);
+-
+-      ret = dcbnl_reply(!!status, RTM_SETDCB, DCB_CMD_SNUMTCS,
++operr:
++      ret = dcbnl_reply(!!ret, RTM_SETDCB, DCB_CMD_SNUMTCS,
+                               DCB_ATTR_NUMTCS, pid, seq, flags);
+ err:
+@@ -496,9 +492,9 @@ static int dcbnl_setpfcstate(struct net_device *netdev, struct nlattr **tb,
+       if (!tb[DCB_ATTR_PFC_STATE] || !netdev->dcbnl_ops->setpfcstate)
+               return ret;
+-      value = nla_get_u8(tb[DCB_ATTR_STATE]);
++      value = nla_get_u8(tb[DCB_ATTR_PFC_STATE]);
+-      netdev->dcbnl_ops->setstate(netdev, value);
++      netdev->dcbnl_ops->setpfcstate(netdev, value);
+       ret = dcbnl_reply(0, RTM_SETDCB, DCB_CMD_PFC_SSTATE, DCB_ATTR_PFC_STATE,
+                               pid, seq, flags);