From: Chad Dupuis <cdupuis@redhat.com> Date: Tue, 20 Jul 2010 15:32:12 -0400 Subject: [net] qlcnic: fix tx csum status Message-id: <20100720153118.2978.67099.sendpatchset@localhost.localdomain> Patchwork-id: 26968 O-Subject: [RHEL 5.6 PATCH 9/16] qlcnic: fix tx csum status Bugzilla: 562723 RH-Acked-by: David S. Miller <davem@redhat.com> Bugzilla ======== 562723 Upstream Status =============== net-2.6 commit id 8bae5698616ac336938684ce7a7370299bd55d01 Description =========== >From 66af10b337d3633018ecdbedb92fd16b45d78522 Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Date: Mon, 8 Mar 2010 00:14:45 +0000 Subject: [PATCH] qlcnic: fix tx csum status Kernel default tx csum function (ethtool_op_get_tx_csum) doesn't show correct csum status. It takes various FLAGS (NETIF_F_ALL_CSUM) in account to show tx csum status, which driver doesn't set while disabling tx csum. Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jarod Wilson <jarod@redhat.com> diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index 31a38f6..c492595 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -783,6 +783,11 @@ qlcnic_get_ethtool_stats(struct net_device *dev, } } +static u32 qlcnic_get_tx_csum(struct net_device *dev) +{ + return dev->features & NETIF_F_IP_CSUM; +} + static u32 qlcnic_get_rx_csum(struct net_device *dev) { struct qlcnic_adapter *adapter = netdev_priv(dev); @@ -971,7 +976,7 @@ struct ethtool_ops qlcnic_ethtool_ops = { .set_ringparam = qlcnic_set_ringparam, .get_pauseparam = qlcnic_get_pauseparam, .set_pauseparam = qlcnic_set_pauseparam, - .get_tx_csum = ethtool_op_get_tx_csum, + .get_tx_csum = qlcnic_get_tx_csum, .set_tx_csum = ethtool_op_set_tx_csum, .get_sg = ethtool_op_get_sg, .set_sg = ethtool_op_set_sg,