[U-Boot] [PATCHv2 1/5] fsl: serdes: ensure accessing the initialized maps of serdes protocol

Z.Q. Hou zhiqiang.hou at nxp.com
Wed Nov 30 09:41:33 CET 2016


Hi York,

> -----Original Message-----
> From: york sun
> Sent: 2016年11月30日 5:58
> To: Z.Q. Hou <zhiqiang.hou at nxp.com>; u-boot at lists.denx.de;
> albert.u.boot at aribaud.net; wd at denx.de; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>; Alison Wang <alison.wang at nxp.com>;
> Mingkai Hu <mingkai.hu at nxp.com>
> Cc: Yao Yuan <yao.yuan at nxp.com>; Q.Y. Gong <qianyu.gong at nxp.com>;
> bmeng.cn at gmail.com; Shengzhou Liu <shengzhou.liu at nxp.com>
> Subject: Re: [PATCHv2 1/5] fsl: serdes: ensure accessing the initialized maps of
> serdes protocol
> 
> On 08/02/2016 04:14 AM, Zhiqiang Hou wrote:
> > From: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> >
> > Up to now, the function is_serdes_configed() doesn't check if the map
> > of serdes protocol is initialized before accessing it. The function
> > is_serdes_configed() will get wrong result when it was called before
> > the serdes protocol maps initialized. As the first element of the map
> > isn't used for any device, so use it as the flag to indicate if the
> > map has been initialized.
> >
> > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> > ---
> > V2:
> >  - Check initialization-state of the serdes protocol map before serdes init.
> >  - Comment the element 'NONE' used as a initialization-state flag.
> 
> Zhiqiang,
> 
> This patch has been merged but I found an issue with it today. Please try to
> boot P4080DS from NOR flash. It causes recursive calls
> fsl_serdes_init()->p4080_erratum_serdes_a005()->is_serdes_configured()->fsl_
> serdes_init().
> Please check if you have any similar recursive case for other platforms.
> Please send a fix ASAP.
> 

This issue has been fixed by the patch below, did your test point include this patch? Anyway, I will try the latest commit of tree u-boot-fsl-qoriq.
commit 5eef15ea9d297d270935510d8a635f8d8bf72439
Author: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
Date:   Mon Oct 31 10:59:16 2016 +0800

    fsl: serdes: fix a deadloop issue for P4080
    
    This deadloop is introduced by commit:
    71fe222 fsl: serdes: ensure accessing the initialized maps of serdes protocol
    
    deadloop detail:
    cpu_init_r => fsl_serdes_init => p4080_erratum_serdes_a005 =>
    is_serdes_configured => fsl_serdes_init

Thanks,
Zhiqiang


More information about the U-Boot mailing list