summaryrefslogtreecommitdiffstats
path: root/drivers/net/ipa
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2021-08-10 21:26:59 +0200
committerDavid S. Miller <davem@davemloft.net>2021-08-11 14:31:55 +0200
commit1016c6b8c62152eaa9ad31a9905a816e58333afa (patch)
tree07475f612c19960b629e0592f63f8d0d0a9e504b /drivers/net/ipa
parentnet: ipa: have ipa_clock_get() return a value (diff)
downloadlinux-1016c6b8c62152eaa9ad31a9905a816e58333afa.tar.xz
linux-1016c6b8c62152eaa9ad31a9905a816e58333afa.zip
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>
Diffstat (limited to 'drivers/net/ipa')
-rw-r--r--drivers/net/ipa/ipa_clock.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
index d5a8b45ee59d..864991f7ba4b 100644
--- a/drivers/net/ipa/ipa_clock.c
+++ b/drivers/net/ipa/ipa_clock.c
@@ -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) {