aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ufs/ufs_bsg.c
diff options
context:
space:
mode:
authorBean Huo <beanhuo@micron.com>2020-06-03 11:19:58 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2020-06-15 23:17:48 -0400
commit7a0bf85b5e1859bfd40a07279d20edd847265702 (patch)
tree6db0554782b1cb18b9f18efe69e9a9afba7f4bf3 /drivers/scsi/ufs/ufs_bsg.c
parentscsi: ufs: Fix potential NULL pointer access during memcpy (diff)
downloadlinux-dev-7a0bf85b5e1859bfd40a07279d20edd847265702.tar.xz
linux-dev-7a0bf85b5e1859bfd40a07279d20edd847265702.zip
scsi: ufs: Clean up ufs initialization path
At UFS initialization stage, to get the length of the descriptor, ufshcd_read_desc_length() was being called 6 times. Instead, we will capture the descriptor size the first time we'll read it. Delete unnecessary redundant code, remove ufshcd_read_desc_length(), ufshcd_init_desc_sizes(), and boost UFS initialization. Link: https://lore.kernel.org/r/20200603091959.27618-5-huobean@gmail.com Acked-by: Avri Altman <avri.altman@wdc.com> Reviewed-by: Bart van Assche <bvanassche@acm.org> Reviewed-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Bean Huo <beanhuo@micron.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ufs/ufs_bsg.c')
-rw-r--r--drivers/scsi/ufs/ufs_bsg.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/scsi/ufs/ufs_bsg.c b/drivers/scsi/ufs/ufs_bsg.c
index 53dd87628cbe..27f54615ee84 100644
--- a/drivers/scsi/ufs/ufs_bsg.c
+++ b/drivers/scsi/ufs/ufs_bsg.c
@@ -11,13 +11,12 @@ static int ufs_bsg_get_query_desc_size(struct ufs_hba *hba, int *desc_len,
{
int desc_size = be16_to_cpu(qr->length);
int desc_id = qr->idn;
- int ret;
if (desc_size <= 0)
return -EINVAL;
- ret = ufshcd_map_desc_id_to_length(hba, desc_id, desc_len);
- if (ret || !*desc_len)
+ ufshcd_map_desc_id_to_length(hba, desc_id, desc_len);
+ if (!*desc_len)
return -EINVAL;
*desc_len = min_t(int, *desc_len, desc_size);