diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2024-08-25 18:17:02 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-08-26 17:35:22 +0200 |
commit | cb347bd29d0d106213a0cf4f86b72dffd08d3454 (patch) | |
tree | bc609cdcf1a04b1b850aecc2ca61b25a91e9f6f6 /drivers/clk/clkdev.c | |
parent | wifi: mac80211: fix beacon SSID mismatch handling (diff) | |
download | linux-cb347bd29d0d106213a0cf4f86b72dffd08d3454.tar.xz linux-cb347bd29d0d106213a0cf4f86b72dffd08d3454.zip |
wifi: iwlwifi: mvm: fix hibernation
Fast resume is a feature that was recently introduced to speed up the
resume time. It basically keeps the firmware alive while the system
is suspended and that avoids starting again the whole device.
This flow can't work for hibernation, since when the system boots,
before the frozen image is loaded, the kernel may touch the device. As a
result, we can't assume the device is in the exact same state as before
the hibernation.
Detect that we are resuming from hibernation through the PCI device and
forbid the fast resume flow. We also need to shut down the device
cleanly when that happens.
In addition, in case the device is power gated during S3, we won't be
able to keep the device alive. Detect this situation with BE200 at least
with the help of the CSR_FUNC_SCRATCH register and reset the device upon
resume if it was power gated during S3.
Fixes: e8bb19c1d590 ("wifi: iwlwifi: support fast resume")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240825191257.24eb3b19e74f.I3837810318dbef0a0a773cf4c4fcf89cdc6fdbd3@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/clk/clkdev.c')
0 files changed, 0 insertions, 0 deletions