Hi Heiko, On 2/23/23 03:44, Heiko Thiery wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > Hi Ajay, > > Am Mi., 15. Feb. 2023 um 21:14 Uhr schrieb Johannes Berg > <johannes@xxxxxxxxxxxxxxxx>: >> >> On Fri, 2023-02-10 at 15:28 -0600, Dan Williams wrote: >>>> >>>> In wilc1000, the bus interface is up in probe but we don't have >>>> access >>>> to mac address via register until the driver starts the wilc firmware >>>> because of design limitation. This information is only available >>>> after >>>> the MAC layer is initialized. >>> >>> So... initialize the MAC layer and read the address, then stop the card >>> until dev open which reloads and reinits? That's what eg Atmel does >> >> For a more modern example, iwlwifi also ;-) >> >> You should also load the firmware async, so it becomes: >> >> probe >> -> load firmware >> >> firmware success callback >> - boot device >> - read information >> - register with mac80211 >> - shut down device >> >> mac80211 start callback >> - boot device again >> - etc. > > Do you have a meaning about that? That sounds like a viable solution. > What do you think? > Yeah, loading the firmware async approach looks good but wilc init/deinit states are coupled with mac_open/mac_close so it would need some restructuring. Firstly, I am checking on reading the MAC address register by just bringing the SDIO bus interface up so, there is no need to fetch it using WID's command, which is only available from the firmware. I think it is possible but I need to check more. If the first approach didn't work, then I am going to try loading the firmware in probe as suggested before. Regards, Ajay