Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rtlwifi: Clear ACM_CTRL AC3_VO bit correctly

All hw driver components in the rtlwifi driver, except for the
rtl8192de component has this bug. They would clear BE bit in the
ACM_CTRL register instead of the VO bit when processing the VO queue.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

authored by

Jes Sorensen and committed by
Kalle Valo
52f57804 661fa95d

+8 -8
+1 -1
drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
··· 566 566 acm_ctrl &= (~ACMHW_VIQEN); 567 567 break; 568 568 case AC3_VO: 569 - acm_ctrl &= (~ACMHW_BEQEN); 569 + acm_ctrl &= (~ACMHW_VOQEN); 570 570 break; 571 571 default: 572 572 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+1 -1
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
··· 363 363 acm_ctrl &= (~AcmHw_ViqEn); 364 364 break; 365 365 case AC3_VO: 366 - acm_ctrl &= (~AcmHw_BeqEn); 366 + acm_ctrl &= (~AcmHw_VoqEn); 367 367 break; 368 368 default: 369 369 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+1 -1
drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
··· 1871 1871 acm_ctrl &= (~AcmHw_ViqEn); 1872 1872 break; 1873 1873 case AC3_VO: 1874 - acm_ctrl &= (~AcmHw_BeqEn); 1874 + acm_ctrl &= (~AcmHw_VoqEn); 1875 1875 break; 1876 1876 default: 1877 1877 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+1 -1
drivers/net/wireless/rtlwifi/rtl8192ee/hw.c
··· 562 562 acm_ctrl &= (~ACMHW_VIQEN); 563 563 break; 564 564 case AC3_VO: 565 - acm_ctrl &= (~ACMHW_BEQEN); 565 + acm_ctrl &= (~ACMHW_VOQEN); 566 566 break; 567 567 default: 568 568 RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
+1 -1
drivers/net/wireless/rtlwifi/rtl8192se/hw.c
··· 293 293 acm_ctrl &= (~AcmHw_ViqEn); 294 294 break; 295 295 case AC3_VO: 296 - acm_ctrl &= (~AcmHw_BeqEn); 296 + acm_ctrl &= (~AcmHw_VoqEn); 297 297 break; 298 298 default: 299 299 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+1 -1
drivers/net/wireless/rtlwifi/rtl8723ae/hw.c
··· 362 362 acm_ctrl &= (~ACMHW_VIQEN); 363 363 break; 364 364 case AC3_VO: 365 - acm_ctrl &= (~ACMHW_BEQEN); 365 + acm_ctrl &= (~ACMHW_VOQEN); 366 366 break; 367 367 default: 368 368 RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
+1 -1
drivers/net/wireless/rtlwifi/rtl8723be/hw.c
··· 603 603 acm_ctrl &= (~ACMHW_VIQEN); 604 604 break; 605 605 case AC3_VO: 606 - acm_ctrl &= (~ACMHW_BEQEN); 606 + acm_ctrl &= (~ACMHW_VOQEN); 607 607 break; 608 608 default: 609 609 RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
+1 -1
drivers/net/wireless/rtlwifi/rtl8821ae/hw.c
··· 667 667 acm_ctrl &= (~ACMHW_VIQEN); 668 668 break; 669 669 case AC3_VO: 670 - acm_ctrl &= (~ACMHW_BEQEN); 670 + acm_ctrl &= (~ACMHW_VOQEN); 671 671 break; 672 672 default: 673 673 RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,