[PATCH 5/5] ath10k: flush hif buffers before recovery

Michal Kazior michal.kazior at tieto.com
Thu Aug 7 02:39:16 PDT 2014


On 7 August 2014 11:30, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
> Michal Kazior <michal.kazior at tieto.com> writes:
>
>> Transport buffers weren't flushed and processed
>> before queueing hw recovery request to mac80211.
>>
>> This could in theory result in an unwanted htt/wmi
>> rx events being processed while mac80211 recovers
>> the device and possibly interfere or even crash
>> the system.
>>
>> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
>
> This one had a conflict in ath-next-test, I changed the patch to this:
>
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -666,6 +666,7 @@ static void ath10k_core_restart(struct work_struct *work)
>         case ATH10K_STATE_ON:
>                 ar->state = ATH10K_STATE_RESTARTING;
>                 ath10k_scan_finish(ar);
> +               ath10k_hif_stop(ar);
>                 ieee80211_restart_hw(ar->hw);

Oops. I've accidentally posted an old version of this single patch.
The hif_stop() should be _before_ scan_finish/reset(). I'll wait for
more comments before posting a v2 though.


Michał



More information about the ath10k mailing list