Commit a1e17eb0 authored by Dinghao Liu's avatar Dinghao Liu Committed by Martin K. Petersen

scsi: ufs-bsg: Fix runtime PM imbalance on error

When ufs_bsg_alloc_desc_buffer() returns an error code, a pairing runtime
PM usage counter decrement is needed to keep the counter balanced.

Link: https://lore.kernel.org/r/20200522045932.31795-1-dinghao.liu@zju.edu.cn
Fixes: 74e5e468 (scsi: ufs-bsg: Wake the device before sending raw upiu commands)
Reviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent b3a9e3b9
...@@ -106,8 +106,10 @@ static int ufs_bsg_request(struct bsg_job *job) ...@@ -106,8 +106,10 @@ static int ufs_bsg_request(struct bsg_job *job)
desc_op = bsg_request->upiu_req.qr.opcode; desc_op = bsg_request->upiu_req.qr.opcode;
ret = ufs_bsg_alloc_desc_buffer(hba, job, &desc_buff, ret = ufs_bsg_alloc_desc_buffer(hba, job, &desc_buff,
&desc_len, desc_op); &desc_len, desc_op);
if (ret) if (ret) {
pm_runtime_put_sync(hba->dev);
goto out; goto out;
}
/* fall through */ /* fall through */
case UPIU_TRANSACTION_NOP_OUT: case UPIU_TRANSACTION_NOP_OUT:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment