((skb->nh.iph)->ihl * sizeof(u32)) +
                    ((skb->h.th)->doff * sizeof(u32));
                desc->opcode = TX_TCP_LSO;
-       } else if (skb->ip_summed == CHECKSUM_HW) {
+       } else if (skb->ip_summed == CHECKSUM_COMPLETE) {
                if (skb->nh.iph->protocol == IPPROTO_TCP) {
                        desc->opcode = TX_TCP_PKT;
                } else if (skb->nh.iph->protocol == IPPROTO_UDP) {
 
 #include "netxen_nic_phan_reg.h"
 #include "netxen_nic_ioctl.h"
 
+#include <linux/dma-mapping.h>
+#include <linux/vmalloc.h>
+
 MODULE_DESCRIPTION("NetXen Multi port (1/10) Gigabit Network Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID);
 #ifdef CONFIG_NET_POLL_CONTROLLER
 static void netxen_nic_poll_controller(struct net_device *netdev);
 #endif
-static irqreturn_t netxen_intr(int irq, void *data, struct pt_regs *regs);
+static irqreturn_t netxen_intr(int irq, void *data);
 
 /*  PCI Device ID Table  */
 static struct pci_device_id netxen_pci_tbl[] __devinitdata = {
  * @irq: interrupt number
  * data points to adapter stucture (which may be handling more than 1 port
  */
-irqreturn_t netxen_intr(int irq, void *data, struct pt_regs * regs)
+irqreturn_t netxen_intr(int irq, void *data)
 {
        struct netxen_adapter *adapter;
        struct netxen_port *port;
        struct netxen_port *port = netdev_priv(netdev);
        struct netxen_adapter *adapter = port->adapter;
        disable_irq(adapter->irq);
-       netxen_intr(adapter->irq, adapter, NULL);
+       netxen_intr(adapter->irq, adapter);
        enable_irq(adapter->irq);
 }
 #endif