* Ulf Hansson <ulf.hansson@xxxxxxxxxx> [181220 10:15]: > On Tue, 18 Dec 2018 at 16:54, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > > > Hi, > > > > * Ulf Hansson <ulf.hansson@xxxxxxxxxx> [181218 12:34]: > > > Instead, it looks like what you need, is a way to keep track of > > > whether the SDIO card, became power cycled or if it stayed powered on, > > > when "ifconfig wlan0 up" is done. In case of a power cycle, you need > > > to re-program the firmware, right? > > > > Yeah mostly. But we also need to ensure things do get powered down > > properly after ifconfig wlan0 down :) IMO after ifconfig wlan0 down > > returns, there should be no waiting needed. > > > > > Would it be possible to re-program the firmware, even if the SDIO card > > > stayed powered-on? > > > > That might help for some cases, but the problem of how to ensure the > > card is powered down after ifconfig wlan0 down returns still exists. > > Well, does the SDIO card really have to be powered down before > "ifconfig wlan0 down" returns? If so, why? Good question. Eyal, any comments what should happen here from the wlcore hardware point of view? > An option would be to call pm_runtime_get_sync() at "ifconfig wlan0 > up" (I assume you already do that) and then re-program the firmware, > even if the card hasn't been power cycled. Wouldn't that work? Ricardo, care to test and see if the problem comes back if you keep PM runtime enabled? > Or perhaps this is the problem you are encountering, that the FW can't > be reprogrammed, unless the card has been power cycled? You can easily > test that, by simply bumping the runtime usage count for the card > device via sysfs, before doing the "ifconfig wlan0 up/down" thingy. Ricardo, care to play with this too? Regards, Tony