> +static int am65_cpsw_nuss_ndev_add_tx_napi(struct am65_cpsw_common *common); > + Please move the code around so you don't need this. Ideally as a patch which only does the move. It is then trivial to review. > static void am65_cpsw_port_set_sl_mac(struct am65_cpsw_port *slave, > const u8 *dev_addr) > { > @@ -555,11 +558,24 @@ static int am65_cpsw_nuss_ndo_slave_open(struct net_device *ndev) > struct am65_cpsw_common *common = am65_ndev_to_common(ndev); > struct am65_cpsw_port *port = am65_ndev_to_port(ndev); > int ret, i; > + u32 reg; > > ret = pm_runtime_resume_and_get(common->dev); > if (ret < 0) > return ret; > > + /* Idle MAC port */ > + cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE); > + cpsw_sl_wait_for_idle(port->slave.mac_sl, 100); > + cpsw_sl_ctl_reset(port->slave.mac_sl); > + > + /* soft reset MAC */ > + cpsw_sl_reg_write(port->slave.mac_sl, CPSW_SL_SOFT_RESET, 1); > + mdelay(1); > + reg = cpsw_sl_reg_read(port->slave.mac_sl, CPSW_SL_SOFT_RESET); > + if (reg) > + dev_info(common->dev, "mac reset not yet done\n"); Should that be dev_info()? dev_dbg() Andrew