On Thu, Nov 19, 2020 at 01:29:15AM +0100, Andrew Lunn wrote:
case BR_STATE_DISABLED: data |= PORT_LEARN_DISABLE; - if (port < SWITCH_PORT_NUM) + if (port < dev->phy_port_cnt) member = 0; break;So this, unlike all the other patches so far, is not obviously correct. What exactly does phy_port_cnt mean? Can there be ports without PHYs? What if the PHYs are external? You still need to be able to change the STP state of such ports.
The variable phy_port_cnt is referring to all external physical available ports, that are not connected internally to the cpu. That means that the previous code path was already broken, when stp handling should include the cpu_port. Michael -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
signature.asc
Description: PGP signature