On Tue, Nov 5, 2024 at 5:21 AM Toke Høiland-Jørgensen <toke@xxxxxxx> wrote: > > Rosen Penev <rosenp@xxxxxxxxx> writes: > > > When using nvmem, ath9k could potentially be loaded before nvmem, which > > loads after mtd. This is an issue if DT contains an nvmem mac address. > > > > If nvmem is not ready in time for ath9k, -EPROBE_DEFER is returned. Pass > > it to _probe so that ath9k can properly grab a potentially present MAC > > address. > > > > Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx> > > --- > > v2: modified commit message > > drivers/net/wireless/ath/ath9k/init.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c > > index f712bb6d1f47..5f4efc760183 100644 > > --- a/drivers/net/wireless/ath/ath9k/init.c > > +++ b/drivers/net/wireless/ath/ath9k/init.c > > @@ -647,9 +647,7 @@ static int ath9k_of_init(struct ath_softc *sc) > > ah->ah_flags |= AH_NO_EEP_SWAP; > > } > > > > - of_get_mac_address(np, common->macaddr); > > - > > - return 0; > > + return of_get_mac_address(np, common->macaddr); > > Hmm, so AFAICT, of_get_mac_address() can fail with lots of other error > codes than EPROBE_DEFER, no? And with this change, if it does, we now > abort the ath9k device init, where before we just ignored any errors. > > So, to be conservative, maybe it's better to do something like: > > ret = of_get_mac_address(np, common->macaddr); > if (ret == -EPROBE_DEFER) > return ret; > > return 0; > > > WDYT? I agree. Sent v3. > > -Toke