mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 12:00:22 +09:00
scsi: ufs: core: Simplify power management during async scan
[ Upstream commit daf7795406bf307997366f694888bd317ae5b5fa ] ufshcd_init() calls pm_runtime_get_sync() before it calls async_schedule(). ufshcd_async_scan() calls pm_runtime_put_sync() directly or indirectly from ufshcd_add_lus(). Simplify ufshcd_async_scan() by always calling pm_runtime_put_sync() from ufshcd_async_scan(). Cc: <stable@vger.kernel.org> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20231218225229.2542156-2-bvanassche@acm.org Reviewed-by: Can Guo <quic_cang@quicinc.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Stable-dep-of: ee36710912b2 ("scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan()") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
047fce4704
commit
226554bd27
@@ -7896,7 +7896,6 @@ static int ufshcd_add_lus(struct ufs_hba *hba)
|
||||
ufs_bsg_probe(hba);
|
||||
ufshpb_init(hba);
|
||||
scsi_scan_host(hba->host);
|
||||
pm_runtime_put_sync(hba->dev);
|
||||
|
||||
out:
|
||||
return ret;
|
||||
@@ -8018,15 +8017,15 @@ static void ufshcd_async_scan(void *data, async_cookie_t cookie)
|
||||
|
||||
/* Probe and add UFS logical units */
|
||||
ret = ufshcd_add_lus(hba);
|
||||
|
||||
out:
|
||||
pm_runtime_put_sync(hba->dev);
|
||||
/*
|
||||
* If we failed to initialize the device or the device is not
|
||||
* present, turn off the power/clocks etc.
|
||||
*/
|
||||
if (ret) {
|
||||
pm_runtime_put_sync(hba->dev);
|
||||
if (ret)
|
||||
ufshcd_hba_exit(hba);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct attribute_group *ufshcd_driver_groups[] = {
|
||||
|
||||
Reference in New Issue
Block a user