Hi Caleb, Thank you for the patch.
On mar., juin 18, 2024 at 16:57, Caleb Connolly <caleb.conno...@linaro.org> wrote: > In some cases (consistently in my case with an embedded board) the > ethernet controller will time out on the first init but always succeed > after reset. > > Let's reset the controller during probe so we always start with it in a > known state, and don't have wait for the first asix_wait_link() to > time out. > > Signed-off-by: Caleb Connolly <caleb.conno...@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com> > --- > I see this behaviour consistently across three Qualcomm platforms that use > this > controller. > --- > drivers/usb/eth/asix88179.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c > index 7bfd285b3aa4..a0aa5c25e428 100644 > --- a/drivers/usb/eth/asix88179.c > +++ b/drivers/usb/eth/asix88179.c > @@ -628,8 +628,14 @@ static int ax88179_eth_probe(struct udevice *dev) > > usb_dev = priv->ueth.pusb_dev; > priv->maxpacketsize = usb_dev->epmaxpacketout[AX_ENDPOINT_OUT]; > > + ret = asix_basic_reset(&priv->ueth, priv); > + if (ret) { > + printf("Failed to reset ethernet device\n"); > + return ret; > + } > + > /* Get the MAC address */ > ret = asix_read_mac(&priv->ueth, pdata->enetaddr); > if (ret) > return ret; > -- > 2.45.0