Commit 220bf000 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg
Browse files

wifi: mac80211: wake the queues in case of failure in resume



In case we fail to resume, we'll WARN with
"Hardware became unavailable during restart." and we'll wait until user
space does something. It'll typically bring the interface down and up to
recover. This won't work though because the queues are still stopped on
IEEE80211_QUEUE_STOP_REASON_SUSPEND reason.
Make sure we clear that reason so that we give a chance to the recovery
to succeed.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219447


Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241119173108.cd628f560f97.I76a15fdb92de450e5329940125f3c58916be3942@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent b5c32ff6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1843,6 +1843,9 @@ int ieee80211_reconfig(struct ieee80211_local *local)
			WARN(1, "Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue.\n");
		else
			WARN(1, "Hardware became unavailable during restart.\n");
		ieee80211_wake_queues_by_reason(hw, IEEE80211_MAX_QUEUE_MAP,
						IEEE80211_QUEUE_STOP_REASON_SUSPEND,
						false);
		ieee80211_handle_reconfig_failure(local);
		return res;
	}