> Auto-negotiation between 10, 100, 1000Mbps will use > in-band auto negotiation. Auto-negotiation between 10/100/1000Mbps and > 2.5Gbps will work as the following proposed flow, the stmmac driver reads > the PHY link status registers then identifies the negotiated speed. I don't think you replied to my comment. in-band is just an optimisation. It in theory allows you to avoid a software path, the PHY driver talking to the MAC driver about the PHY status. As an optimisation, it is optional. Linux has the software path and the MAC driver you are using basically has it implemented. Why use this odd mix of in-band and out of band? It seems the change will be simpler if you just use the out of band method all the time and ignore in-band. Andrew