linux_dsm_epyc7002/drivers/net/wireless
Larry Finger de26859dcf rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c
Commit 49f86ec21c ("rtlwifi: Change long delays to sleeps") was correct
for most cases; however, driver rtl8192ce calls the affected routines while
in atomic context. The kernel bug output is as follows:

BUG: scheduling while atomic: wpa_supplicant/627/0x00000002
[...]
  [<ffffffff815c2b39>] __schedule+0x899/0xad0
  [<ffffffff815c2dac>] schedule+0x3c/0x90
  [<ffffffff815c5bb2>] schedule_hrtimeout_range_clock+0xa2/0x120
  [<ffffffff810e8b80>] ? hrtimer_init+0x120/0x120
  [<ffffffff815c5ba6>] ? schedule_hrtimeout_range_clock+0x96/0x120
  [<ffffffff815c5c43>] schedule_hrtimeout_range+0x13/0x20
  [<ffffffff815c568f>] usleep_range+0x4f/0x70
  [<ffffffffa0667218>] rtl_rfreg_delay+0x38/0x50 [rtlwifi]
  [<ffffffffa06dd0e7>] rtl92c_phy_config_rf_with_headerfile+0xc7/0xe0 [rtl8192ce]

To fix this bug, three of the changes from delay to sleep are reverted.
Unfortunately, one of the changes involves a delay of 50 msec. The calling
code will be modified so that this long delay can be avoided; however,
this change is being pushed now to fix the problem in kernel 4.6.0.

Fixes: 49f86ec21c ("rtlwifi: Change long delays to sleeps")
Reported-by: James Feeney <james@nurealm.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: James Feeney <james@nurealm.net>
Cc: Stable <stable@vger.kernel.org> [4.6+]
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2016-05-27 20:53:39 +03:00
..
admtek cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
ath wireless-drivers patches for 4.7 2016-05-20 19:40:35 -04:00
atmel atmel: potential underflow in atmel_set_freq() 2016-05-11 22:02:20 +03:00
broadcom brcmfmac: add fallback for devices that do not report per-chain values 2016-05-27 20:52:29 +03:00
cisco wireless-drivers patches for 4.7 2016-05-20 19:40:35 -04:00
intel driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
intersil treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
marvell wireless-drivers patches for 4.7 2016-05-20 19:40:35 -04:00
mediatek cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
ralink rt2800lib: enable MFP if hw crypt is disabled 2016-04-26 12:30:43 +03:00
realtek rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c 2016-05-27 20:53:39 +03:00
rsi cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
st cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
ti wlcore/wl12xx: Fix fw logger over sdio 2016-05-11 21:26:15 +03:00
zydas treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
Kconfig mac80211_hwsim: move Kconfig entry for sorting alphabetically 2015-11-18 15:23:36 +02:00
mac80211_hwsim.c drivers/wireless: use nla_put_u64_64bit() 2016-04-26 12:00:48 -04:00
mac80211_hwsim.h drivers/wireless: use nla_put_u64_64bit() 2016-04-26 12:00:48 -04:00
Makefile ath: unify Kconfig with other vendors 2015-11-18 14:28:31 +02:00
ray_cs.c ray_cs: Change 1 to true for bool type variable. 2015-06-02 23:30:14 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
wl3501_cs.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wl3501.h