diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2010-07-05 08:19:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-05 22:41:20 -0400 |
commit | fc312ecea71f42c32d41a30ba130c0230a1c6d61 (patch) | |
tree | 764968baaf175981d44b1384bc5841a854a3f753 /drivers/net/qlge | |
parent | f2c05004f349635528558da8e253faf78377730e (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.h | 1 | ||||
-rw-r--r-- | drivers/net/qlge/qlge_dbg.c | 7 | ||||
-rw-r--r-- | drivers/net/qlge/qlge_mpi.c | 17 |
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); |
2228 | int ql_core_dump(struct ql_adapter *qdev, | 2228 | int ql_core_dump(struct ql_adapter *qdev, |
2229 | struct ql_mpi_coredump *mpi_coredump); | 2229 | struct ql_mpi_coredump *mpi_coredump); |
2230 | int ql_mb_sys_err(struct ql_adapter *qdev); | ||
2231 | int ql_mb_about_fw(struct ql_adapter *qdev); | 2230 | int ql_mb_about_fw(struct ql_adapter *qdev); |
2232 | int ql_wol(struct ql_adapter *qdev); | 2231 | int ql_wol(struct ql_adapter *qdev); |
2233 | int ql_mb_wol_set_magic(struct ql_adapter *qdev, u32 enable_wol); | 2232 | int 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 | ||
1248 | void ql_gen_reg_dump(struct ql_adapter *qdev, | 1243 | void 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 | ||
609 | int 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. |