On 29 September 2014 18:05, Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote: > On 09/29/2014 01:24 AM, Kalle Valo wrote: >> greearb@xxxxxxxxxxxxxxx writes: >> >>> From: Ben Greear <greearb@xxxxxxxxxxxxxxx> >>> >>> This gives user-space a normal-ish way to detect that >>> firmware has failed to start and that a reboot is >>> probably required. >>> >>> Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> [...] >>> - return 0; >>> +out: >>> + /* If we have failed to power-up, it may take a reboot to >>> + * get the NIC back online. >>> + * Set flag accordinly so that user-space can know. >>> + */ >>> + ar->fw_powerup_failed = !!ret; >>> + return ret; >>> } >> >> Would it be better to use ATH10K_STATE_WEDGED for this and then just >> export the state value to user space? Or should we have two different >> states, like FW_WEDGED and HW_WEDGED? Current WEDGED state is more like ON. It assumes mac80211 will call ath10k_stop(). Adding another state just for the sake of handling power up / reset issues seems like an overkill to me. > I didn't want to mess with the state machine. This counter > is just a clue to users that things might be badly wrong. Some systems > might recover with another hard reset, some will hang the entire > system hard, and some will just stick in this state unable to > recover. Some of my systems exhibit this last behaviour, so at > least with this patch I can warn the user that they need to > reboot to regain wifi functionality. If power up fails the error should propagate to `ifconfig wlanX up` (or whatever calling drv_start) eventually so I don't see the point in having this counter. Michał -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html