2015-10-08 16:16:11

by Jeff Johnson

[permalink] [raw]
Subject: [PATCH] ath10k: Cleanup ath10k_mac_register() error handling

The logic in the error-handling path of ath10k_mac_register() is
divergent from the logic in ath10k_mac_unregister(). Update the
ath10k_mac_register() error handling logic to align with the
ath10k_mac_unregister() logic.

Signed-off-by: Jeff Johnson <[email protected]>
---
drivers/net/wireless/ath/ath10k/mac.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 79490ad..a37aad3c 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -7301,7 +7301,7 @@ int ath10k_mac_register(struct ath10k *ar)
ath10k_reg_notifier);
if (ret) {
ath10k_err(ar, "failed to initialise regulatory: %i\n", ret);
- goto err_free;
+ goto err_dfs_detector_exit;
}

ar->hw->wiphy->cipher_suites = cipher_suites;
@@ -7310,7 +7310,7 @@ int ath10k_mac_register(struct ath10k *ar)
ret = ieee80211_register_hw(ar->hw);
if (ret) {
ath10k_err(ar, "failed to register ieee80211: %d\n", ret);
- goto err_free;
+ goto err_dfs_detector_exit;
}

if (!ath_is_world_regd(&ar->ath_common.regulatory)) {
@@ -7324,10 +7324,16 @@ int ath10k_mac_register(struct ath10k *ar)

err_unregister:
ieee80211_unregister_hw(ar->hw);
+
+err_dfs_detector_exit:
+ if (config_enabled(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector)
+ ar->dfs_detector->exit(ar->dfs_detector);
+
err_free:
kfree(ar->mac.sbands[IEEE80211_BAND_2GHZ].channels);
kfree(ar->mac.sbands[IEEE80211_BAND_5GHZ].channels);

+ SET_IEEE80211_DEV(ar->hw, NULL);
return ret;
}

--
1.8.5.2



2015-10-13 13:00:33

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: Cleanup ath10k_mac_register() error handling

Jeff Johnson <[email protected]> writes:

> The logic in the error-handling path of ath10k_mac_register() is
> divergent from the logic in ath10k_mac_unregister(). Update the
> ath10k_mac_register() error handling logic to align with the
> ath10k_mac_unregister() logic.
>
> Signed-off-by: Jeff Johnson <[email protected]>

Applied, thanks.

--
Kalle Valo