mirror of https://gitee.com/openkylin/linux.git
[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>
This commit is contained in:
parent
4ec3fdbef1
commit
67221a4226
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue