On 11/30/2017 04:40 AM, Himanshu Madhani wrote:
> From: Quinn Tran <[email protected]>
> 
> 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: <[email protected]> # 4.10+
> Signed-off-by: Quinn Tran <[email protected]>
> Signed-off-by: Himanshu Madhani <[email protected]>
> ---
>  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
[email protected]                                   +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)

Reply via email to