[PATCH v2] net: mv88e6xxx: fix missing SMI address initialization

Marek Behún kabel at kernel.org
Mon Mar 4 15:48:12 CET 2024


Hi Stefan,

On Wed, 14 Feb 2024 08:50:16 +0100
Stefan Roese <sr at denx.de> wrote:

> Hi Ramon,
> 
> On 1/9/24 10:37, Stefan Roese wrote:
> > On 12/18/23 17:09, Marek Behún wrote:  
> >> On Wed, 6 Dec 2023 15:35:56 +0100
> >> Marek Mojík <marek.mojik at nic.cz> wrote:
> >>  
> >>> The mv88e6xxx driver does not currently initialize the smi_addr 
> >>> field, but
> >>> instead keeps the default zero value. This leads to driver being 
> >>> unusable
> >>> on devices where the switch is not on address zero of the mdio bus. Fix
> >>> this problem by reading the SMI address from device tree.
> >>>
> >>> Signed-off-by: Marek Mojík <marek.mojik at nic.cz>
> >>> ---
> >>>   drivers/net/mv88e6xxx.c | 8 ++++++++
> >>>   1 file changed, 8 insertions(+)
> >>>
> >>> diff --git a/drivers/net/mv88e6xxx.c b/drivers/net/mv88e6xxx.c
> >>> index c073f81e72..8fbbc1cacc 100644
> >>> --- a/drivers/net/mv88e6xxx.c
> >>> +++ b/drivers/net/mv88e6xxx.c
> >>> @@ -745,6 +745,7 @@ static int mv88e6xxx_probe(struct udevice *dev)
> >>>   {
> >>>       struct dsa_pdata *dsa_pdata = dev_get_uclass_plat(dev);
> >>>       struct mv88e6xxx_priv *priv = dev_get_priv(dev);
> >>> +    fdt_addr_t smi_addr;
> >>>       int val, ret;
> >>>       if (ofnode_valid(dev_ofnode(dev)) &&
> >>> @@ -753,6 +754,13 @@ static int mv88e6xxx_probe(struct udevice *dev)
> >>>           return -ENODEV;
> >>>       }
> >>> +    smi_addr = dev_read_addr(dev);
> >>> +    if (smi_addr == FDT_ADDR_T_NONE) {
> >>> +        dev_err(dev, "Missing SMI address\n");
> >>> +        return -EINVAL;
> >>> +    }
> >>> +    priv->smi_addr = smi_addr;
> >>> +
> >>>       /* probe internal mdio bus */
> >>>       ret = mv88e6xxx_probe_mdio(dev);
> >>>       if (ret)  
> >>
> >> Reviewed-by: Marek Behún <kabel at kernel.org>  
> > 
> > Reviewed-by: Stefan Roese <sr at denx.de>
> > 
> > Ramon, this patch was assigned to me as an Marvell MVEBU patch
> > depends on it. I've assigned it to you now. Or if it's okay that
> > I pull it with the Marvell tree, just let me know.  
> 
> Any updates on this?
> 
> Thanks,
> Stefan

Stefan, it seems that Ramon is unavailable for this.
Can we take this? We've been using it on Omnia and it works correctly.

Marek


More information about the U-Boot mailing list