aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlge
diff options
context:
space:
mode:
authorRon Mercer <ron.mercer@qlogic.com>2010-07-05 08:19:38 -0400
committerDavid S. Miller <davem@davemloft.net>2010-07-05 22:41:20 -0400
commitfc312ecea71f42c32d41a30ba130c0230a1c6d61 (patch)
tree764968baaf175981d44b1384bc5841a854a3f753 /drivers/net/qlge
parentf2c05004f349635528558da8e253faf78377730e (diff)
qlge: Don't use firmware when forcing firmware dump.
In some cases the firmware may be dead. Instead we dump the firmware parameters and then restart it. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge')
-rw-r--r--drivers/net/qlge/qlge.h1
-rw-r--r--drivers/net/qlge/qlge_dbg.c7
-rw-r--r--drivers/net/qlge/qlge_mpi.c17
3 files changed, 1 insertions, 24 deletions
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 01b0634a0b54..27f83d6fdc29 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -2227,7 +2227,6 @@ int ql_dump_risc_ram_area(struct ql_adapter *qdev, void *buf,
2227 u32 ram_addr, int word_count); 2227 u32 ram_addr, int word_count);
2228int ql_core_dump(struct ql_adapter *qdev, 2228int ql_core_dump(struct ql_adapter *qdev,
2229 struct ql_mpi_coredump *mpi_coredump); 2229 struct ql_mpi_coredump *mpi_coredump);
2230int ql_mb_sys_err(struct ql_adapter *qdev);
2231int ql_mb_about_fw(struct ql_adapter *qdev); 2230int ql_mb_about_fw(struct ql_adapter *qdev);
2232int ql_wol(struct ql_adapter *qdev); 2231int ql_wol(struct ql_adapter *qdev);
2233int ql_mb_wol_set_magic(struct ql_adapter *qdev, u32 enable_wol); 2232int ql_mb_wol_set_magic(struct ql_adapter *qdev, u32 enable_wol);
diff --git a/drivers/net/qlge/qlge_dbg.c b/drivers/net/qlge/qlge_dbg.c
index 68a1c9b91e74..548e9010b20b 100644
--- a/drivers/net/qlge/qlge_dbg.c
+++ b/drivers/net/qlge/qlge_dbg.c
@@ -1237,12 +1237,7 @@ static void ql_get_core_dump(struct ql_adapter *qdev)
1237 "Force Coredump can only be done from interface that is up.\n"); 1237 "Force Coredump can only be done from interface that is up.\n");
1238 return; 1238 return;
1239 } 1239 }
1240 1240 ql_queue_fw_error(qdev);
1241 if (ql_mb_sys_err(qdev)) {
1242 netif_err(qdev, ifup, qdev->ndev,
1243 "Fail force coredump with ql_mb_sys_err().\n");
1244 return;
1245 }
1246} 1241}
1247 1242
1248void ql_gen_reg_dump(struct ql_adapter *qdev, 1243void ql_gen_reg_dump(struct ql_adapter *qdev,
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c
index 3c00462a5d22..f84e8570c7cb 100644
--- a/drivers/net/qlge/qlge_mpi.c
+++ b/drivers/net/qlge/qlge_mpi.c
@@ -606,23 +606,6 @@ end:
606 return status; 606 return status;
607} 607}
608 608
609int ql_mb_sys_err(struct ql_adapter *qdev)
610{
611 struct mbox_params mbc;
612 struct mbox_params *mbcp = &mbc;
613 int status;
614
615 memset(mbcp, 0, sizeof(struct mbox_params));
616
617 mbcp->in_count = 1;
618 mbcp->out_count = 0;
619
620 mbcp->mbox_in[0] = MB_CMD_MAKE_SYS_ERR;
621
622 status = ql_mailbox_command(qdev, mbcp);
623 return status;
624}
625
626/* Get MPI firmware version. This will be used for 609/* Get MPI firmware version. This will be used for
627 * driver banner and for ethtool info. 610 * driver banner and for ethtool info.
628 * Returns zero on success. 611 * Returns zero on success.