From: Quinn Tran Date: Fri, 15 Feb 2019 22:37:16 +0000 (-0800) Subject: scsi: qla2xxx: Prevent multiple ADISC commands per session X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=192c4e9b9322ae445fa12914941e2278c7d4829f;p=openwrt%2Fstaging%2Fblogic.git scsi: qla2xxx: Prevent multiple ADISC commands per session Add check to allow 1 discovery command per session to be sent. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 4480a5632c11..633ad7858af5 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -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)