ath10k: snoc: fix unbalanced clock error handling
authorBrian Norris <briannorris@chromium.org>
Mon, 5 Nov 2018 12:35:22 +0000 (14:35 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:17:20 +0000 (09:17 +0100)
commitc68a499448e139192ca0b45dbe05ca47463a376d
tree14a084aa324b0d72003b8ea5714a41df03e85952
parentc262dc0655dfdd1d61298a132027159d87e80407
ath10k: snoc: fix unbalanced clock error handling

[ Upstream commit 82e60d920e8ad70cd9a280ab156566755f1fe4aa ]

Similar to regulator error handling, we should only start tearing down
the 'i - 1' clock when clock 'i' fails to enable. Otherwise, we might
end up with an unbalanced clock, where we never successfully enabled the
clock, but we try to disable it anyway.

Fixes: a6a793f98786 ("ath10k: vote for hardware resources for WCN3990")
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath10k/snoc.c