Search Linux Wireless

Re: "kernel: BUG: scheduling while atomic:" errors with linux kernel 4.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/19/2016 05:56 PM, Bob Copeland wrote:
+linux-wireless

On Thu, May 19, 2016 at 03:11:16PM -0600, James Feeney wrote:
Arch linux 4.6-1
wpa_supplicant 1:2.5-3
Toshiba Satellite, circa 2011, with a Pentium Dual-Core Mobile
Error is not seen on other machines.

kernel: BUG: scheduling while atomic: wpa_supplicant/375/0x00000002

This is a kernel bug, not a wpa_supplicant bug.  The linux-wireless mailing
list would be a more appropriate venue for this bug report.


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

[Probably due to this kernel change:

commit 49f86ec21c01b654f6ec47f2f4567f4f9ebaa26b
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date:   Mon Feb 15 16:12:07 2016 -0600

     rtlwifi: Change long delays to sleeps


...apparently this function isn't in sleepable context after all.]


@James: Please run the command "dmesg | grep rtl_rfreg_delay". Do any of the resulting lines show a value other than "+0x38" for the offset? If that is the only one, the attached patch should fix the problem.

Thanks,

Larry

diff --git a/Makefile b/Makefile
index 0f9cb36..080962b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 4
-PATCHLEVEL = 6
+PATCHLEVEL = 7
 SUBLEVEL = 0
-EXTRAVERSION =
+EXTRAVERSION = rc1
 NAME = Charred Weasel
 
 # *DOCUMENTATION*
diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
index 0f48048..2fc0e26 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -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);

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux