On Wed, Sep 14, 2022 at 03:20:50PM +0530, Siddharth Vadapalli wrote: > diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c > index 72b1df12f320..1739c389af20 100644 > --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c > +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c > @@ -1494,10 +1494,50 @@ static void am65_cpsw_nuss_mac_config(struct phylink_config *config, unsigned in > phylink_config); > struct am65_cpsw_port *port = container_of(slave, struct am65_cpsw_port, slave); > struct am65_cpsw_common *common = port->common; > + struct fwnode_handle *fwnode; > + bool fixed_link = false; > > if (common->pdata.extra_modes & BIT(state->interface)) > writel(AM65_CPSW_SGMII_CONTROL_MR_AN_ENABLE, > port->sgmii_base + AM65_CPSW_SGMII_CONTROL_REG); > + > + /* Detecting fixed-link */ > + fwnode = of_node_to_fwnode(port->slave.phy_node); > + if (fwnode) > + fixed_link = !!fwnode_get_named_child_node(fwnode, "fixed-link"); > + > + if (fixed_link) { > + /* In fixed-link mode, mac_link_up is not invoked. > + * Therefore, the relevant mac_link_up operations > + * have to be moved to mac_config. > + */ This seems very wrong. Why is mac_link_up() not invoked? Have you debugged this? It works for other people. Please debug rather than adding hacks to drivers when you find things that don't seem to work. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!