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>
This commit is contained in:
committed by
David S. Miller
parent
30bde1f507
commit
ff90cd4a1d
@@ -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)
|
static u32 netxen_nic_get_rx_csum(struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct netxen_adapter *adapter = netdev_priv(dev);
|
struct netxen_adapter *adapter = netdev_priv(dev);
|
||||||
@@ -909,6 +914,7 @@ const struct ethtool_ops netxen_nic_ethtool_ops = {
|
|||||||
.set_ringparam = netxen_nic_set_ringparam,
|
.set_ringparam = netxen_nic_set_ringparam,
|
||||||
.get_pauseparam = netxen_nic_get_pauseparam,
|
.get_pauseparam = netxen_nic_get_pauseparam,
|
||||||
.set_pauseparam = netxen_nic_set_pauseparam,
|
.set_pauseparam = netxen_nic_set_pauseparam,
|
||||||
|
.get_tx_csum = netxen_nic_get_tx_csum,
|
||||||
.set_tx_csum = ethtool_op_set_tx_csum,
|
.set_tx_csum = ethtool_op_set_tx_csum,
|
||||||
.set_sg = ethtool_op_set_sg,
|
.set_sg = ethtool_op_set_sg,
|
||||||
.get_tso = netxen_nic_get_tso,
|
.get_tso = netxen_nic_get_tso,
|
||||||
|
Reference in New Issue
Block a user