Pārlūkot izejas kodu

[SCSI] lpfc: fix lock imbalances

Stanse found that two error paths in lpfc_bsg_rport_els_cmp and
lpfc_issue_ct_rsp_cmp omits to unlock phba->ct_ev_lock. It is
because they wrongly unlock phba->hbalock instead. Fix that.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Jiri Slaby 15 gadi atpakaļ
vecāks
revīzija
67221a4226
1 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 2 2
      drivers/scsi/lpfc/lpfc_bsg.c

+ 2 - 2
drivers/scsi/lpfc/lpfc_bsg.c

@@ -433,7 +433,7 @@ lpfc_bsg_rport_els_cmp(struct lpfc_hba *phba,
 	dd_data = cmdiocbq->context1;
 	dd_data = cmdiocbq->context1;
 	/* normal completion and timeout crossed paths, already done */
 	/* normal completion and timeout crossed paths, already done */
 	if (!dd_data) {
 	if (!dd_data) {
-		spin_unlock_irqrestore(&phba->hbalock, flags);
+		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
 		return;
 		return;
 	}
 	}
 
 
@@ -1196,7 +1196,7 @@ lpfc_issue_ct_rsp_cmp(struct lpfc_hba *phba,
 	dd_data = cmdiocbq->context1;
 	dd_data = cmdiocbq->context1;
 	/* normal completion and timeout crossed paths, already done */
 	/* normal completion and timeout crossed paths, already done */
 	if (!dd_data) {
 	if (!dd_data) {
-		spin_unlock_irqrestore(&phba->hbalock, flags);
+		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
 		return;
 		return;
 	}
 	}