diff options
Diffstat (limited to '0001-linux-4.6-rtlwifi-fix-atomic.patch')
-rw-r--r-- | 0001-linux-4.6-rtlwifi-fix-atomic.patch | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/0001-linux-4.6-rtlwifi-fix-atomic.patch b/0001-linux-4.6-rtlwifi-fix-atomic.patch deleted file mode 100644 index e514ec85f906..000000000000 --- a/0001-linux-4.6-rtlwifi-fix-atomic.patch +++ /dev/null @@ -1,70 +0,0 @@ -From de26859dcf363d520cc44e59f6dcaf20ebe0aadf Mon Sep 17 00:00:00 2001 -From: Larry Finger <Larry.Finger@lwfinger.net> -Date: Sat, 21 May 2016 11:50:35 -0500 -Subject: rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c01 - -Commit 49f86ec21c01 ("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: 49f86ec21c01 ("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> ---- - drivers/net/wireless/realtek/rtlwifi/core.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c -index 0f48048..3a0faa8 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/core.c -+++ b/drivers/net/wireless/realtek/rtlwifi/core.c -@@ -54,7 +54,7 @@ EXPORT_SYMBOL(channel5g_80m); - void rtl_addr_delay(u32 addr) - { - if (addr == 0xfe) -- msleep(50); -+ mdelay(50); - else if (addr == 0xfd) - msleep(5); - else if (addr == 0xfc) -@@ -75,7 +75,7 @@ void rtl_rfreg_delay(struct ieee80211_hw *hw, enum radio_path rfpath, u32 addr, - rtl_addr_delay(addr); - } else { - rtl_set_rfreg(hw, rfpath, addr, mask, data); -- usleep_range(1, 2); -+ udelay(1); - } - } - EXPORT_SYMBOL(rtl_rfreg_delay); -@@ -86,7 +86,7 @@ void rtl_bb_delay(struct ieee80211_hw *hw, u32 addr, u32 data) - rtl_addr_delay(addr); - } else { - rtl_set_bbreg(hw, addr, MASKDWORD, data); -- usleep_range(1, 2); -+ udelay(1); - } - } - EXPORT_SYMBOL(rtl_bb_delay); --- -cgit v0.12 - |