From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b4) Gecko/20050915 Fedora/1.5-0.5.0.beta1 Firefox/1.4 Description of problem: I have this device: Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01) a miniPCI card. With the hostap code now in the kernel, I get many debug messages such as: Sep 22 12:25:14 localhost kernel: Debug: sleeping function called from invalid context at mm/slab.c:2486 Sep 22 12:25:14 localhost kernel: in_atomic():1, irqs_disabled():0 Sep 22 12:25:14 localhost kernel: [<c0148100>] kmem_cache_alloc+0x67/0x81 Sep 22 12:25:14 localhost kernel: [<dfbaa6e6>] __prism2_translate_scan+0x359/0x757 [hostap] Sep 22 12:25:14 localhost kernel: [<dfbaad50>] prism2_ioctl_giwscan+0x26c/0x2e0 [hostap] Sep 22 12:25:14 localhost kernel: [<c0147d29>] cache_alloc_debugcheck_after+0x2e/0x11a Sep 22 12:25:14 localhost kernel: [<c02c9828>] wireless_process_ioctl+0x59f/0x6d5 Sep 22 12:25:14 localhost kernel: [<c031b43c>] schedule+0x31c/0x5ba Sep 22 12:25:14 localhost kernel: [<dfbaaae4>] prism2_ioctl_giwscan+0x0/0x2e0 [hostap] Sep 22 12:25:14 localhost kernel: [<c02bfdb5>] dev_ioctl+0x253/0x29a Sep 22 12:25:14 localhost kernel: [<c02b55e8>] sock_ioctl+0x0/0x25a Sep 22 12:25:14 localhost kernel: [<c016e429>] do_ioctl+0x19/0x55 Sep 22 12:25:14 localhost kernel: [<c016e557>] vfs_ioctl+0x50/0x1aa Sep 22 12:25:14 localhost kernel: [<c010666f>] do_syscall_trace+0x1e5/0x1fb Sep 22 12:25:14 localhost kernel: [<c016e70e>] sys_ioctl+0x5d/0x6b Sep 22 12:25:14 localhost kernel: [<c0102ecd>] syscall_call+0x7/0xb filling up the /var/log/messages file, and when I execute dmesg: wifi0: LinkStatus=4 (Access point out of range) wifi0: LinkStatus: BSSID=00:40:05:25:0e:71 wifi0: LinkStatus=5 (Access point in range) wifi0: LinkStatus: BSSID=00:40:05:25:0e:71 Debug: sleeping function called from invalid context at mm/slab.c:2486 in_atomic():1, irqs_disabled():0 [<c0148100>] kmem_cache_alloc+0x67/0x81 [<dfbaa6e6>] __prism2_translate_scan+0x359/0x757 [hostap] [<dfbaad50>] prism2_ioctl_giwscan+0x26c/0x2e0 [hostap] [<c0147d29>] cache_alloc_debugcheck_after+0x2e/0x11a [<c02c9828>] wireless_process_ioctl+0x59f/0x6d5 [<c031b43c>] schedule+0x31c/0x5ba [<dfbaaae4>] prism2_ioctl_giwscan+0x0/0x2e0 [hostap] [<c02bfdb5>] dev_ioctl+0x253/0x29a [<c02b55e8>] sock_ioctl+0x0/0x25a [<c016e429>] do_ioctl+0x19/0x55 [<c016e557>] vfs_ioctl+0x50/0x1aa [<c010666f>] do_syscall_trace+0x1e5/0x1fb [<c016e70e>] sys_ioctl+0x5d/0x6b [<c0102ecd>] syscall_call+0x7/0xb Version-Release number of selected component (if applicable): kernel-2.6.13-1.1567_FC5 How reproducible: Always Steps to Reproduce: 1. have a prism based wifi card installed 2. use the latest rawhide kernel 3. boot 4. read debug messages Actual Results: many, many messages. The hostap service works just fine, just too many messages. Expected Results: no debug messages Additional info:
__prism2_translate_scan calls kmalloc with GFP_KERNEL. prism2_translate_scan calls __prism2_translate_scan. drivers/net/wireless/hostap/hostap_ioctl.c
prism2_translate_scan calls __prism2_translate_scan with spin_lock_bh(&local->lock) I meant, of course.
Created attachment 121784 [details] jwltest-hostap-translate-scan-buf.patch
Test kernels w/ the above patch are available here: http://people.redhat.com/linville/kernels/fc4/ Please give them a try and post the results here...thanks!
I think you can disregard the last comment. The allocation has been changed to use GFP_ATOMIC in later kernels. Please use an current FC4 kernel (or a Fedora-netdev kernel!) and this issue should disappear.