realtek: 6.12: enhance mdio max port patch (once again)
authorMarkus Stockhausen <[email protected]>
Tue, 3 Jun 2025 14:35:29 +0000 (10:35 -0400)
committerRobert Marko <[email protected]>
Wed, 11 Jun 2025 20:27:22 +0000 (22:27 +0200)
Some bits where missed during the last enhancement of the mdio
patch. In the forthcoming patches the phy_mask will be populated
to avoid unwanted ports (>= cpu port) from being scanned. Add
additional locations where 32 bit values need to be converted
to 64 bits.

Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <[email protected]>
target/linux/realtek/patches-6.12/700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch

index 3db46a22853b57086be34ec4b56e701c148fd583..1485b79263fc018d90600ec7d0a9d15266bce1df 100644 (file)
@@ -130,3 +130,23 @@ Signed-off-by: Markus Stockhausen <[email protected]>
                return ds->ops->phy_write(ds, addr, reg, val);
  
        return 0;
+--- a/drivers/net/phy/mdio_bus.c
++++ b/drivers/net/phy/mdio_bus.c
+@@ -611,7 +611,7 @@ static int mdiobus_scan_bus_c22(struct m
+       int i;
+       for (i = 0; i < PHY_MAX_ADDR; i++) {
+-              if ((bus->phy_mask & BIT(i)) == 0) {
++              if ((bus->phy_mask & BIT_ULL(i)) == 0ULL) {
+                       struct phy_device *phydev;
+                       phydev = mdiobus_scan_c22(bus, i);
+@@ -627,7 +627,7 @@ static int mdiobus_scan_bus_c45(struct m
+       int i;
+       for (i = 0; i < PHY_MAX_ADDR; i++) {
+-              if ((bus->phy_mask & BIT(i)) == 0) {
++              if ((bus->phy_mask & BIT_ULL(i)) == 0ULL) {
+                       struct phy_device *phydev;
+                       /* Don't scan C45 if we already have a C22 device */