From: Vaios Papadimitriou Date: Tue, 8 May 2012 22:01:24 +0000 (-0500) Subject: Fix Locking code raising IRQ twice X-Git-Tag: v2.6.39-400.9.0~423^2~123^2~21 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4cb7d71874dfe9bd4e9be481a1f62a202d360b6b;p=users%2Fjedix%2Flinux-maple.git Fix Locking code raising IRQ twice Remove the irq part of the locking and unlocking calls, this could have caused a deadlock because the cpu could have interrupted this thread while the hbalock was still held. commit id: 728599090a9bf3aefb1226cc063295886525cd0e Signed-off-by: Maxim Uvarov --- diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 2cadb8271f10b..343d87ba4df8f 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c @@ -2977,9 +2977,9 @@ lpfc_mbx_process_link_up(struct lpfc_hba *phba, struct lpfc_mbx_read_top *la) "topology\n"); /* Get Loop Map information */ if (bf_get(lpfc_mbx_read_top_il, la)) { - spin_lock_irq(shost->host_lock); + spin_lock(shost->host_lock); vport->fc_flag |= FC_LBIT; - spin_unlock_irq(shost->host_lock); + spin_unlock(shost->host_lock); } vport->fc_myDID = bf_get(lpfc_mbx_read_top_alpa_granted, la); @@ -3029,9 +3029,9 @@ lpfc_mbx_process_link_up(struct lpfc_hba *phba, struct lpfc_mbx_read_top *la) phba->sli3_options |= LPFC_SLI3_NPIV_ENABLED; } vport->fc_myDID = phba->fc_pref_DID; - spin_lock_irq(shost->host_lock); + spin_lock(shost->host_lock); vport->fc_flag |= FC_LBIT; - spin_unlock_irq(shost->host_lock); + spin_unlock(shost->host_lock); } spin_unlock_irq(&phba->hbalock);