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 <qtran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Quinn Tran 2019-02-15 14:37:16 -08:00 committed by Martin K. Petersen
parent 471f8e03d7
commit 192c4e9b93
1 changed files with 4 additions and 2 deletions

View File

@ -473,9 +473,11 @@ qla2x00_async_adisc(struct scsi_qla_host *vha, fc_port_t *fcport,
{ {
srb_t *sp; srb_t *sp;
struct srb_iocb *lio; 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; fcport->flags |= FCF_ASYNC_SENT;
sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
if (!sp) if (!sp)