X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Fpatches%2Fsuse-2.6.27.31%2Fpatches.fixes%2Fdcb-fix-setpfcstate;fp=src%2Fpatches%2Fsuse-2.6.27.31%2Fpatches.fixes%2Fdcb-fix-setpfcstate;h=dc4541de1b4d52fb722e72a685f4feb43cc26277;hp=0000000000000000000000000000000000000000;hb=2cb7cef9f877c88c82c959e2944ff02a12d068fa;hpb=836f873377e58243cc856caa0586954efff79185 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 index 000000000..dc4541de1 --- /dev/null +++ b/src/patches/suse-2.6.27.31/patches.fixes/dcb-fix-setpfcstate @@ -0,0 +1,53 @@ +Subject: Fix setpfcstate +From: Hannes Reinecke +Date: Fri Nov 7 15:36:08 2008 +0100: +Git: f7e09ce313fdc4f79403d43b1ac570f6807973bd +References: bnc#438954 + +Fixup setpfcstate and setnumtcs command. + +Signed-off-by: John Fastabend +Signed-off-by: Hannes Reinecke + +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);