diff options
author | Bean Huo <beanhuo@micron.com> | 2020-06-03 11:19:58 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-06-15 23:17:48 -0400 |
commit | 7a0bf85b5e1859bfd40a07279d20edd847265702 (patch) | |
tree | 6db0554782b1cb18b9f18efe69e9a9afba7f4bf3 /drivers/scsi/ufs/ufs_bsg.c | |
parent | scsi: ufs: Fix potential NULL pointer access during memcpy (diff) | |
download | linux-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.c | 5 |
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); |