diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 16 |
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 | ||