> +       } else {
Is it possible to get here?
Scsi_scan_host is called only after successful add_wluns

> +               /* device wlun is probed */
> +               hba->luns_avail--;
> +       }
> +}
> +


> 
>  /**
> @@ -7254,6 +7312,14 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba
> *hba)
>                 goto out;
>         }
>         ufshcd_blk_pm_runtime_init(hba->sdev_ufs_device);
> +       /*
> +        * A pm_runtime_put_sync is invoked when this device enables
> blk_pm_runtime
> +        * & would suspend the device-wlun upon timer expiry.
> +        * But suspending device wlun _may_ put the ufs device in the 
> pre-defined
> +        * low power mode (SSU <rpm_lvl>). Probing of other luns may fail 
> then.
> +        * Don't allow this suspend until all the luns have been probed.
Maybe add one more sentence: see pm_runtime_mark_last_busy in ufshcd_setup_links



> -       ufshcd_clear_ua_wluns(hba);
Are there any callers left to ufshcd_clear_ua_wluns?
Can it be removed?

> +       if (hba->wlun_dev_clr_ua)
> +               ufshcd_clear_ua_wlun(hba, UFS_UPIU_UFS_DEVICE_WLUN);
> 
>         cmd[4] = pwr_mode << 4;

Reply via email to