Re: [PATCH 4.19 024/321] net: fec: add missed clk_disable_unprepare in remove

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 04, 2019 at 02:57:38PM +0900, Nobuhiro Iwamatsu wrote:
> Hi,
> 
> On Tue, Dec 03, 2019 at 11:31:30PM +0100, Greg Kroah-Hartman wrote:
> > From: Chuhong Yuan <hslester96@xxxxxxxxx>
> > 
> > [ Upstream commit c43eab3eddb4c6742ac20138659a9b701822b274 ]
> > 
> > This driver forgets to disable and unprepare clks when remove.
> > Add calls to clk_disable_unprepare to fix it.
> > 
> > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> 
> 
> This commit also requires the following commit:
> 
> commit a31eda65ba210741b598044d045480494d0ed52a
> Author: Chuhong Yuan <hslester96@xxxxxxxxx>
> Date:   Wed Nov 20 09:25:13 2019 +0800
> 
>     net: fec: fix clock count mis-match
> 
>     pm_runtime_put_autosuspend in probe will call runtime suspend to
>     disable clks automatically if CONFIG_PM is defined. (If CONFIG_PM
>     is not defined, its implementation will be empty, then runtime
>     suspend will not be called.)
> 
>     Therefore, we can call pm_runtime_get_sync to runtime resume it
>     first to enable clks, which matches the runtime suspend. (Only when
>     CONFIG_PM is defined, otherwise pm_runtime_get_sync will also be
>     empty, then runtime resume will not be called.)
> 
>     Then it is fine to disable clks without causing clock count mis-match.
> 
>     Fixes: c43eab3eddb4 ("net: fec: add missed clk_disable_unprepare in remove")
>     Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
>     Acked-by: Fugang Duan <fugang.duan@xxxxxxx>
>     Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> 
> 
> And this should also apply to 5.3.

Thanks, now queued up.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux