linux/drivers/net/wireless/realtek/rtlwifi
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
..
btcoexist rtlwifi: btcoexist: Convert BTC_PRINTK to btc_<foo>_dbg 2016-04-06 21:37:16 +03:00
rtl8188ee rtlwifi: rtl8188ee: Fix Smatch warnings 2016-04-06 21:36:21 +03:00
rtl8192c rtlwifi: rtl8192c-common: Fix Smatch warning 2016-04-06 21:36:22 +03:00
rtl8192ce rtlwifi: rtl8192ce: Fix handling of module parameters 2015-12-30 17:06:36 +02:00
rtl8192cu rtlwifi: rtl8192cu: Add missing parameter setup 2015-12-30 17:06:38 +02:00
rtl8192de rtlwifi: rtl8192de: Convert driver to use common 5G channels 2016-02-25 12:01:36 +02:00
rtl8192ee rtlwifi: rtl8192ee: Fix Smatch warning 2016-04-06 21:36:23 +03:00
rtl8192se rtlwifi: rtl818x: silence uninitialized variable warning 2016-05-11 21:51:45 +03:00
rtl8723ae rtlwifi: rtl8723ae: Fix Smatch warning 2016-04-06 21:36:25 +03:00
rtl8723be rtlwifi: rtl8723be: Fix Smatch warnings 2016-04-06 21:36:27 +03:00
rtl8723com rtlwifi: Delete unnecessary checks before the function call "kfree_skb" 2015-11-26 14:55:27 +02:00
rtl8821ae Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-05-17 17:05:30 -07:00
Kconfig
Makefile
base.c rtlwifi: Fix logic error in enter/exit power-save mode 2016-05-11 21:44:07 +03:00
base.h
cam.c
cam.h
core.c rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c 2016-05-27 20:53:39 +03:00
core.h
debug.c
debug.h
efuse.c
efuse.h
pci.c rtlwifi: pci: use dev_kfree_skb_irq instead of kfree_skb in rtl_pci_reset_trx_ring 2016-05-11 21:59:04 +03:00
pci.h rtlwifi: rtl818x: constify rtl_intf_ops structures 2016-05-11 21:41:55 +03:00
ps.c rtlwifi: Remove double check for cnt_after_linked 2016-05-11 21:55:31 +03:00
ps.h
pwrseqcmd.h
rc.c rtlwifi: Fix size of wireless mode variable 2016-03-08 12:31:17 +02:00
rc.h
regd.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
regd.h
stats.c
stats.h
usb.c rtlwifi: rtl818x: constify rtl_intf_ops structures 2016-05-11 21:41:55 +03:00
usb.h
wifi.h rtlwifi: rtl818x: constify rtl_intf_ops structures 2016-05-11 21:41:55 +03:00