From 0f0bb1c82c90b9beee4e03529a94ea1f677c8793 Mon Sep 17 00:00:00 2001 From: Ron Mercer Date: Tue, 3 Mar 2009 12:10:35 +0000 Subject: [PATCH] --- yaml --- r: 135047 b: refs/heads/master c: 7c92191cb4203d3900461074f90851e9e7b56fcb h: refs/heads/master i: 135045: 9de443427465ef7f380736f540c410493f902c9b 135043: 8a31e73be10f38fd2eeea63faf78d18df54fd73c 135039: a1faa895b3f15f122214fdfc7fae0813836cf65c v: v3 --- [refs] | 2 +- trunk/drivers/net/qlge/qlge_mpi.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index cd5fe5982eee..d63fc394f2ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f56b54f5423177d26da0aee1f8e7d5da6225ce6d +refs/heads/master: 7c92191cb4203d3900461074f90851e9e7b56fcb diff --git a/trunk/drivers/net/qlge/qlge_mpi.c b/trunk/drivers/net/qlge/qlge_mpi.c index 3a660f9e9001..2c1d2205c653 100644 --- a/trunk/drivers/net/qlge/qlge_mpi.c +++ b/trunk/drivers/net/qlge/qlge_mpi.c @@ -395,7 +395,25 @@ static int ql_mpi_handler(struct ql_adapter *qdev, struct mbox_params *mbcp) ql_sfp_out(qdev, mbcp); break; + /* This event can arrive at boot time or after an + * MPI reset if the firmware failed to initialize. + */ case AEN_FW_INIT_FAIL: + /* If we're in process on executing the firmware, + * then convert the status to normal mailbox status. + */ + if (mbcp->mbox_in[0] == MB_CMD_EX_FW) { + mbcp->out_count = orig_count; + status = ql_get_mb_sts(qdev, mbcp); + mbcp->mbox_out[0] = MB_CMD_STS_ERR; + return status; + } + QPRINTK(qdev, DRV, ERR, + "Firmware initialization failed.\n"); + status = -EIO; + ql_queue_fw_error(qdev); + break; + case AEN_SYS_ERR: ql_queue_fw_error(qdev); break;