2021-04-30 02:24:39

by Keoseong Park

[permalink] [raw]
Subject: [PATCH] scsi: ufs: remove redundant initialization of variable

The variable d_lu_wb_buf_alloc may be repeatedly initialized to 0 in a for-loop.
If the variable is set to a value other than 0, it exits the for-loop, so there is no need to reset it to 0.

Since lun and d_lu_wb_buf_alloc are just being used in a else statement inside a local scope, move the declaration of the variables to that scope.

Signed-off-by: Keoseong Park <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 0625da7a42ee..77cc473961a2 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -7277,8 +7277,6 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
{
struct ufs_dev_info *dev_info = &hba->dev_info;
- u8 lun;
- u32 d_lu_wb_buf_alloc;
u32 ext_ufs_feature;

if (!ufshcd_is_wb_allowed(hba))
@@ -7318,8 +7316,10 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
DEVICE_DESC_PARAM_WB_SHARED_ALLOC_UNITS))
goto wb_disabled;
} else {
+ u8 lun;
+ u32 d_lu_wb_buf_alloc = 0;
+
for (lun = 0; lun < UFS_UPIU_MAX_WB_LUN_ID; lun++) {
- d_lu_wb_buf_alloc = 0;
ufshcd_read_unit_desc_param(hba,
lun,
UNIT_DESC_PARAM_WB_BUF_ALLOC_UNITS,
--
2.17.1


2021-04-30 08:49:11

by Bean Huo

[permalink] [raw]
Subject: Re: [PATCH] scsi: ufs: remove redundant initialization of variable

On Fri, 2021-04-30 at 11:14 +0900, Keoseong Park wrote:
> The variable d_lu_wb_buf_alloc may be repeatedly initialized to 0 in
> a for-loop.
>
> If the variable is set to a value other than 0, it exits the for-
> loop, so there is no need to reset it to 0.
>
>
>
> Since lun and d_lu_wb_buf_alloc are just being used in a else
> statement inside a local scope, move the declaration of the variables
> to that scope.
>
>
>
> Signed-off-by: Keoseong Park <[email protected]>

UFS Spec 3.1, bDeviceMaxWriteBoosterLUs is 01h, for LU dedicated buffer
mode, WriteBooster Buffer can be configured in only one logical unit.

Bean

2021-05-07 06:33:06

by Keoseong Park

[permalink] [raw]
Subject: RE: Re: [PATCH] scsi: ufs: remove redundant initialization of variable

Hi Bean,

> On Fri, 2021-04-30 at 11:14 +0900, Keoseong Park wrote:
>> The variable d_lu_wb_buf_alloc may be repeatedly initialized to 0 in
>> a for-loop.
>>
>> If the variable is set to a value other than 0, it exits the for-
>> loop, so there is no need to reset it to 0.
>>
>>
>>
>> Since lun and d_lu_wb_buf_alloc are just being used in a else
>> statement inside a local scope, move the declaration of the variables
>> to that scope.
>>
>>
>>
>> Signed-off-by: Keoseong Park <[email protected]>
>
>UFS Spec 3.1, bDeviceMaxWriteBoosterLUs is 01h, for LU dedicated buffer
>mode, WriteBooster Buffer can be configured in only one logical unit.
>
>Bean
>
>

I don't think this patch has anything to do with "bDeviceMaxWriteBoosterLUs is 01h".
If the WB LUN is 7, this patch prevents d_lu_wb_buf_alloc from being redundantly initialized 8 times.

Thanks,
Keoseong