@@ -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) {
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> --- drivers/net/ipa/ipa_clock.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) -- 2.27.0