[PATCH AUTOSEL 4.19 102/177] nvmem: imx-ocotp: reset error status on probe

Sébastien Szymanski sebastien.szymanski at armadeus.com
Tue Jan 7 06:50:59 PST 2020


On 12/10/19 10:31 PM, Sasha Levin wrote:
> From: Lucas Stach <l.stach at pengutronix.de>
> 
> [ Upstream commit c33c585f1b3a99d53920bdac614aca461d8db06f ]
> 
> If software running before the OCOTP driver is loaded left the
> controller with the error status pending, the driver will never
> be able to complete the read timing setup. Reset the error status
> on probe to make sure the controller is in usable state.
> 
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
> Link: https://lore.kernel.org/r/20191029114240.14905-6-srinivas.kandagatla@linaro.org
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Sasha Levin <sashal at kernel.org>
> ---
>  drivers/nvmem/imx-ocotp.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
> index afb429a417fe0..926d9cc080cf4 100644
> --- a/drivers/nvmem/imx-ocotp.c
> +++ b/drivers/nvmem/imx-ocotp.c
> @@ -466,6 +466,10 @@ static int imx_ocotp_probe(struct platform_device *pdev)
>  	if (IS_ERR(priv->clk))
>  		return PTR_ERR(priv->clk);
>  
> +	clk_prepare_enable(priv->clk);
> +	imx_ocotp_clr_err_if_set(priv->base);
> +	clk_disable_unprepare(priv->clk);
> +
>  	priv->params = of_device_get_match_data(&pdev->dev);
>  	imx_ocotp_nvmem_config.size = 4 * priv->params->nregs;
>  	imx_ocotp_nvmem_config.dev = dev;
> 

Hi,

This patch makes kernel 4.19.{92,93} hang at boot on my i.MX6ULL based
board. It hanks at

[    3.730078] cpu cpu0: Linked as a consumer to regulator.2
[    3.737760] cpu cpu0: Linked as a consumer to regulator.3

Full boot log is here: https://pastebin.com/TS8EFxkr

The config is imx_v6_v7_defconfig.

Reverting it makes the kernels boot again.

Regards,

-- 
Sébastien Szymanski, Armadeus Systems
Software engineer



More information about the linux-arm-kernel mailing list