diff options
Diffstat (limited to 'package/kernel/mac80211/patches/327-ath9k_hw-get-rid-of-some-duplicate-code-in-calibrati.patch')
-rw-r--r-- | package/kernel/mac80211/patches/327-ath9k_hw-get-rid-of-some-duplicate-code-in-calibrati.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/327-ath9k_hw-get-rid-of-some-duplicate-code-in-calibrati.patch b/package/kernel/mac80211/patches/327-ath9k_hw-get-rid-of-some-duplicate-code-in-calibrati.patch new file mode 100644 index 0000000000..b7f3823ee6 --- /dev/null +++ b/package/kernel/mac80211/patches/327-ath9k_hw-get-rid-of-some-duplicate-code-in-calibrati.patch @@ -0,0 +1,94 @@ +From: Felix Fietkau <nbd@nbd.name> +Date: Mon, 11 Jul 2016 11:35:20 +0200 +Subject: [PATCH] ath9k_hw: get rid of some duplicate code in calibration + init + +Remove a misleading debug message as well + +Signed-off-by: Felix Fietkau <nbd@nbd.name> +--- + +--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c ++++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c +@@ -1373,6 +1373,26 @@ static void ar9003_hw_cl_cal_post_proc(s + } + } + ++static void ar9003_hw_init_cal_common(struct ath_hw *ah) ++{ ++ struct ath9k_hw_cal_data *caldata = ah->caldata; ++ ++ /* Initialize list pointers */ ++ ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; ++ ++ INIT_CAL(&ah->iq_caldata); ++ INSERT_CAL(ah, &ah->iq_caldata); ++ ++ /* Initialize current pointer to first element in list */ ++ ah->cal_list_curr = ah->cal_list; ++ ++ if (ah->cal_list_curr) ++ ath9k_hw_reset_calibration(ah, ah->cal_list_curr); ++ ++ if (caldata) ++ caldata->CalValid = 0; ++} ++ + static bool ar9003_hw_init_cal_pcoem(struct ath_hw *ah, + struct ath9k_channel *chan) + { +@@ -1532,21 +1552,7 @@ skip_tx_iqcal: + /* Revert chainmask to runtime parameters */ + ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); + +- /* Initialize list pointers */ +- ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; +- +- INIT_CAL(&ah->iq_caldata); +- INSERT_CAL(ah, &ah->iq_caldata); +- ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n"); +- +- /* Initialize current pointer to first element in list */ +- ah->cal_list_curr = ah->cal_list; +- +- if (ah->cal_list_curr) +- ath9k_hw_reset_calibration(ah, ah->cal_list_curr); +- +- if (caldata) +- caldata->CalValid = 0; ++ ar9003_hw_init_cal_common(ah); + + return true; + } +@@ -1577,8 +1583,6 @@ static bool do_ar9003_agc_cal(struct ath + static bool ar9003_hw_init_cal_soc(struct ath_hw *ah, + struct ath9k_channel *chan) + { +- struct ath_common *common = ath9k_hw_common(ah); +- struct ath9k_hw_cal_data *caldata = ah->caldata; + bool txiqcal_done = false; + bool status = true; + bool run_agc_cal = false, sep_iq_cal = false; +@@ -1676,21 +1680,7 @@ skip_tx_iqcal: + /* Revert chainmask to runtime parameters */ + ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); + +- /* Initialize list pointers */ +- ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; +- +- INIT_CAL(&ah->iq_caldata); +- INSERT_CAL(ah, &ah->iq_caldata); +- ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n"); +- +- /* Initialize current pointer to first element in list */ +- ah->cal_list_curr = ah->cal_list; +- +- if (ah->cal_list_curr) +- ath9k_hw_reset_calibration(ah, ah->cal_list_curr); +- +- if (caldata) +- caldata->CalValid = 0; ++ ar9003_hw_init_cal_common(ah); + + return true; + } |