On Wed, Aug 26, 2026 at 11:14:19AM -0700, Yuxiao Zhang wrote: > eth_start_udev can fail but errno could still be zero which causes the > function ignores the error silently. This fix catches the error > properly. > > Signed-off-by: Yuxiao Zhang <[email protected]> > --- > > net/eth-uclass.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/net/eth-uclass.c b/net/eth-uclass.c > index 5c437143a30..5518268bd68 100644 > --- a/net/eth-uclass.c > +++ b/net/eth-uclass.c > @@ -347,12 +347,13 @@ int eth_init(void) > debug("Trying %s\n", current->name); > > ret = eth_start_udev(current); > - if (ret < 0) > - ret = eth_errno; > - else > + if (ret < 0) { > + if (eth_errno < 0) > + ret = eth_errno; > + debug("%s start failed (ret=%d)\n", > current->name, ret); > + } else { > break; > - > - debug("FAIL\n"); > + } > } else { > debug("PROBE FAIL\n"); > }
Is it a valid case for eth_start_udev to have failed and not set eth_errno? -- Tom
signature.asc
Description: PGP signature
