summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAmit S. Kale <amitkale@netxen.com>2006-12-18 14:51:29 +0100
committerJeff Garzik <jeff@garzik.org>2006-12-26 22:45:25 +0100
commitb0d541dbb940fe8899e3020fcc9ee5a1e2be0306 (patch)
treeb7c0fb98d5a5830fbf99e4b46c13e918f76aa576 /drivers
parentNetXen: Adding new device ids. (diff)
downloadlinux-b0d541dbb940fe8899e3020fcc9ee5a1e2be0306.tar.xz
linux-b0d541dbb940fe8899e3020fcc9ee5a1e2be0306.zip
NetXen: driver reload fix for newer firmware.
Signed-off-by: Amit S. Kale <amitkale@netxen.com> netxen_nic_main.c | 7 +++++++ 1 files changed, 7 insertions(+) Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/netxen/netxen_nic_main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index d8b1daf0e4b9..f2b3fbc593c6 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -446,6 +446,11 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
adapter->port[i] = port;
}
+ writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE));
+ netxen_pinit_from_rom(adapter, 0);
+ udelay(500);
+ netxen_load_firmware(adapter);
+ netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE);
/*
* delay a while to ensure that the Pegs are up & running.
* Otherwise, we might see some flaky behaviour.
@@ -533,6 +538,8 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)
netxen_nic_stop_all_ports(adapter);
/* leave the hw in the same state as reboot */
+ netxen_pinit_from_rom(adapter, 0);
+ writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE));
netxen_load_firmware(adapter);
netxen_free_adapter_offload(adapter);