Hi Avri, >diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs >index d001f008312b..b10cecb286df 100644 >--- a/Documentation/ABI/testing/sysfs-driver-ufs >+++ b/Documentation/ABI/testing/sysfs-driver-ufs >@@ -1449,7 +1449,7 @@ Description: This entry shows the maximum HPB data size for using single HPB > > The file is read only. > >-What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable >+What: /sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable This part seems to be the problem with my patch. I will correct it. ... >diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c >index ab66919f4065..6f2ded8c63b0 100644 >--- a/drivers/scsi/ufs/ufshpb.c >+++ b/drivers/scsi/ufs/ufshpb.c ... >@@ -1697,6 +1704,7 @@ static void ufshpb_normalization_work_handler(struct work_struct *work) > struct ufshpb_lu *hpb = container_of(work, struct ufshpb_lu, > ufshpb_normalization_work); > int rgn_idx; >+ u8 factor = hpb->params.normalization_factor; > > for (rgn_idx = 0; rgn_idx < hpb->rgns_per_lu; rgn_idx++) { > struct ufshpb_region *rgn = hpb->rgn_tbl + rgn_idx; >@@ -1707,7 +1715,7 @@ static void ufshpb_normalization_work_handler(struct work_struct *work) > for (srgn_idx = 0; srgn_idx < hpb->srgns_per_rgn; srgn_idx++) { > struct ufshpb_subregion *srgn = rgn->srgn_tbl + srgn_idx; > >- srgn->reads >>= 1; >+ srgn->reads >>= factor; > rgn->reads += srgn->reads; How about changing it to "rgn->read >>=factor" and placing it outside the for statement? Thanks, Daejun