aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/netxen/netxen_nic_main.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 74017790f4a9..2648e9026726 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -588,7 +588,12 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
588 adapter->pci_mem_read = netxen_nic_pci_mem_read_2M; 588 adapter->pci_mem_read = netxen_nic_pci_mem_read_2M;
589 adapter->pci_mem_write = netxen_nic_pci_mem_write_2M; 589 adapter->pci_mem_write = netxen_nic_pci_mem_write_2M;
590 590
591 mem_ptr0 = ioremap(mem_base, mem_len); 591 mem_ptr0 = pci_ioremap_bar(pdev, 0);
592 if (mem_ptr0 == NULL) {
593 dev_err(&pdev->dev, "failed to map PCI bar 0\n");
594 return -EIO;
595 }
596
592 pci_len0 = mem_len; 597 pci_len0 = mem_len;
593 first_page_group_start = 0; 598 first_page_group_start = 0;
594 first_page_group_end = 0; 599 first_page_group_end = 0;
@@ -796,9 +801,12 @@ skip_doorbell:
796 * See if the firmware gave us a virtual-physical port mapping. 801 * See if the firmware gave us a virtual-physical port mapping.
797 */ 802 */
798 adapter->physical_port = adapter->portnum; 803 adapter->physical_port = adapter->portnum;
799 i = adapter->pci_read_normalize(adapter, CRB_V2P(adapter->portnum)); 804 if (adapter->fw_major < 4) {
800 if (i != 0x55555555) 805 i = adapter->pci_read_normalize(adapter,
801 adapter->physical_port = i; 806 CRB_V2P(adapter->portnum));
807 if (i != 0x55555555)
808 adapter->physical_port = i;
809 }
802 810
803 adapter->flags &= ~(NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED); 811 adapter->flags &= ~(NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED);
804 812