lkml.org 
[lkml]   [2022]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 322/475] scsi: qla2xxx: Fix incorrect reporting of task management failure
    Date
    From: Quinn Tran <qutran@marvell.com>

    commit 58ca5999e0367d131de82a75257fbfd5aed0195d upstream.

    User experienced no task management error while target device is responding
    with error. The RSP_CODE field in the status IOCB is in little endian.
    Driver assumes it's big endian and it picked up erroneous data.

    Convert the data back to big endian as is on the wire.

    Link: https://lore.kernel.org/r/20220310092604.22950-2-njavali@marvell.com
    Fixes: faef62d13463 ("[SCSI] qla2xxx: Fix Task Management command asynchronous handling")
    Cc: stable@vger.kernel.org
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: Quinn Tran <qutran@marvell.com>
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/scsi/qla2xxx/qla_isr.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/scsi/qla2xxx/qla_isr.c
    +++ b/drivers/scsi/qla2xxx/qla_isr.c
    @@ -1839,6 +1839,7 @@ qla24xx_tm_iocb_entry(scsi_qla_host_t *v
    iocb->u.tmf.data = QLA_FUNCTION_FAILED;
    } else if ((le16_to_cpu(sts->scsi_status) &
    SS_RESPONSE_INFO_LEN_VALID)) {
    + host_to_fcp_swap(sts->data, sizeof(sts->data));
    if (le32_to_cpu(sts->rsp_data_len) < 4) {
    ql_log(ql_log_warn, fcport->vha, 0x503b,
    "Async-%s error - hdl=%x not enough response(%d).\n",

    \
     
     \ /
      Last update: 2022-04-14 17:11    [W:4.569 / U:0.376 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site