Tony Lindgren <tony@xxxxxxxxxxx> wrote: > At least on wl12xx, reading the MAC after boot can fail with a warning > at drivers/net/wireless/ti/wlcore/sdio.c:78 wl12xx_sdio_raw_read. > The failed call comes from wl12xx_get_mac() that wlcore_nvs_cb() calls > after request_firmware_work_func(). > > After the error, no wireless interface is created. Reloading the wl12xx > module makes the interface work. > > Turns out the wlan controller can be in a low-power ELP state after the > boot from the bootloader or kexec, and needs to be woken up first. > > Let's wake the hardware and add a sleep after that similar to > wl12xx_pre_boot() is already doing. > > Note that a similar issue could exist for wl18xx, but I have not seen it > so far. And a search for wl18xx_get_mac and wl12xx_sdio_raw_read did not > produce similar errors. > > Cc: Carl Philipp Klemm <philipp@xxxxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Patch applied to wireless-drivers-next.git, thanks. 11ef6bc846dc wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP -- https://patchwork.kernel.org/project/linux-wireless/patch/20210603062814.19464-1-tony@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches