diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-01-11 00:28:01 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-16 15:19:01 +0100 |
commit | 8f21b0adfe95907926da1bb0bcd3382b13d0143d (patch) | |
tree | 8eeedd57fd51a88baa61d38ef5602689eea3d675 /net/mac80211/util.c | |
parent | mac80211: fix resume from WoWLAN (diff) | |
download | linux-8f21b0adfe95907926da1bb0bcd3382b13d0143d.tar.xz linux-8f21b0adfe95907926da1bb0bcd3382b13d0143d.zip |
mac80211: call restart complete at wowlan resume time
When the driver's resume function can't completely
restore the configuration in the device, it returns
1 from the callback which will be treated like a HW
restart request, but done directly.
In this case, also call the driver's restart_complete()
function so it can finish the reconfiguration there.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 0ad51e14f3c8..7519018ff71a 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1358,9 +1358,9 @@ int ieee80211_reconfig(struct ieee80211_local *local) struct ieee80211_chanctx *ctx; struct sta_info *sta; int res, i; -#ifdef CONFIG_PM bool reconfig_due_to_wowlan = false; +#ifdef CONFIG_PM if (local->suspended) local->resuming = true; @@ -1656,10 +1656,11 @@ int ieee80211_reconfig(struct ieee80211_local *local) * If this is for hw restart things are still running. * We may want to change that later, however. */ - if (!local->suspended) { + if (!local->suspended || reconfig_due_to_wowlan) drv_restart_complete(local); + + if (!local->suspended) return 0; - } #ifdef CONFIG_PM /* first set suspended false, then resuming */ |