hostap_cs causes kernel oops on 2.6.26 with senao nl-2511cd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Tim Gardner | ||
Jaunty |
Fix Released
|
Medium
|
Colin Ian King | ||
Karmic |
Fix Released
|
Medium
|
Tim Gardner | ||
linux-ubuntu-modules-2.6.24 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Jaunty |
Invalid
|
Undecided
|
Unassigned | ||
Karmic |
Invalid
|
Undecided
|
Unassigned |
Bug Description
SRU Justification:
Impact: Booting with the Senao NL-2511CD (PRISM II compatible) wireless card can generate a kernel oops in the hostap interrupt handler.
Spurious shared interrupts or early probing interrupts can cause the hostap interrupt handler to oops before the driver has fully configured the IO base port addresses. In some cases the oops can be because the hardware shares an interrupt line, on other cases it is due to a race condition between probing for the hardware and configuring the IO base port. The latter occurs because the probing is required to determine the hardware port address which is only determined when the probe can interrupt the hardware (catch 22).
Fix: This patch catches this pre-configured condition in the interrupt handler to avoid the oops.
Testcase: Without the patch a kernel oops occurs on boot when the card is installed. With the patch, there is no kernel oops and the wireless card works.
---
Binary package hint: linux-image-
Hello,
I have a Senao NL-2511CD Plus Ext2 on a Dell Inspiron 4150 notebook running Ubuntu Intrepid (development release) with the latest kernel 2.6.26-5. I have observed this behavior in kernel releases since Gutsy (when I started using linux on this laptop with this card).
Whenever the card is inserted on boot, a kernel panic occurs on the hostap_cs drivers (see screenshot).
If I insert the card once all the modules are loaded, it detects, works and acts normally with no errors in dmesg.
I am aware of the existing bug where the orinoco drivers are loaded along with the hostap drivers when detecting these cards, and I have blacklisted the orinoco drivers. Regardless, this happens with or without the orinoco drivers blacklisted.
Here is the output from hostap_diag:
NICID: id=0x800c v1.0.0 (PRISM II (2.5) PCMCIA (SST parallel flash))
PRIID: id=0x0015 v1.1.1
STAID: id=0x001f v1.8.2 (station firmware)
I had the stock firmware on the card and flashed it to see if it made a difference, and it doesn't.
What REALLY threw me for a loop was when I was trying to get console output via serial to post the debugging output of this crash (booting with linux option console=
Related branches
Changed in linux: | |
assignee: | nobody → ubuntu-kernel-team |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in linux: | |
assignee: | ubuntu-kernel-team → colin-king |
status: | Triaged → In Progress |
Changed in linux (Ubuntu): | |
status: | New → Incomplete |
description: | updated |
Changed in linux-ubuntu-modules-2.6.24 (Ubuntu): | |
status: | New → Invalid |
Changed in linux-ubuntu-modules-2.6.24 (Ubuntu Jaunty): | |
status: | New → Invalid |
Changed in linux (Ubuntu Jaunty): | |
assignee: | nobody → Colin King (colin-king) |
importance: | Undecided → Medium |
status: | New → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
Changed in linux (Ubuntu Karmic): | |
assignee: | Colin King (colin-king) → Tim Gardner (timg-tpi) |
status: | In Progress → Fix Committed |
Hi,
Can you boot the machine and then insert the card and attach the following details:
dmesg > dmesg.log
cat /proc/interrupts > interrupts.log
Meanwhile, I will see if I can get some debug put into a kernel image for you to test.
Colin