From 9e7a7ecdc75e6bde5b462dfe5cc825d04a9156f4 Mon Sep 17 00:00:00 2001 From: Gaurav Kashyap Date: Fri, 22 May 2020 13:45:18 -0700 Subject: [PATCH] ANDROID: scsi: ufs: Handle clocks when lrbp fails Release UFS clocks when ufshcd_prepare_lrbp_crypto fails for any reason. Bug: 157284579. Change-Id: I1dd28ffea9379b58c55a948a6365e0b153249516 Git-repo: https://android.googlesource.com/kernel/common/ Signed-off-by: Gaurav Kashyap --- drivers/scsi/ufs/ufshcd-qti.c | 1 + drivers/scsi/ufs/ufshcd.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd-qti.c b/drivers/scsi/ufs/ufshcd-qti.c index 64143b5b0207..e4ba2b662724 100644 --- a/drivers/scsi/ufs/ufshcd-qti.c +++ b/drivers/scsi/ufs/ufshcd-qti.c @@ -3191,6 +3191,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd) if (err) { lrbp->cmd = NULL; clear_bit_unlock(tag, &hba->lrb_in_use); + ufshcd_release_all(hba); goto out; } lrbp->req_abort_skip = false; diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index c46df30e8548..9bdd771a0e22 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -2585,6 +2585,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd) if (err) { lrbp->cmd = NULL; clear_bit_unlock(tag, &hba->lrb_in_use); + ufshcd_release(hba); goto out; } lrbp->req_abort_skip = false;