]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/netxen/netxen_nic_main.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / netxen / netxen_nic_main.c
index 13087782ac4068425c78d870022d2c872a5b0d66..2648e90267261700cbe9a027b89d11c20c38ee04 100644 (file)
@@ -482,7 +482,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 
        u8 __iomem *db_ptr = NULL;
-       unsigned long mem_base, mem_len, db_base, db_len, pci_len0 = 0;
+       unsigned long mem_base, mem_len, db_base, db_len = 0, pci_len0 = 0;
        int i = 0, err;
        int first_driver, first_boot;
        u32 val;
@@ -616,6 +616,9 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        dev_info(&pdev->dev, "%dMB memory map\n", (int)(mem_len>>20));
 
+       if (NX_IS_REVISION_P3(revision_id))
+               goto skip_doorbell;
+
        db_base = pci_resource_start(pdev, 4);  /* doorbell is on bar 4 */
        db_len = pci_resource_len(pdev, 4);
 
@@ -625,8 +628,6 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                err = -EIO;
                goto err_out_iounmap;
        }
-       DPRINTK(INFO, "doorbell ioremap from %lx a size of %lx\n", db_base,
-               db_len);
 
        db_ptr = ioremap(db_base, NETXEN_DB_MAPSIZE_BYTES);
        if (!db_ptr) {
@@ -635,8 +636,8 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                err = -EIO;
                goto err_out_iounmap;
        }
-       DPRINTK(INFO, "doorbell ioremaped at %p\n", db_ptr);
 
+skip_doorbell:
        adapter->ahw.pci_base0 = mem_ptr0;
        adapter->ahw.pci_len0 = pci_len0;
        adapter->ahw.first_page_group_start = first_page_group_start;
@@ -949,8 +950,9 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)
        if (adapter->flags & NETXEN_NIC_MSI_ENABLED)
                pci_disable_msi(pdev);
 
-       iounmap(adapter->ahw.db_base);
        iounmap(adapter->ahw.pci_base0);
+       if (adapter->ahw.db_base != NULL)
+               iounmap(adapter->ahw.db_base);
        if (adapter->ahw.pci_base1 != NULL)
                iounmap(adapter->ahw.pci_base1);
        if (adapter->ahw.pci_base2 != NULL)
@@ -1117,7 +1119,7 @@ static bool netxen_tso_check(struct net_device *netdev,
        __be16 protocol = skb->protocol;
        u16 flags = 0;
 
-       if (protocol == __constant_htons(ETH_P_8021Q)) {
+       if (protocol == cpu_to_be16(ETH_P_8021Q)) {
                struct vlan_ethhdr *vh = (struct vlan_ethhdr *)skb->data;
                protocol = vh->h_vlan_encapsulated_proto;
                flags = FLAGS_VLAN_TAGGED;
@@ -1130,21 +1132,21 @@ static bool netxen_tso_check(struct net_device *netdev,
                desc->total_hdr_length =
                        skb_transport_offset(skb) + tcp_hdrlen(skb);
 
-               opcode = (protocol == __constant_htons(ETH_P_IPV6)) ?
+               opcode = (protocol == cpu_to_be16(ETH_P_IPV6)) ?
                                TX_TCP_LSO6 : TX_TCP_LSO;
                tso = true;
 
        } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
                u8 l4proto;
 
-               if (protocol == __constant_htons(ETH_P_IP)) {
+               if (protocol == cpu_to_be16(ETH_P_IP)) {
                        l4proto = ip_hdr(skb)->protocol;
 
                        if (l4proto == IPPROTO_TCP)
                                opcode = TX_TCP_PKT;
                        else if(l4proto == IPPROTO_UDP)
                                opcode = TX_UDP_PKT;
-               } else if (protocol == __constant_htons(ETH_P_IPV6)) {
+               } else if (protocol == cpu_to_be16(ETH_P_IPV6)) {
                        l4proto = ipv6_hdr(skb)->nexthdr;
 
                        if (l4proto == IPPROTO_TCP)
@@ -1595,7 +1597,7 @@ static int netxen_nic_poll(struct napi_struct *napi, int budget)
        }
 
        if ((work_done < budget) && tx_complete) {
-               netif_rx_complete(&adapter->napi);
+               napi_complete(&adapter->napi);
                netxen_nic_enable_int(adapter);
        }