Skip to content

Commit

Permalink
ath10k: cleanup ath10k_mac_register() error handling
Browse files Browse the repository at this point in the history
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 <jjohnson@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
  • Loading branch information
Jeff Johnson authored and Kalle Valo committed Oct 14, 2015
1 parent 83cfce8 commit 0e33944
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/net/wireless/ath/ath10k/mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -7304,7 +7304,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;
Expand All @@ -7313,7 +7313,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)) {
Expand All @@ -7327,10 +7327,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;
}

Expand Down

0 comments on commit 0e33944

Please sign in to comment.