ibmveth: Remove duplicate checksum offload setup code
Santiago Leon [Fri, 3 Sep 2010 18:28:47 +0000 (18:28 +0000)]
Remove code in the device probe function where we set up the checksum
offload feature and replace it with a call to an existing function that
is doing the same.  This is done to clean up the driver in preparation
of adding IPv6 checksum offload support.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Santiago Leon <santil@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/ibmveth.c

index 1685e23..ab80d8f 100644 (file)
@@ -1338,10 +1338,8 @@ static const struct net_device_ops ibmveth_netdev_ops = {
 static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_id *id)
 {
        int rc, i;
-       long ret;
        struct net_device *netdev;
        struct ibmveth_adapter *adapter;
-       unsigned long set_attr, ret_attr;
 
        unsigned char *mac_addr_p;
        unsigned int *mcastFilterSize_p;
@@ -1425,21 +1423,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
 
        ibmveth_debug_printk("registering netdev...\n");
 
-       ret = h_illan_attributes(dev->unit_address, 0, 0, &ret_attr);
-
-       if (ret == H_SUCCESS && !(ret_attr & IBMVETH_ILLAN_ACTIVE_TRUNK) &&
-           !(ret_attr & IBMVETH_ILLAN_TRUNK_PRI_MASK) &&
-           (ret_attr & IBMVETH_ILLAN_PADDED_PKT_CSUM)) {
-               set_attr = IBMVETH_ILLAN_IPV4_TCP_CSUM;
-
-               ret = h_illan_attributes(dev->unit_address, 0, set_attr, &ret_attr);
-
-               if (ret == H_SUCCESS) {
-                       adapter->rx_csum = 1;
-                       netdev->features |= NETIF_F_IP_CSUM;
-               } else
-                       ret = h_illan_attributes(dev->unit_address, set_attr, 0, &ret_attr);
-       }
+       ibmveth_set_csum_offload(netdev, 1, ibmveth_set_tx_csum_flags);
 
        rc = register_netdev(netdev);