Hi, Bart > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > > index 44b7c0a44b8d..31b6e2a7c166 100644 > > --- a/drivers/scsi/ufs/ufshcd.c > > +++ b/drivers/scsi/ufs/ufshcd.c > > @@ -6967,8 +6967,7 @@ static int ufs_lu_add(struct ufs_hba *hba) { > > int ret; > > > > - if (!hba->is_init_prefetch) > > - ufshcd_init_icc_levels(hba); > > + ufshcd_init_icc_levels(hba); > > > > /* Add required well known logical units to scsi mid layer */ > > ret = ufshcd_scsi_add_wlus(hba); > > @@ -6994,8 +6993,6 @@ static int ufs_lu_add(struct ufs_hba *hba) > > scsi_scan_host(hba->host); > > pm_runtime_put_sync(hba->dev); > > > > - if (!hba->is_init_prefetch) > > - hba->is_init_prefetch = true; > > out: > > return ret; > > } > > The current code calls ufshcd_init_icc_levels() once per HBA. This patch changes > that into one call per LUN. It seems like the patch description contradicts the > code I see above. > No, it is still called once per HBA. The current UFS driver doesn't have per LU initialization path. After this patch, the path likes this: ufshcd_pltfrm_init(pdev, of_id->data); ufshcd_init(hba, mmio_base, irq); ufshcd_async_scan() ufs_lu_add()-->ufshcd_init_icc_levels() I should change ufs_lu_add() name to ufs_lus_add(), will make it clearer. //Bean