diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-07-01 11:41:43 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-02 13:16:51 -0700 |
commit | 67c38fc61af930fa03b042932b6b14fbf8126222 (patch) | |
tree | 2577cebc515dba4a9a37a77368bfe4051d975c18 /drivers/net/netxen/netxen_nic_main.c | |
parent | 98e31bb00983a5b6d638a31e4ff77e5ca1ccf93e (diff) |
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.c | 4 |
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); |