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 |

Attachment: signature.asc
Description: PGP signature

Reply via email to