• Quinn Tran's avatar
    scsi: qla2xxx: Move rport registration out of internal work_list · cd4ed6b4
    Quinn Tran authored
    Currently, the rport registration is being called from a single work element
    that is used to process QLA internal "work_list".  This work_list is meant for
    quick and simple task (ie no sleep).  The Rport registration process sometime
    can be delayed by upper layer.  This causes back pressure with the internal
    queue where other jobs are unable to move forward.
    
    This patch will schedule the registration process with a new work element
    (fc_port.reg_work).  While the RPort is being registered, the current state of
    the fcport will not move forward until the registration is done.  If the state
    of the fabric has changed, a new field/next_disc_state will record the next
    action on whether to 'DELETE' or 'Reverify the session/ADISC'.
    Signed-off-by: default avatarQuinn Tran <quinn.tran@cavium.com>
    Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    cd4ed6b4
qla_os.c 190 KB