OSDN Git Service

scsi: qla2xxx: Prevent multiple ADISC commands per session
authorQuinn Tran <qtran@marvell.com>
Fri, 15 Feb 2019 22:37:16 +0000 (14:37 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Feb 2019 23:58:36 +0000 (18:58 -0500)
Add check to allow 1 discovery command per session to be sent.

Signed-off-by: Quinn Tran <qtran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c

index 4480a56..633ad78 100644 (file)
@@ -473,9 +473,11 @@ qla2x00_async_adisc(struct scsi_qla_host *vha, fc_port_t *fcport,
 {
        srb_t *sp;
        struct srb_iocb *lio;
-       int rval;
+       int rval = QLA_FUNCTION_FAILED;
+
+       if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT))
+               return rval;
 
-       rval = QLA_FUNCTION_FAILED;
        fcport->flags |= FCF_ASYNC_SENT;
        sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
        if (!sp)