diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-06-11 14:35:23 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-06-20 19:09:33 -0400 |
commit | 3a2c892daaf54b31a70785c2821771e8094188ed (patch) | |
tree | 36ff4915ef938d70a398c282d7628a26126c43fb /drivers/net/spider_net_ethtool.c | |
parent | 128c6e2e519fe7d0a15de04f3dde00700145cec4 (diff) |
spidernet: checksum and ethtool
It doesn't look like spidernet hardware can really checksum all protocols,
the code looks like it does IPV4 only. If so, it should use NETIF_F_IP_CSUM
instead of NETIF_F_HW_CSUM.
The driver doesn't need it's own get/set for ethtool tx csum, and it
should use the standard ethtool_op_get_link.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/spider_net_ethtool.c')
-rw-r--r-- | drivers/net/spider_net_ethtool.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/drivers/net/spider_net_ethtool.c b/drivers/net/spider_net_ethtool.c index 6bcf03fc89be..d940474e024a 100644 --- a/drivers/net/spider_net_ethtool.c +++ b/drivers/net/spider_net_ethtool.c | |||
@@ -134,22 +134,6 @@ spider_net_ethtool_set_rx_csum(struct net_device *netdev, u32 n) | |||
134 | return 0; | 134 | return 0; |
135 | } | 135 | } |
136 | 136 | ||
137 | static uint32_t | ||
138 | spider_net_ethtool_get_tx_csum(struct net_device *netdev) | ||
139 | { | ||
140 | return (netdev->features & NETIF_F_HW_CSUM) != 0; | ||
141 | } | ||
142 | |||
143 | static int | ||
144 | spider_net_ethtool_set_tx_csum(struct net_device *netdev, uint32_t data) | ||
145 | { | ||
146 | if (data) | ||
147 | netdev->features |= NETIF_F_HW_CSUM; | ||
148 | else | ||
149 | netdev->features &= ~NETIF_F_HW_CSUM; | ||
150 | |||
151 | return 0; | ||
152 | } | ||
153 | 137 | ||
154 | static void | 138 | static void |
155 | spider_net_ethtool_get_ringparam(struct net_device *netdev, | 139 | spider_net_ethtool_get_ringparam(struct net_device *netdev, |
@@ -200,11 +184,12 @@ const struct ethtool_ops spider_net_ethtool_ops = { | |||
200 | .get_wol = spider_net_ethtool_get_wol, | 184 | .get_wol = spider_net_ethtool_get_wol, |
201 | .get_msglevel = spider_net_ethtool_get_msglevel, | 185 | .get_msglevel = spider_net_ethtool_get_msglevel, |
202 | .set_msglevel = spider_net_ethtool_set_msglevel, | 186 | .set_msglevel = spider_net_ethtool_set_msglevel, |
187 | .get_link = ethtool_op_get_link, | ||
203 | .nway_reset = spider_net_ethtool_nway_reset, | 188 | .nway_reset = spider_net_ethtool_nway_reset, |
204 | .get_rx_csum = spider_net_ethtool_get_rx_csum, | 189 | .get_rx_csum = spider_net_ethtool_get_rx_csum, |
205 | .set_rx_csum = spider_net_ethtool_set_rx_csum, | 190 | .set_rx_csum = spider_net_ethtool_set_rx_csum, |
206 | .get_tx_csum = spider_net_ethtool_get_tx_csum, | 191 | .get_tx_csum = ethtool_op_get_tx_csum, |
207 | .set_tx_csum = spider_net_ethtool_set_tx_csum, | 192 | .set_tx_csum = ethtool_op_set_tx_csum, |
208 | .get_ringparam = spider_net_ethtool_get_ringparam, | 193 | .get_ringparam = spider_net_ethtool_get_ringparam, |
209 | .get_strings = spider_net_get_strings, | 194 | .get_strings = spider_net_get_strings, |
210 | .get_stats_count = spider_net_get_stats_count, | 195 | .get_stats_count = spider_net_get_stats_count, |