summaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic_main.c
diff options
context:
space:
mode:
authorDhananjay Phadke2009-07-01 13:41:43 +0200
committerDavid S. Miller2009-07-02 22:16:51 +0200
commit67c38fc61af930fa03b042932b6b14fbf8126222 (patch)
tree2577cebc515dba4a9a37a77368bfe4051d975c18 /drivers/net/netxen/netxen_nic_main.c
parentnetxen: fix the version code macro (diff)
downloadkernel-qcow2-linux-67c38fc61af930fa03b042932b6b14fbf8126222.tar.gz
kernel-qcow2-linux-67c38fc61af930fa03b042932b6b14fbf8126222.tar.xz
kernel-qcow2-linux-67c38fc61af930fa03b042932b6b14fbf8126222.zip
netxen: avoid frequent firmware reset
Restrict firmware reset to following cases - o chip rev is NX2031 (firmare doesn't support heartbit). o firmware is dead. o previous attempt to init firmware had failed. o we have got newer file firmware. This speeds up module load tremendously (by upto 8 sec), also avoids downtime for NCSI (management) pass-thru traffic. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_main.c')
-rw-r--r--drivers/net/netxen/netxen_nic_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 2919a2d12bf4..27539ddf94c4 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -718,6 +718,10 @@ netxen_start_firmware(struct netxen_adapter *adapter, int request_fw)
if (request_fw)
netxen_request_firmware(adapter);
+ err = netxen_need_fw_reset(adapter);
+ if (err <= 0)
+ return err;
+
if (first_boot != 0x55555555) {
NXWR32(adapter, CRB_CMDPEG_STATE, 0);
netxen_pinit_from_rom(adapter, 0);