]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: clear local->suspended before calling drv_resume()
authorEliad Peller <eliad@wizery.com>
Wed, 8 Jul 2015 12:41:47 +0000 (15:41 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 17 Jul 2015 13:40:46 +0000 (15:40 +0200)
commit689914d0612666d947788f4df7b321b973233b21
tree3c171cd36db7d7efca194599463bd91b059c6966
parentb110ec538f7836b9a49f22d6dac6c2f10be58199
mac80211: clear local->suspended before calling drv_resume()

Currently, mac80211 calls drv_resume() on wowlan resume,
but drops any incoming frame until local->suspended is
cleared later on.

This requires the low-level driver to support a new state,
in which it is expected to fully work (as it was resumed)
but not passing rx frames yet (as they will be dropped).

iwlwifi (and probably other drivers as well) has issues
supporting such mode.

Since in the wowlan case we already short-circuit
ieee80211_reconfig, there's nothing that prevents us from
clearing local->suspend before calling drv_resume(),
and letting the low-level driver work normally.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c