lkml.org 
[lkml]   [2017]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 035/101] qla2xxx: Fix erroneous invalid handle message
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Quinn Tran <quinn.tran@cavium.com>


    [ Upstream commit 4f060736f29a960aba8e781a88837464756200a8 ]

    Termination of Immediate Notify IOCB was using wrong
    IOCB handle. IOCB completion code was unable to find
    appropriate code path due to wrong handle.

    Following message is seen in the logs.

    "Error entry - invalid handle/queue (ffff)."

    Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
    Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    [ bvanassche: Fixed word order in patch title ]
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>

    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/scsi/qla2xxx/qla_isr.c | 4 ++++
    drivers/scsi/qla2xxx/qla_target.c | 2 +-
    2 files changed, 5 insertions(+), 1 deletion(-)

    --- a/drivers/scsi/qla2xxx/qla_isr.c
    +++ b/drivers/scsi/qla2xxx/qla_isr.c
    @@ -2466,6 +2466,10 @@ qla2x00_error_entry(scsi_qla_host_t *vha
    if (pkt->entry_status & RF_BUSY)
    res = DID_BUS_BUSY << 16;

    + if (pkt->entry_type == NOTIFY_ACK_TYPE &&
    + pkt->handle == QLA_TGT_SKIP_HANDLE)
    + return;
    +
    sp = qla2x00_get_sp_from_handle(vha, func, req, pkt);
    if (sp) {
    sp->done(ha, sp, res);
    --- a/drivers/scsi/qla2xxx/qla_target.c
    +++ b/drivers/scsi/qla2xxx/qla_target.c
    @@ -2865,7 +2865,7 @@ static int __qlt_send_term_imm_notif(str

    pkt->entry_type = NOTIFY_ACK_TYPE;
    pkt->entry_count = 1;
    - pkt->handle = QLA_TGT_SKIP_HANDLE | CTIO_COMPLETION_HANDLE_MARK;
    + pkt->handle = QLA_TGT_SKIP_HANDLE;

    nack = (struct nack_to_isp *)pkt;
    nack->ox_id = ntfy->ox_id;

    \
     
     \ /
      Last update: 2017-07-03 17:07    [W:4.574 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site