Patch "scsi: qla2xxx: Configure local loop for N2N target" has been added to the 4.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    scsi: qla2xxx: Configure local loop for N2N target

to the 4.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-qla2xxx-configure-local-loop-for-n2n-target.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 4493eada791790bd1bf69dfcc3475727f9b03a17
Author: Roman Bolshakov <r.bolshakov@xxxxxxxxx>
Date:   Mon Nov 25 19:56:58 2019 +0300

    scsi: qla2xxx: Configure local loop for N2N target
    
    [ Upstream commit fd1de5830a5abaf444cc4312871e02c41e24fdc1 ]
    
    qla2x00_configure_local_loop initializes PLOGI payload for PLOGI ELS using
    Get Parameters mailbox command.
    
    In the case when the driver is running in target mode, the topology is N2N
    and the target port has higher WWPN, LOCAL_LOOP_UPDATE bit is cleared too
    early and PLOGI payload is not initialized by the Get Parameters
    command. That causes a failure of ELS IOCB carrying the PLOGI with 0x15 aka
    Data Underrun error.
    
    LOCAL_LOOP_UPDATE has to be set to initialize PLOGI payload.
    
    Fixes: 48acad099074 ("scsi: qla2xxx: Fix N2N link re-connect")
    Link: https://lore.kernel.org/r/20191125165702.1013-10-r.bolshakov@xxxxxxxxx
    Acked-by: Quinn Tran <qutran@xxxxxxxxxxx>
    Acked-by: Himanshu Madhani <hmadhani@xxxxxxxxxxx>
    Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
    Tested-by: Hannes Reinecke <hare@xxxxxxx>
    Signed-off-by: Roman Bolshakov <r.bolshakov@xxxxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 4512aaa16f78..851f75b12216 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4815,14 +4815,8 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
 		set_bit(RSCN_UPDATE, &flags);
 		clear_bit(LOCAL_LOOP_UPDATE, &flags);
 
-	} else if (ha->current_topology == ISP_CFG_N) {
-		clear_bit(RSCN_UPDATE, &flags);
-		if (qla_tgt_mode_enabled(vha)) {
-			/* allow the other side to start the login */
-			clear_bit(LOCAL_LOOP_UPDATE, &flags);
-			set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
-		}
-	} else if (ha->current_topology == ISP_CFG_NL) {
+	} else if (ha->current_topology == ISP_CFG_NL ||
+		   ha->current_topology == ISP_CFG_N) {
 		clear_bit(RSCN_UPDATE, &flags);
 		set_bit(LOCAL_LOOP_UPDATE, &flags);
 	} else if (!vha->flags.online ||



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux