Hi Andrew, Andrew Lunn <and...@lunn.ch> writes:
>> @@ -3681,7 +3681,7 @@ mv88e6xxx_smi_detect(struct device *dev, struct >> mii_bus *bus, int sw_addr, >> u16 id; >> >> ops = &mv88e6xxx_smi_direct_ops; >> - if (sw_addr > 0) >> + if (sw_addr > 0 && info->flags & MV88E6XXX_FLAG_MULTI_CHIP) >> ops = &mv88e6xxx_smi_indirect_ops; > > Is sw_addr is > 0 and MV88E6XXX_FLAG_MULTI_CHIP is not set, you should > return -EINVAL. The device tree is invalid. OK, I'll change this snippet for the following until we explicitly add support for such device with non-zero address and direct SMI access: if (sw_addr == 0) ops = &mv88e6xxx_smi_direct_ops; else if (info->flags & MV88E6XXX_FLAG_MULTI_CHIP) ops = &mv88e6xxx_smi_indirect_ops; else return NULL; Thanks, Vivien