qla3xxx: device doesnt do hardware checksumming.
authorStephen Hemminger <shemminger@linux-foundation.org>
Wed, 30 May 2007 21:23:17 +0000 (14:23 -0700)
committerJeff Garzik <jeff@garzik.org>
Sun, 3 Jun 2007 15:44:19 +0000 (11:44 -0400)
Reading the code for ql_hw_csum_setup(), it is obvious that
this driver is broken for IPV6. The driver sets the NETIF_F_HW_SUM
flag, but the code for checksum setup only deals with IPV4.

Compile tested only, no hardware available.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/qla3xxx.c

index d8766c0..585be04 100755 (executable)
@@ -4044,7 +4044,7 @@ static int __devinit ql3xxx_probe(struct pci_dev *pdev,
        if (pci_using_dac)
                ndev->features |= NETIF_F_HIGHDMA;
        if (qdev->device_id == QL3032_DEVICE_ID)
-               ndev->features |= (NETIF_F_HW_CSUM | NETIF_F_SG);
+               ndev->features |= NETIF_F_IP_CSUM | NETIF_F_SG;
 
        qdev->mem_map_registers =
            ioremap_nocache(pci_resource_start(pdev, 1),