diff options
author | Alex Elder <elder@linaro.org> | 2021-01-15 06:50:45 -0600 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-18 11:51:05 -0800 |
commit | ec0ef6d3c8c2887724e24b6337f48e893e191d08 (patch) | |
tree | afb2375527f848122054f95359f6b2f5d1b0ddb8 /drivers/net/ipa/ipa_clock.c | |
parent | bf52e27bb35377d3582370732fa1e99cb446c670 (diff) |
net: ipa: don't return an error from ipa_interconnect_disable()
If disabling interconnects fails there's not a lot we can do. The
only two callers of ipa_interconnect_disable() ignore the return
value, so just give the function a void return type.
Print an error message if disabling any of the interconnects is not
successful. Return (and print) only the first error seen.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa/ipa_clock.c')
-rw-r--r-- | drivers/net/ipa/ipa_clock.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c index 459c357e0967..baedb481fe82 100644 --- a/drivers/net/ipa/ipa_clock.c +++ b/drivers/net/ipa/ipa_clock.c @@ -137,36 +137,27 @@ err_memory_path_disable: } /* To disable an interconnect, we just its bandwidth to 0 */ -static int ipa_interconnect_disable(struct ipa *ipa) +static void ipa_interconnect_disable(struct ipa *ipa) { - const struct ipa_interconnect_data *data; struct ipa_clock *clock = ipa->clock; + int result = 0; int ret; ret = icc_set_bw(clock->memory_path, 0, 0); if (ret) - return ret; + result = ret; ret = icc_set_bw(clock->imem_path, 0, 0); - if (ret) - goto err_memory_path_reenable; + if (ret && !result) + result = ret; ret = icc_set_bw(clock->config_path, 0, 0); - if (ret) - goto err_imem_path_reenable; - - return 0; + if (ret && !result) + result = ret; -err_imem_path_reenable: - data = &clock->interconnect_data[IPA_INTERCONNECT_IMEM]; - (void)icc_set_bw(clock->imem_path, data->average_bandwidth, - data->peak_bandwidth); -err_memory_path_reenable: - data = &clock->interconnect_data[IPA_INTERCONNECT_MEMORY]; - (void)icc_set_bw(clock->memory_path, data->average_bandwidth, - data->peak_bandwidth); - - return ret; + if (result) + dev_err(&ipa->pdev->dev, + "error %d disabling IPA interconnects\n", ret); } /* Turn on IPA clocks, including interconnects */ @@ -189,7 +180,7 @@ static int ipa_clock_enable(struct ipa *ipa) static void ipa_clock_disable(struct ipa *ipa) { clk_disable_unprepare(ipa->clock->core); - (void)ipa_interconnect_disable(ipa); + ipa_interconnect_disable(ipa); } /* Get an IPA clock reference, but only if the reference count is |