[PATCH net-next 2/7] net: ipa: disable clock in suspend

From: Alex Elder
Date: Tue Aug 10 2021 - 15:27:25 EST


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

diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
index d5a8b45ee59d1..864991f7ba4b5 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) {
--
2.27.0