Use the error handling style preferred in ath10k. Makes it easier to add
ath10k_init_firmware_features() function in the next patch.

Signed-off-by: Kalle Valo <[email protected]>
---
 drivers/net/wireless/ath/ath10k/core.c |   24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c 
b/drivers/net/wireless/ath/ath10k/core.c
index 7762061a1944..09784c68339b 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1025,8 +1025,7 @@ static int ath10k_core_probe_fw(struct ath10k *ar)
        ret = ath10k_bmi_get_target_info(ar, &target_info);
        if (ret) {
                ath10k_err(ar, "could not get target info (%d)\n", ret);
-               ath10k_hif_power_down(ar);
-               return ret;
+               goto err_power_down;
        }
 
        ar->target_version = target_info.version;
@@ -1035,15 +1034,13 @@ static int ath10k_core_probe_fw(struct ath10k *ar)
        ret = ath10k_init_hw_params(ar);
        if (ret) {
                ath10k_err(ar, "could not get hw params (%d)\n", ret);
-               ath10k_hif_power_down(ar);
-               return ret;
+               goto err_power_down;
        }
 
        ret = ath10k_core_fetch_firmware_files(ar);
        if (ret) {
                ath10k_err(ar, "could not fetch firmware files (%d)\n", ret);
-               ath10k_hif_power_down(ar);
-               return ret;
+               goto err_power_down;
        }
 
        ath10k_core_init_max_sta_count(ar);
@@ -1053,10 +1050,7 @@ static int ath10k_core_probe_fw(struct ath10k *ar)
        ret = ath10k_core_start(ar, ATH10K_FIRMWARE_MODE_NORMAL);
        if (ret) {
                ath10k_err(ar, "could not init core (%d)\n", ret);
-               ath10k_core_free_firmware_files(ar);
-               ath10k_hif_power_down(ar);
-               mutex_unlock(&ar->conf_mutex);
-               return ret;
+               goto err_unlock;
        }
 
        ath10k_print_driver_info(ar);
@@ -1066,6 +1060,16 @@ static int ath10k_core_probe_fw(struct ath10k *ar)
 
        ath10k_hif_power_down(ar);
        return 0;
+
+err_unlock:
+       mutex_unlock(&ar->conf_mutex);
+
+       ath10k_core_free_firmware_files(ar);
+
+err_power_down:
+       ath10k_hif_power_down(ar);
+
+       return ret;
 }
 
 static int ath10k_core_check_chip_id(struct ath10k *ar)

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to