From: Chad Dupuis <cdupuis@redhat.com> Date: Tue, 3 Aug 2010 13:51:06 -0400 Subject: [net] netxen: fix tx csum status Message-id: <20100803134822.2239.59.sendpatchset@localhost.localdomain> Patchwork-id: 27331 O-Subject: [RHEL 5.6 PATCH 29/44] netxen: fix tx csum status Bugzilla: 562937 RH-Acked-by: David S. Miller <davem@redhat.com> RH-Acked-by: Neil Horman <nhorman@redhat.com> Bugzilla ======== 562937 Upstream Status =============== net-2.6 commit id ff90cd4a1dcfc03bf228d94f553619198e65bc42 Description =========== >From d55ca9775722a3d496664a533f4b7cfd64c80c53 Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Date: Mon, 29 Mar 2010 02:43:41 +0000 Subject: [PATCH] netxen: 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> diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c index 911a983..a41ed24 100644 --- a/drivers/net/netxen/netxen_nic_ethtool.c +++ b/drivers/net/netxen/netxen_nic_ethtool.c @@ -703,6 +703,11 @@ netxen_nic_get_ethtool_stats(struct net_device *dev, } } +static u32 netxen_nic_get_tx_csum(struct net_device *dev) +{ + return dev->features & NETIF_F_IP_CSUM; +} + static u32 netxen_nic_get_rx_csum(struct net_device *dev) { struct netxen_adapter *adapter = netdev_priv(dev); @@ -887,7 +892,7 @@ struct ethtool_ops netxen_nic_ethtool_ops = { .set_ringparam = netxen_nic_set_ringparam, .get_pauseparam = netxen_nic_get_pauseparam, .set_pauseparam = netxen_nic_set_pauseparam, - .get_tx_csum = ethtool_op_get_tx_csum, + .get_tx_csum = netxen_nic_get_tx_csum, .set_tx_csum = ethtool_op_set_tx_csum, .get_sg = ethtool_op_get_sg, .set_sg = ethtool_op_set_sg,