diff options
Diffstat (limited to 'drivers/net/netxen/netxen_nic_main.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 2227504ed4c0..7d2525e76abb 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -434,13 +434,11 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
434 | adapter->port_count++; | 434 | adapter->port_count++; |
435 | adapter->port[i] = port; | 435 | adapter->port[i] = port; |
436 | } | 436 | } |
437 | #ifndef CONFIG_PPC64 | ||
438 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); | 437 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); |
439 | netxen_pinit_from_rom(adapter, 0); | 438 | netxen_pinit_from_rom(adapter, 0); |
440 | udelay(500); | 439 | udelay(500); |
441 | netxen_load_firmware(adapter); | 440 | netxen_load_firmware(adapter); |
442 | netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); | 441 | netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); |
443 | #endif | ||
444 | /* | 442 | /* |
445 | * delay a while to ensure that the Pegs are up & running. | 443 | * delay a while to ensure that the Pegs are up & running. |
446 | * Otherwise, we might see some flaky behaviour. | 444 | * Otherwise, we might see some flaky behaviour. |
@@ -529,12 +527,13 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
529 | free_irq(adapter->irq, adapter); | 527 | free_irq(adapter->irq, adapter); |
530 | netxen_nic_stop_all_ports(adapter); | 528 | netxen_nic_stop_all_ports(adapter); |
531 | /* leave the hw in the same state as reboot */ | 529 | /* leave the hw in the same state as reboot */ |
532 | netxen_pinit_from_rom(adapter, 0); | ||
533 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); | 530 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); |
531 | netxen_pinit_from_rom(adapter, 0); | ||
532 | udelay(500); | ||
534 | netxen_load_firmware(adapter); | 533 | netxen_load_firmware(adapter); |
535 | netxen_free_adapter_offload(adapter); | 534 | netxen_free_adapter_offload(adapter); |
536 | 535 | ||
537 | udelay(500); /* Delay for a while to drain the DMA engines */ | 536 | mdelay(1000); /* Delay for a while to drain the DMA engines */ |
538 | for (i = 0; i < adapter->port_count; i++) { | 537 | for (i = 0; i < adapter->port_count; i++) { |
539 | port = adapter->port[i]; | 538 | port = adapter->port[i]; |
540 | if ((port) && (port->netdev)) { | 539 | if ((port) && (port->netdev)) { |
@@ -545,7 +544,6 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
545 | 544 | ||
546 | if ((adapter->flags & NETXEN_NIC_MSI_ENABLED)) | 545 | if ((adapter->flags & NETXEN_NIC_MSI_ENABLED)) |
547 | pci_disable_msi(pdev); | 546 | pci_disable_msi(pdev); |
548 | pci_set_drvdata(pdev, NULL); | ||
549 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) | 547 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) |
550 | netxen_free_hw_resources(adapter); | 548 | netxen_free_hw_resources(adapter); |
551 | 549 | ||
@@ -556,6 +554,7 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
556 | 554 | ||
557 | pci_release_regions(pdev); | 555 | pci_release_regions(pdev); |
558 | pci_disable_device(pdev); | 556 | pci_disable_device(pdev); |
557 | pci_set_drvdata(pdev, NULL); | ||
559 | 558 | ||
560 | for (ctxid = 0; ctxid < MAX_RCV_CTX; ++ctxid) { | 559 | for (ctxid = 0; ctxid < MAX_RCV_CTX; ++ctxid) { |
561 | recv_ctx = &adapter->recv_ctx[ctxid]; | 560 | recv_ctx = &adapter->recv_ctx[ctxid]; |