From: James Smart Date: Fri, 2 Mar 2012 03:35:34 +0000 (-0500) Subject: [SCSI] lpfc 8.3.30: Fix deadlock during adapter offline request X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=401ee0c1d698e798a9317e2ed6207badae93e266;p=linux-beck.git [SCSI] lpfc 8.3.30: Fix deadlock during adapter offline request Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 5b66142dbf56..d8e8270b1584 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -2704,16 +2704,14 @@ lpfc_offline_prep(struct lpfc_hba * phba) } spin_lock_irq(shost->host_lock); ndlp->nlp_flag &= ~NLP_NPR_ADISC; - + spin_unlock_irq(shost->host_lock); /* * Whenever an SLI4 port goes offline, free the - * RPI. A new RPI when the adapter port comes - * back online. + * RPI. Get a new RPI when the adapter port + * comes back online. */ if (phba->sli_rev == LPFC_SLI_REV4) lpfc_sli4_free_rpi(phba, ndlp->nlp_rpi); - - spin_unlock_irq(shost->host_lock); lpfc_unreg_rpi(vports[i], ndlp); } }