• Pavel Roskin's avatar
    ath9k: remove ah->mask_reg, it's never used properly · 152d530d
    Pavel Roskin authored
    ah->mask_reg was used to hold different data throughout the driver.
    ath9k_hw_init_interrupt_masks() used it to save the value written to
    AR_IMR.  ath9k_hw_set_interrupts() used it to hold the interrupt mask as
    defined in enum ath9k_int.  Those masks differ in many bits.
    
    Use ah->imask instead of ah->mask_reg in ath9k_hw_set_interrupts() and
    ath9k_hw_updatetxtriglevel().  That's what the code was meant to do.
    ah->imask is initialized in ath9k_start(), so we don't need to
    initialize it from ah->mask_reg.
    
    Once it's done, ah->mask_reg becomes write-only, so it's replaced with a
    local variable in ath9k_hw_init_interrupt_masks().
    Signed-off-by: default avatarPavel Roskin <proski@gnu.org>
    Reported-by: default avatarJulia Lawall <julia@diku.dk>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    152d530d
hw.c 104 KB