diff options
author | Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> | 2010-03-07 19:14:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-08 13:45:28 -0500 |
commit | 8bae5698616ac336938684ce7a7370299bd55d01 (patch) | |
tree | d46c8270bb82722129fec0eb8fb0b2537b85912e /drivers/net/qlcnic/qlcnic_ethtool.c | |
parent | 7e8a9298adf7531c58d73ba9c499353e3807cf19 (diff) |
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>
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_ethtool.c')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_ethtool.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index 8da6ec8c13b9..ef12792a88be 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c | |||
@@ -785,6 +785,11 @@ qlcnic_get_ethtool_stats(struct net_device *dev, | |||
785 | } | 785 | } |
786 | } | 786 | } |
787 | 787 | ||
788 | static u32 qlcnic_get_tx_csum(struct net_device *dev) | ||
789 | { | ||
790 | return dev->features & NETIF_F_IP_CSUM; | ||
791 | } | ||
792 | |||
788 | static u32 qlcnic_get_rx_csum(struct net_device *dev) | 793 | static u32 qlcnic_get_rx_csum(struct net_device *dev) |
789 | { | 794 | { |
790 | struct qlcnic_adapter *adapter = netdev_priv(dev); | 795 | struct qlcnic_adapter *adapter = netdev_priv(dev); |
@@ -995,6 +1000,7 @@ const struct ethtool_ops qlcnic_ethtool_ops = { | |||
995 | .set_ringparam = qlcnic_set_ringparam, | 1000 | .set_ringparam = qlcnic_set_ringparam, |
996 | .get_pauseparam = qlcnic_get_pauseparam, | 1001 | .get_pauseparam = qlcnic_get_pauseparam, |
997 | .set_pauseparam = qlcnic_set_pauseparam, | 1002 | .set_pauseparam = qlcnic_set_pauseparam, |
1003 | .get_tx_csum = qlcnic_get_tx_csum, | ||
998 | .set_tx_csum = ethtool_op_set_tx_csum, | 1004 | .set_tx_csum = ethtool_op_set_tx_csum, |
999 | .set_sg = ethtool_op_set_sg, | 1005 | .set_sg = ethtool_op_set_sg, |
1000 | .get_tso = qlcnic_get_tso, | 1006 | .get_tso = qlcnic_get_tso, |