--- a/drivers/net/phy/mdio-boardinfo.c +++ b/drivers/net/phy/mdio-boardinfo.c @@ -49,6 +49,7 @@ mdiobus_register_board_info(struct mdio_ for (i = 0; i < n; i++, be++, info++) { memcpy(&be->board_info, info, sizeof(*info)); + be->board_info.phy_addr = be->board_info.mdio_addr; mutex_lock(&__mdio_board_lock); list_add_tail(&be->list, &__mdio_board_list); mutex_unlock(&__mdio_board_lock); --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -872,6 +872,7 @@ extern struct bus_type mdio_bus_type; struct mdio_board_info { const char *bus_id; + int mdio_addr; int phy_addr; const void *platform_data;