linux_dsm_epyc7002/drivers/net/wireless
Vincent Fann 1277fa2ab2 rtlwifi: Remove the clear interrupt routine from all drivers
Several of these drivers have there TX randomly blocked for 3~5 seconds while
measuring tx throughput (iperf). The root couse happens in rtl_pci_flush().
The function uses a while-loop to wait for TX queue length to decrease to 0.
The TX queue length counts the number of packets that are queued in the driver.
The driver relys on the TX OK interrupt to return skb and reduce TX queue length.

The interrupt subroutine disables interupts, reads the interrupt registers, and
then clears the registers in the beginning of _rtl_pci_interrupt(). After all
interupts process are finished, the driver invokes enable_interrupt() to enable
interupts. This behavior is normal for an interrupt subroutine.

But enable_interrupt() invokes clear_interrupt() again. This unexpected interrupt
clearing may cleari me fresh TX OK interrupts. These missing interrupts cause TX
queue length to never reduce to 0i, which causes rtl_pci_flush() to be stuck in
unterminated while-loop.

This patch removes clear_interrupt() in enable_interrupt() to avoid this behavior.

Signed-off-by: Vincent Fann <vincent_fann@realtek.com>
Signed-off-by: Shao Fu <shaofu@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org> [3.18+]
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-05-26 13:58:47 +03:00
..
ath ath9k_htc: memory corruption calling set_bit() 2015-05-26 13:54:23 +03:00
b43 mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
b43legacy mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
brcm80211 brcmfmac: avoid gcc-5.1 warning 2015-05-26 13:53:48 +03:00
cw1200 mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
hostap
ipw2x00 Lots of updates for net-next; along with the usual flurry 2015-03-31 16:39:04 -04:00
iwlegacy mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
iwlwifi ath10k: 2015-05-24 23:23:01 -04:00
libertas Lots of updates for net-next; along with the usual flurry 2015-03-31 16:39:04 -04:00
libertas_tf mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
mwifiex mwifiex: change dbg print func to mwifiex_dbg 2015-05-26 13:50:42 +03:00
orinoco Lots of updates for net-next; along with the usual flurry 2015-03-31 16:39:04 -04:00
p54 mac80211: make LED trigger names const 2015-05-05 14:21:55 +02:00
prism54
rsi
rt2x00 mac80211: extend get_tkip_seq to all keys 2015-05-06 13:29:59 +02:00
rtl818x
rtlwifi rtlwifi: Remove the clear interrupt routine from all drivers 2015-05-26 13:58:47 +03:00
ti ath10k: 2015-05-24 23:23:01 -04:00
zd1211rw mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
adm8211.c adm8211: fixed the possible pci cache line sizes inside switch-case 2015-05-26 13:47:36 +03:00
adm8211.h
airo_cs.c
airo.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
airo.h
at76c50x-usb.c
at76c50x-usb.h mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
atmel_cs.c
atmel_pci.c
atmel.c
atmel.h
Kconfig
mac80211_hwsim.c mac80211_hwsim: Fix the supported VHT mcs rates 2015-05-06 14:51:27 +02:00
mac80211_hwsim.h
Makefile
mwl8k.c mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: harmless issue calling set_bit() 2015-05-26 13:55:04 +03:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h