rt2x00 oopses in 2.6.26-4, regression against 2.6.24-3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Colin Ian King |
Bug Description
I have an Edimax EW-7318UG wlan usb stick which works fine with linux-2.6.26-3 and older.
Under 2.6.26-4 the kernel oopses after plugging in the stick
uname -r: 2.6.26-4-generic
Oops log:
[ 1144.232094] usb 3-5: new high speed USB device using ehci_hcd and address 3
[ 1144.503721] usb 3-5: configuration #1 chosen from 1 choice
[ 1145.184628] phy0 -> rt2500usb_
[ 1145.184646] phy0 -> rt2x00lib_
[ 1145.184690] BUG: unable to handle kernel NULL pointer dereference at 00000010
[ 1145.184693] IP: [<c013cd9a>] flush_workqueue
[ 1145.184703] *pde = 00000000
[ 1145.184709] Oops: 0000 [#1] SMP
[ 1145.184713] Modules linked in: rt2500usb(+) rt2x00usb rt2x00lib rfkill led_class input_polldev mac80211 cfg80211 ipv6 binfmt_misc rfcomm l2cap bluetooth ppdev cpufreq_
[ 1145.184771]
[ 1145.184775] Pid: 5582, comm: modprobe Tainted: P (2.6.26-4-generic #1)
[ 1145.184779] EIP: 0060:[<c013cd9a>] EFLAGS: 00010246 CPU: 0
[ 1145.184783] EIP is at flush_workqueue
[ 1145.184786] EAX: 00000000 EBX: d5ebd0a0 ECX: 00000096 EDX: 00000000
[ 1145.184789] ESI: c047b4f8 EDI: 00000000 EBP: de6fca00 ESP: dec21e44
[ 1145.184791] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 1145.184795] Process modprobe (pid: 5582, ti=dec20000 task=df883400 task.ti=dec20000)
[ 1145.184798] Stack: d5ebd0a0 d5ebd0a0 ffffffed e0cbaf48 00000000 e0cbb056 e0cbd7d0 d5ebc0f0
[ 1145.184804] e0cbd620 e0cbd744 00000000 d5ebd0a0 d5ebc1a0 e0c91307 dee34360 e0cc96ec
[ 1145.184810] c0361a38 d2a01c00 d2a01c00 00000000 de6fca00 e0cc96ec e0cc94a0 e08a6151
[ 1145.184816] Call Trace:
[ 1145.184821] [<e0cbaf48>] rt2x00lib_
[ 1145.184838] [<e0cbb056>] rt2x00lib_
[ 1145.184850] [<e0c91307>] rt2x00usb_
[ 1145.184860] [<c0361a38>] mutex_lock+0x8/0x20
[ 1145.184871] [<e08a6151>] usb_probe_
[ 1145.184917] [<c029ac60>] really_
[ 1145.184926] [<e08a5441>] usb_match_
[ 1145.184943] [<e08a5680>] usb_device_
[ 1145.184961] [<c029ae51>] __driver_
[ 1145.184967] [<c029a5c4>] bus_for_
[ 1145.184977] [<c029ab16>] driver_
[ 1145.184981] [<c029ade0>] __driver_
[ 1145.184985] [<c0299f57>] bus_add_
[ 1145.184996] [<c029afec>] driver_
[ 1145.185007] [<e08a63f1>] usb_register_
[ 1145.185027] [<c0152ab8>] sys_init_
[ 1145.185037] [<c0103f73>] sysenter_
[ 1145.185055] =======
[ 1145.185057] Code: 90 8d 50 10 e9 78 fe ff ff 90 8d b4 26 00 00 00 00 31 d2 e9 69 fe ff ff 89 f6 8d bc 27 00 00 00 00 57 89 c7 56 be f8 b4 47 c0 53 <8b> 58 10 b8 f0 b4 47 c0 85 db 0f 45 f0 e8 54 46 22 00 89 f0 e8
[ 1145.185083] EIP: [<c013cd9a>] flush_workqueue
[ 1145.185090] ---[ end trace 591fddf59e09f337 ]---
with linux-2.
[ 114.997119] usb 3-5: new high speed USB device using ehci_hcd and address 2
[ 115.268033] usb 3-5: configuration #1 chosen from 1 choice
[ 115.617564] phy0 -> rt2500usb_
[ 115.617579] phy0 -> rt2x00lib_
[ 115.617661] usbcore: registered new interface driver rt2500usb
[ 115.922985] phy1: Selected rate control algorithm 'pid'
[ 116.030008] Registered led device: rt73usb-phy1:radio
[ 116.030046] Registered led device: rt73usb-phy1:assoc
[ 116.030069] Registered led device: rt73usb-
[ 116.030975] usbcore: registered new interface driver rt73usb
[ 116.084534] firmware: requesting rt73.bin
[ 116.256835] ADDRCONF(
lsusb:
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 046d:c012 Logitech, Inc. Mouseman Dual Optical
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 148f:2573 Ralink Technology, Corp. RT2501USB Wireless Adapter
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Any additional informations needed?
Changed in linux: | |
assignee: | nobody → ubuntu-kernel-team |
importance: | Undecided → High |
status: | New → Triaged |
Changed in linux: | |
assignee: | ubuntu-kernel-team → colin-king |
status: | Triaged → In Progress |
description: | updated |
Changed in linux: | |
status: | In Progress → Fix Committed |
Hi,
I've examined the OOPS and it occurs when the driver attempts to create a workqueue and this fails - causing the code to free the workqueue, which causes the OOPS.
I was wondering if this problem occurs every time, or was just a transient problem caused by a lack of resources for just the one instance you tried the Edimax EW-7318UG wlan usb stick. So, can you repeat the insertion of usb stick and let me know if the same OOPS occurs and is always repeatable.
Thanks. Colin.