net: ipa: disable clock in suspend

Disable the IPA clock rather than dropping a reference to it in the
system suspend callback.  This forces the suspend to occur without
affecting existing references.

Similarly, enable the clock rather than taking a reference in
ipa_resume(), forcing a resume without changing the reference count.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alex Elder 2021-08-10 14:26:59 -05:00 committed by David S. Miller
parent 7ebd168c3b
commit 1016c6b8c6

View File

@ -414,7 +414,7 @@ static int ipa_suspend(struct device *dev)
gsi_suspend(&ipa->gsi);
}
return ipa_clock_put(ipa);
return ipa_clock_disable(ipa);
}
/**
@ -432,14 +432,9 @@ static int ipa_resume(struct device *dev)
struct ipa *ipa = dev_get_drvdata(dev);
int ret;
/* This clock reference will keep the IPA out of suspend
* until we get a power management suspend request.
*/
ret = ipa_clock_get(ipa);
if (WARN_ON(ret < 0)) {
(void)ipa_clock_put(ipa);
ret = ipa_clock_enable(ipa);
if (WARN_ON(ret < 0))
return ret;
}
/* Endpoints aren't usable until setup is complete */
if (ipa->setup_complete) {