diff options
Diffstat (limited to 'drivers/net/netxen')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index e1d30d7f2071..ceeaac989df2 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -1277,6 +1277,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1277 | int i = 0, err; | 1277 | int i = 0, err; |
1278 | int pci_func_id = PCI_FUNC(pdev->devfn); | 1278 | int pci_func_id = PCI_FUNC(pdev->devfn); |
1279 | uint8_t revision_id; | 1279 | uint8_t revision_id; |
1280 | u32 val; | ||
1280 | 1281 | ||
1281 | if (pdev->revision >= NX_P3_A0 && pdev->revision <= NX_P3_B1) { | 1282 | if (pdev->revision >= NX_P3_A0 && pdev->revision <= NX_P3_B1) { |
1282 | pr_warning("%s: chip revisions between 0x%x-0x%x " | 1283 | pr_warning("%s: chip revisions between 0x%x-0x%x " |
@@ -1352,8 +1353,9 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1352 | break; | 1353 | break; |
1353 | } | 1354 | } |
1354 | 1355 | ||
1355 | if (reset_devices) { | 1356 | if (adapter->portnum == 0) { |
1356 | if (adapter->portnum == 0) { | 1357 | val = NXRD32(adapter, NX_CRB_DEV_REF_COUNT); |
1358 | if (val != 0xffffffff && val != 0) { | ||
1357 | NXWR32(adapter, NX_CRB_DEV_REF_COUNT, 0); | 1359 | NXWR32(adapter, NX_CRB_DEV_REF_COUNT, 0); |
1358 | adapter->need_fw_reset = 1; | 1360 | adapter->need_fw_reset = 1; |
1359 | } | 1361 | } |