qlge: Don't use firmware when forcing firmware dump.
authorRon Mercer <ron.mercer@qlogic.com>
Mon, 5 Jul 2010 12:19:38 +0000 (12:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Jul 2010 02:41:20 +0000 (19:41 -0700)
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>
drivers/net/qlge/qlge.h
drivers/net/qlge/qlge_dbg.c
drivers/net/qlge/qlge_mpi.c

index 01b0634a0b541fbf068bf0c11f0a9c278b2500b0..27f83d6fdc29278d5283a56970e4f4139a284143 100644 (file)
@@ -2227,7 +2227,6 @@ int ql_dump_risc_ram_area(struct ql_adapter *qdev, void *buf,
                u32 ram_addr, int word_count);
 int ql_core_dump(struct ql_adapter *qdev,
                struct ql_mpi_coredump *mpi_coredump);
-int ql_mb_sys_err(struct ql_adapter *qdev);
 int ql_mb_about_fw(struct ql_adapter *qdev);
 int ql_wol(struct ql_adapter *qdev);
 int ql_mb_wol_set_magic(struct ql_adapter *qdev, u32 enable_wol);
index 68a1c9b91e74d199fbb6a4cce1a604ef09eea230..548e9010b20bc67af02ac3f89c7be12e51c948db 100644 (file)
@@ -1237,12 +1237,7 @@ static void ql_get_core_dump(struct ql_adapter *qdev)
                          "Force Coredump can only be done from interface that is up.\n");
                return;
        }
-
-       if (ql_mb_sys_err(qdev)) {
-               netif_err(qdev, ifup, qdev->ndev,
-                         "Fail force coredump with ql_mb_sys_err().\n");
-               return;
-       }
+       ql_queue_fw_error(qdev);
 }
 
 void ql_gen_reg_dump(struct ql_adapter *qdev,
index 3c00462a5d22fe8ef405878a49da7e91963c0f6e..f84e8570c7cb79d4c161e90ccee1d420b55d256c 100644 (file)
@@ -606,23 +606,6 @@ end:
        return status;
 }
 
-int ql_mb_sys_err(struct ql_adapter *qdev)
-{
-       struct mbox_params mbc;
-       struct mbox_params *mbcp = &mbc;
-       int status;
-
-       memset(mbcp, 0, sizeof(struct mbox_params));
-
-       mbcp->in_count = 1;
-       mbcp->out_count = 0;
-
-       mbcp->mbox_in[0] = MB_CMD_MAKE_SYS_ERR;
-
-       status = ql_mailbox_command(qdev, mbcp);
-       return status;
-}
-
 /* Get MPI firmware version. This will be used for
  * driver banner and for ethtool info.
  * Returns zero on success.