ath9k_hw: fix RF bank initialization
ar900*_init_mode_regs needs to be called before RF banks are allocated, otherwise the storage size of RF banks isn't known. This patch fixes a memory overrun that can show up as a crash on unloading the module. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tento commit je obsažen v:

odevzdal
John W. Linville

rodič
066433a6fa
revize
6aaacd8615
@@ -54,11 +54,6 @@ static void ath9k_hw_init_cal_settings(struct ath_hw *ah)
|
||||
ath9k_hw_private_ops(ah)->init_cal_settings(ah);
|
||||
}
|
||||
|
||||
static void ath9k_hw_init_mode_regs(struct ath_hw *ah)
|
||||
{
|
||||
ath9k_hw_private_ops(ah)->init_mode_regs(ah);
|
||||
}
|
||||
|
||||
static u32 ath9k_hw_compute_pll_control(struct ath_hw *ah,
|
||||
struct ath9k_channel *chan)
|
||||
{
|
||||
@@ -670,8 +665,6 @@ static int __ath9k_hw_init(struct ath_hw *ah)
|
||||
if (!AR_SREV_9300_20_OR_LATER(ah))
|
||||
ah->ani_function &= ~ATH9K_ANI_MRC_CCK;
|
||||
|
||||
ath9k_hw_init_mode_regs(ah);
|
||||
|
||||
if (!ah->is_pciexpress)
|
||||
ath9k_hw_disablepcie(ah);
|
||||
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele