> On Mar 8, 2018, at 5:44 AM, Meelis Roos <mr...@linux.ee> wrote:
> 
> This patch fixes IO traps caught by hardware when mailbox command fails on
> qla2200. The error handler assumes newer firmware that is available on 2400 
> and
> newer HBA-s.
> 
> This causes ugly crashes on sparc64.
> 
> Fix it with separate debug prints on different firmware generations like most
> other places do.
> 
> Note: the debug line identifier is the same 0x1198 for both cases. Maybe it
> needs to be renumbered in the new case?
> 
> Signed-off-by: Meelis Roos <mr...@linux.ee>
> 
> ---
> drivers/scsi/qla2xxx/qla_mbx.c | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
> index 7397aed..3a81555 100644
> --- a/drivers/scsi/qla2xxx/qla_mbx.c
> +++ b/drivers/scsi/qla2xxx/qla_mbx.c
> @@ -503,11 +503,19 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t 
> *mcp)
>                               }
>                       pr_warn(" cmd=%x ****\n", command);
>               }
> -             ql_dbg(ql_dbg_mbx, vha, 0x1198,
> -                 "host_status=%#x intr_ctrl=%#x intr_status=%#x\n",
> -                 RD_REG_DWORD(&reg->isp24.host_status),
> -                 RD_REG_DWORD(&reg->isp24.ictrl),
> -                 RD_REG_DWORD(&reg->isp24.istatus));
> +             if (IS_FWI2_CAPABLE(ha) && !(IS_P3P_TYPE(ha))) {
> +                     ql_dbg(ql_dbg_mbx, vha, 0x1198,
> +                         "host_status=%#x intr_ctrl=%#x intr_status=%#x\n",
> +                         RD_REG_DWORD(&reg->isp24.host_status),
> +                         RD_REG_DWORD(&reg->isp24.ictrl),
> +                         RD_REG_DWORD(&reg->isp24.istatus));
> +             } else {
> +                     ql_dbg(ql_dbg_mbx, vha, 0x1198,

use 0x1206 here for numbering. 

> +                         "ctrl_status=%#x ictrl=%#x istatus=%#x\n",
> +                         RD_REG_WORD(&reg->isp.ctrl_status),
> +                         RD_REG_WORD(&reg->isp.ictrl),
> +                         RD_REG_WORD(&reg->isp.istatus));
> +             }
>       } else {
>               ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__);
>       }
> -- 
> 2.1.4
> 

Also, you need to update qla_dbg.c with this number

Here’s diff will look like 

diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c
index 1abc8a9064b3..5fd44c50bbac 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.c
+++ b/drivers/scsi/qla2xxx/qla_dbg.c
@@ -14,7 +14,7 @@
  * | Module Init and Probe        |       0x0193       | 0x0146         |
  * |                              |                    | 0x015b-0x0160 |
  * |                              |                    | 0x016e                
|
- * | Mailbox commands             |       0x1205       | 0x11a2-0x11ff |
+ * | Mailbox commands             |       0x1206       | 0x11a2-0x11ff |
  * | Device Discovery             |       0x2134       | 0x210e-0x2116  |
  * |                             |                    | 0x211a         |
  * |                              |                    | 0x211c-0x2128  |


With these changes, you can add 

Acked-by: Himanshu Madhani <himanshu.madh...@cavium.com>

Thanks,
- Himanshu

Reply via email to