]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
rtlwifi: rtl8192ee: Fix TX hang due to failure to update TX write point
authorTroy Tan <troy_tan@realsil.com.cn>
Tue, 20 Jan 2015 17:01:23 +0000 (11:01 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:57:19 +0000 (14:57 -0800)
commit 6e5f4436162848289f071be38ee6b87dc8ea653d upstream.

Initially, the routine to update the write point in the FIFO buffer was
coded to save CPU time by not doing the calculation every interrupt. This
was an error and results in TX hangs.

Signed-off-by: Troy Tan <troy_tan@realsil.com.cn>
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>
drivers/net/wireless/rtlwifi/rtl8192ee/trx.c

index 2fcbef1d029fa5e9c337926a7cb3005ffe979a63..147e2dd5fc15b94770e3451b2dbed86ebeec6d77 100644 (file)
@@ -1207,8 +1207,7 @@ bool rtl92ee_is_tx_desc_closed(struct ieee80211_hw *hw, u8 hw_queue, u16 index)
        static u8 stop_report_cnt;
        struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[hw_queue];
 
-       /*checking Read/Write Point each interrupt wastes CPU */
-       if (stop_report_cnt > 15 || !rtlpriv->link_info.busytraffic) {
+       {
                u16 point_diff = 0;
                u16 cur_tx_rp, cur_tx_wp;
                u32 tmpu32 = 0;