On 11/30/2017 04:40 AM, Himanshu Madhani wrote: > From: Quinn Tran <quinn.tran@xxxxxxxxxx> > > GPNID is triggered by RSCN. For multiple RSCNs of the same > affected NPORT ID, serialize the GPNID to prevent confusion. > > Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery") > Cc: <stable@xxxxxxxxxxxxxxx> # 4.10+ > Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> > Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_def.h | 48 +++++++++++++++++++++++------------------- > drivers/scsi/qla2xxx/qla_gs.c | 35 +++++++++++++++++++++++++----- > drivers/scsi/qla2xxx/qla_isr.c | 2 +- > drivers/scsi/qla2xxx/qla_os.c | 1 + > 4 files changed, 58 insertions(+), 28 deletions(-) > [ .. ] > @@ -3242,11 +3243,20 @@ static void qla2x00_async_gpnid_sp_done(void *s, int res) > ea.rc = res; > ea.event = FCME_GPNID_DONE; > > + spin_lock_irqsave(&vha->hw->tgt.sess_lock, flags); > + list_del(&sp->elem); > + spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); > + > if (res) { > if (res == QLA_FUNCTION_TIMEOUT) > qla24xx_post_gpnid_work(sp->vha, &ea.id); > sp->free(sp); > return; > + } else if (sp->gen1) { > + /* There was anoter RSNC for this Nport ID */ > + qla24xx_post_gpnid_work(sp->vha, &ea.id); > + sp->free(sp); > + return; > } > > qla2x00_fcport_event_handler(vha, &ea); Two spelling errors in one line ... Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)