Loading soc/swr-mstr-ctrl.c +6 −2 Original line number Diff line number Diff line Loading @@ -2302,6 +2302,7 @@ static int swrm_runtime_resume(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct swr_mstr_ctrl *swrm = platform_get_drvdata(pdev); int ret = 0; bool clk_err = false; struct swr_master *mstr = &swrm->master; struct swr_device *swr_dev; Loading @@ -2315,6 +2316,7 @@ static int swrm_runtime_resume(struct device *dev) dev_err(dev, "%s:lpass core hw enable failed\n", __func__); ret = 0; clk_err = true; } } Loading Loading @@ -2362,7 +2364,7 @@ static int swrm_runtime_resume(struct device *dev) swrm->state = SWR_MSTR_UP; } exit: if (swrm->lpass_core_hw_vote) if (swrm->lpass_core_hw_vote && !clk_err) clk_disable_unprepare(swrm->lpass_core_hw_vote); pm_runtime_set_autosuspend_delay(&pdev->dev, auto_suspend_timer); mutex_unlock(&swrm->reslock); Loading @@ -2374,6 +2376,7 @@ static int swrm_runtime_suspend(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct swr_mstr_ctrl *swrm = platform_get_drvdata(pdev); int ret = 0; bool clk_err = false; struct swr_master *mstr = &swrm->master; struct swr_device *swr_dev; int current_state = 0; Loading @@ -2390,6 +2393,7 @@ static int swrm_runtime_suspend(struct device *dev) dev_err(dev, "%s:lpass core hw enable failed\n", __func__); ret = 0; clk_err = true; } } Loading Loading @@ -2443,7 +2447,7 @@ static int swrm_runtime_suspend(struct device *dev) if (current_state != SWR_MSTR_SSR) swrm->state = SWR_MSTR_DOWN; exit: if (swrm->lpass_core_hw_vote) if (swrm->lpass_core_hw_vote && !clk_err) clk_disable_unprepare(swrm->lpass_core_hw_vote); mutex_unlock(&swrm->reslock); return ret; Loading Loading
soc/swr-mstr-ctrl.c +6 −2 Original line number Diff line number Diff line Loading @@ -2302,6 +2302,7 @@ static int swrm_runtime_resume(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct swr_mstr_ctrl *swrm = platform_get_drvdata(pdev); int ret = 0; bool clk_err = false; struct swr_master *mstr = &swrm->master; struct swr_device *swr_dev; Loading @@ -2315,6 +2316,7 @@ static int swrm_runtime_resume(struct device *dev) dev_err(dev, "%s:lpass core hw enable failed\n", __func__); ret = 0; clk_err = true; } } Loading Loading @@ -2362,7 +2364,7 @@ static int swrm_runtime_resume(struct device *dev) swrm->state = SWR_MSTR_UP; } exit: if (swrm->lpass_core_hw_vote) if (swrm->lpass_core_hw_vote && !clk_err) clk_disable_unprepare(swrm->lpass_core_hw_vote); pm_runtime_set_autosuspend_delay(&pdev->dev, auto_suspend_timer); mutex_unlock(&swrm->reslock); Loading @@ -2374,6 +2376,7 @@ static int swrm_runtime_suspend(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct swr_mstr_ctrl *swrm = platform_get_drvdata(pdev); int ret = 0; bool clk_err = false; struct swr_master *mstr = &swrm->master; struct swr_device *swr_dev; int current_state = 0; Loading @@ -2390,6 +2393,7 @@ static int swrm_runtime_suspend(struct device *dev) dev_err(dev, "%s:lpass core hw enable failed\n", __func__); ret = 0; clk_err = true; } } Loading Loading @@ -2443,7 +2447,7 @@ static int swrm_runtime_suspend(struct device *dev) if (current_state != SWR_MSTR_SSR) swrm->state = SWR_MSTR_DOWN; exit: if (swrm->lpass_core_hw_vote) if (swrm->lpass_core_hw_vote && !clk_err) clk_disable_unprepare(swrm->lpass_core_hw_vote); mutex_unlock(&swrm->reslock); return ret; Loading