summaryrefslogtreecommitdiff
path: root/drivers/ufs
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2023-01-15 14:24:17 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2023-02-09 05:26:17 +0300
commit833f7d4819a88f027033e0033ea44f7ae3e45a9b (patch)
treee1d336e6ab2502c82e91722e3ebc1f864f344aea /drivers/ufs
parent36822124f9de200cedc2f42516301b50d386a6cd (diff)
downloadlinux-833f7d4819a88f027033e0033ea44f7ae3e45a9b.tar.xz
scsi: ufs: core: Fix an error handling path in ufshcd_read_desc_param()
If an error occurs, some memory may need to be freed, as in the other error handling paths. Before the commit in the Fixes tag, this test was done before the memory allocation, so there was no issue. Fixes: 16ed9d312b42 ("scsi: ufs: core: Remove ufshcd_map_desc_id_to_length()") Link: https://lore.kernel.org/r/2c6e42205e5ec22e5e8c7c85c6deb8fde31c74da.1673781835.git.christophe.jaillet@wanadoo.fr Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/ufs')
-rw-r--r--drivers/ufs/core/ufshcd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 625caccf533c..3b3cf78d3b10 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -3537,7 +3537,8 @@ int ufshcd_read_desc_param(struct ufs_hba *hba,
if (param_offset >= buff_len) {
dev_err(hba->dev, "%s: Invalid offset 0x%x in descriptor IDN 0x%x, length 0x%x\n",
__func__, param_offset, desc_id, buff_len);
- return -EINVAL;
+ ret = -EINVAL;
+ goto out;
}
/* Sanity check */