[PATCH] ath10k: fix hw reconfig on wow failure

2015-08-05 Thread Michal Kazior
When WoWLAN resume fails with retval 1 mac80211
will attempt to reconfig the device in a similar
manner when hw restart is requested. This wasn't
handled properly and yielded call trace warnings
and the device ended up not working.

Signed-off-by: Michal Kazior 
---
 drivers/net/wireless/ath/ath10k/wow.c | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wow.c 
b/drivers/net/wireless/ath/ath10k/wow.c
index a68d8fd853a3..8e02b381990f 100644
--- a/drivers/net/wireless/ath/ath10k/wow.c
+++ b/drivers/net/wireless/ath/ath10k/wow.c
@@ -301,8 +301,26 @@ int ath10k_wow_op_resume(struct ieee80211_hw *hw)
ath10k_warn(ar, "failed to wakeup from wow: %d\n", ret);
 
 exit:
+   if (ret) {
+   switch (ar->state) {
+   case ATH10K_STATE_ON:
+   ar->state = ATH10K_STATE_RESTARTING;
+   ret = 1;
+   break;
+   case ATH10K_STATE_OFF:
+   case ATH10K_STATE_RESTARTING:
+   case ATH10K_STATE_RESTARTED:
+   case ATH10K_STATE_UTF:
+   case ATH10K_STATE_WEDGED:
+   ath10k_warn(ar, "encountered unexpected device state %d 
on resume, cannot recover\n",
+   ar->state);
+   ret = -EIO;
+   break;
+   }
+   }
+
mutex_unlock(&ar->conf_mutex);
-   return ret ? 1 : 0;
+   return ret;
 }
 
 int ath10k_wow_init(struct ath10k *ar)
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ath10k: fix hw reconfig on wow failure

2015-08-13 Thread Kalle Valo
Michal Kazior  writes:

> When WoWLAN resume fails with retval 1 mac80211
> will attempt to reconfig the device in a similar
> manner when hw restart is requested. This wasn't
> handled properly and yielded call trace warnings
> and the device ended up not working.
>
> Signed-off-by: Michal Kazior 

Thanks, applied.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html