rtlwifi: rtl8192de: Fix missing enable interrupt flag
commit 330bb7117101099c687e9c7f13d48068670b9c62 upstream. In commit 38506ecefab9 ("rtlwifi: rtl_pci: Start modification for new drivers"), the flag that indicates that interrupts are enabled was never set. In addition, there are several places when enable/disable interrupts were commented out are restored. A sychronize_interrupts() call is removed. Fixes: 38506ecefab9 ("rtlwifi: rtl_pci: Start modification for new drivers") Cc: Stable <stable@vger.kernel.org> # v3.18+ Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f35cbf6716
commit
ec3b069bd4
@ -1209,6 +1209,7 @@ void rtl92de_enable_interrupt(struct ieee80211_hw *hw)
|
||||
|
||||
rtl_write_dword(rtlpriv, REG_HIMR, rtlpci->irq_mask[0] & 0xFFFFFFFF);
|
||||
rtl_write_dword(rtlpriv, REG_HIMRE, rtlpci->irq_mask[1] & 0xFFFFFFFF);
|
||||
rtlpci->irq_enabled = true;
|
||||
}
|
||||
|
||||
void rtl92de_disable_interrupt(struct ieee80211_hw *hw)
|
||||
@ -1218,7 +1219,7 @@ void rtl92de_disable_interrupt(struct ieee80211_hw *hw)
|
||||
|
||||
rtl_write_dword(rtlpriv, REG_HIMR, IMR8190_DISABLED);
|
||||
rtl_write_dword(rtlpriv, REG_HIMRE, IMR8190_DISABLED);
|
||||
synchronize_irq(rtlpci->pdev->irq);
|
||||
rtlpci->irq_enabled = false;
|
||||
}
|
||||
|
||||
static void _rtl92de_poweroff_adapter(struct ieee80211_hw *hw)
|
||||
@ -1389,7 +1390,7 @@ void rtl92de_set_beacon_related_registers(struct ieee80211_hw *hw)
|
||||
|
||||
bcn_interval = mac->beacon_interval;
|
||||
atim_window = 2;
|
||||
/*rtl92de_disable_interrupt(hw); */
|
||||
rtl92de_disable_interrupt(hw);
|
||||
rtl_write_word(rtlpriv, REG_ATIMWND, atim_window);
|
||||
rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval);
|
||||
rtl_write_word(rtlpriv, REG_BCNTCFG, 0x660f);
|
||||
@ -1409,9 +1410,9 @@ void rtl92de_set_beacon_interval(struct ieee80211_hw *hw)
|
||||
|
||||
RT_TRACE(rtlpriv, COMP_BEACON, DBG_DMESG,
|
||||
"beacon_interval:%d\n", bcn_interval);
|
||||
/* rtl92de_disable_interrupt(hw); */
|
||||
rtl92de_disable_interrupt(hw);
|
||||
rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval);
|
||||
/* rtl92de_enable_interrupt(hw); */
|
||||
rtl92de_enable_interrupt(hw);
|
||||
}
|
||||
|
||||
void rtl92de_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
|
Loading…
x
Reference in New Issue
Block a user