Bug 10 - USB HCs may have improper interrupt configuration with ACPI in IOAPIC mode
Summary: USB HCs may have improper interrupt configuration with ACPI in IOAPIC mode
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts (show other bugs)
Hardware: IA-32 Linux
: P2 high
Assignee: Len Brown
URL:
Keywords:
: 70 955 969 (view as bug list)
Depends on: 70
Blocks: 491 845
  Show dependency tree
 
Reported: 2002-11-14 08:56 UTC by Nicolas Mailhot
Modified: 2004-03-03 14:40 UTC (History)
12 users (show)

See Also:
Kernel Version: 2.5.46-bk2 to 2.6.0-test4-bk2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
lspci -v for GA-7VAX (3.41 KB, text/plain)
2003-02-28 00:33 UTC, Nicolas Mailhot
Details
cat /proc/acpi/dst for GA-7VAX (14.48 KB, text/plain)
2003-02-28 01:35 UTC, Nicolas Mailhot
Details
Kernel config for GA-7VAX (23.88 KB, text/plain)
2003-02-28 01:37 UTC, Nicolas Mailhot
Details
dmesg for GA-7VAX (12.75 KB, text/plain)
2003-02-28 01:38 UTC, Nicolas Mailhot
Details
mptable output for GA-7VAX (17.71 KB, text/plain)
2003-03-06 15:15 UTC, Nicolas Mailhot
Details
Dmesg from kernel boot (10.43 KB, text/plain)
2003-03-08 11:33 UTC, Stef van der Made
Details
Dmesg from kernel boot (10.43 KB, text/plain)
2003-03-08 11:34 UTC, Stef van der Made
Details
Abit KD7-RAID (KT400) dmesg 2.5.69-bk15 (13.84 KB, text/plain)
2003-05-21 15:26 UTC, Chris Cheney
Details
dmesg for GA-7VAX (2.5.69-bk17 + acpi debug) (13.51 KB, text/plain)
2003-05-24 14:58 UTC, Nicolas Mailhot
Details
Kernel config for GA-7VAX (24.29 KB, text/plain)
2003-07-13 04:42 UTC, Nicolas Mailhot
Details
dmesg for GA-7VAX (2.5.75-bk1 + acpi debug) (17.35 KB, text/plain)
2003-07-13 04:43 UTC, Nicolas Mailhot
Details
dmesg for GA-7VAX (2.6.0-test2-mm1) (15.06 KB, text/plain)
2003-07-29 14:23 UTC, Nicolas Mailhot
Details
interrupts for 2.6.0-test2-mm1 on GA-7VAX (334 bytes, text/plain)
2003-07-29 14:24 UTC, Nicolas Mailhot
Details
dmesg on Abit AT7-MAX 2.6.0-test4 acpi+local apic+io-apic (apic disabled in bios) (11.42 KB, text/plain)
2003-08-25 11:31 UTC, Bastiaan Van Eeckhoudt
Details
dmesg on Abit AT7-MAX 2.6.0-test4 acpi+local apic+io-apic (apic enabled) (13.94 KB, text/plain)
2003-08-25 11:58 UTC, Bastiaan Van Eeckhoudt
Details
dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) (15.08 KB, text/plain)
2003-08-25 12:28 UTC, Nicolas Mailhot
Details
dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + code backout (15.08 KB, text/plain)
2003-08-29 10:30 UTC, Nicolas Mailhot
Details
full dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + code backout (18.56 KB, text/plain)
2003-08-29 12:29 UTC, Nicolas Mailhot
Details
Initial fix for GA-7VAX (677 bytes, patch)
2003-08-30 02:04 UTC, Nicolas Mailhot
Details | Diff
full dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + initial fix (17.07 KB, text/plain)
2003-08-30 02:05 UTC, Nicolas Mailhot
Details
Interrupts for fixed 2.6.0-test4-bk2 + initial fix (452 bytes, text/plain)
2003-08-30 02:07 UTC, Nicolas Mailhot
Details
full dmesg for GA-7VAX (2.6.0-test4-bk8 + acpi patches (16.27 KB, text/plain)
2003-09-06 11:10 UTC, Nicolas Mailhot
Details
Interrupts for fixed 2.6.0-test4-bk8 + acpi patches (452 bytes, text/plain)
2003-09-06 11:11 UTC, Nicolas Mailhot
Details

Description Nicolas Mailhot 2002-11-14 08:56:15 UTC
Exact Kernel version: 2.5.46-bk2

Distribution: Red Hat Rawhide

Hardware Environment:  Gigabyte GA -7VAX, latest bios

        I'm trying to move from an pure usb hid + acpi + io-apic UP 2.4 system
to a 2.5 one. Hardware is via kt400 based. The problem is :

      * 2.5 io-apic kills usb input 

device not accepting address", see
http://linux-usb.sourceforge.net/FAQ.html#ts6

      * without io-apic build-in  rt8139too do not work with acpi :

nov  5 20:50:30 rousalka ifup:
nov  5 20:50:30 rousalka ifup: D
Comment 1 Nicolas Mailhot 2002-11-14 10:43:45 UTC
Reassign to Jeff Garzik since there is a network part and he declared himself
willing on linux-kernel (must have been out of his mind:)
Comment 2 Jeff Garzik 2002-11-14 12:12:43 UTC
Unfortunately while this has a networking component, it is only related as a
symptom of another problem.

You might try booting "noapic" to see if that fixes your problems.  On
uniprocessor boxes, IO-APIC is often a bad idea because the BIOS-provided MP
tables which Linux uses are faulty, providing bad information to Linux which in
turn uses that information and sets up interrupts incorrectly.

In any case, the people who need to fix this are the ACPI guys, and any IO-APIC
hackers that exist...
Comment 3 Nicolas Mailhot 2002-11-14 12:30:33 UTC
Well, the problem is not io-apic + network, but network + acpi - io-apic = broken

So the rt8139too works with io-apic, but not without when acpi in build-in
Comment 4 Greg Kroah-Hartman 2002-11-16 09:30:46 UTC
*** Bug 70 has been marked as a duplicate of this bug. ***
Comment 5 Andy Grover 2002-11-21 11:23:42 UTC
what I need is info preferably in the form of:

working /proc/interrupts w/o acpi
...

broken /proc/interrupts w/acpi - also, which devs don't work?
...

*with everything else the same*

thanks.
Comment 6 Nicolas Mailhot 2002-11-21 16:35:30 UTC
Well, that's the list at the begining of the bug.

You can ignore all the uhci/ehci differences -- they worked and broke together,
not enabling one of them didn't seem to change inteupt routing at all. (and I
think I never got ehci to work on 2.4 due to the state of 2.4 ehci driver).

The rule (for 2.5) basicaly is :
- with acpi and local io-apic usb (uhci and ehci) do not work
- with acpi but without local apic (be it only local apic or local-apic +
io-apic) netwotk does not work.

On 2.4 acpi+io-apic+uhci+network works (though I don't think I got the power
button to do anything unlike in 2.5).

The funny thing is the interrupt routing seems to be the same, but both the usb
and the network maintener told me the problem was in acpi.

I can re-do a test run, I don't expect the results to be any different. All
tested 2.5 kernels were generated using pretty much the same monolithic config,
only enabling/disabling apics and acpi (and uhci/ehci, but this didn't change
anything).

Here are some other results (I changed my rc scripts to copy /proc/interrupts at
the end of rc.local, so I have a stash of these) :

2.4.20-rc2-ac1 monolithic, all works

           CPU0
  0:       3630    IO-APIC-edge  timer
  1:          4    IO-APIC-edge  keyboard
  2:          0          XT-PIC  cascade
  8:          1    IO-APIC-edge  rtc
  9:          0    IO-APIC-edge  acpi
 14:         55    IO-APIC-edge  ide0
 15:       2881    IO-APIC-edge  ide1
 18:         44   IO-APIC-level  cs46xx, eth0
 21:        325   IO-APIC-level  usb-uhci, usb-uhci, usb-uhci
NMI:          0
LOC:       3580
ERR:          0
MIS:          0

2.5.47-ac6 monolithic, no acpi, no local apic, all works

           CPU0
  0:      34203          XT-PIC  timer
  2:          0          XT-PIC  cascade
  8:          1          XT-PIC  rtc
 11:         91          XT-PIC  CS46XX, eth0
 12:        343          XT-PIC  ehci-hcd
 14:         46          XT-PIC  ide0
 15:       2770          XT-PIC  ide1
NMI:          0
ERR:          0

(I'm sorry I didn't build any broken 2.5 acpi kernel in a while, I can do it
agin if you want. With usb input that breaks every few days having acpi to do
software shutdonw via the power button would be great)
Comment 7 Nicolas Mailhot 2002-11-21 16:43:40 UTC
I'll do a apcpi but no local apic kernel tomorrow, seems I've forgotten to copy
this config's interrupts in bugzilla:(
Comment 8 Andy Grover 2002-11-21 17:00:29 UTC
OK so there are two problems. bug 71 is about the network scenario. This bug 
is just about ioapic + acpi + usb. Modifying summary accordingly.

Please confirm that in every case where USB doesn't work, it is configured as 
IO-APIC-edge.

Thanks -- Andy
Comment 9 Nicolas Mailhot 2002-11-22 10:41:56 UTC
2.5.48-bk4 acpi ioapic

usb broken
network works

           CPU0
  0:      38398    IO-APIC-edge  timer
  2:          0          XT-PIC  cascade
  8:          1    IO-APIC-edge  rtc
  9:          0   IO-APIC-level  acpi
 12:          0    IO-APIC-edge  ehci-hcd
 14:         47    IO-APIC-edge  ide0
 15:       2873    IO-APIC-edge  ide1
 18:         79   IO-APIC-level  CS46XX, eth0
NMI:          0
LOC:      38321
ERR:          0
MIS:          0
Comment 10 Nicolas Mailhot 2002-11-22 10:55:33 UTC
Corresponding dmesg :

Nov 22 19:37:01 rousalka kernel: Linux version 2.5.48bk4-acpi-ioapic
(root@rousalka) (gcc version 3.2 20021115 (Red Hat Linux 8.0 3.2-14)) #1 Fri Nov
22 19:24:26 CET 2002
Nov 22 19:37:01 rousalka kernel: Video mode to be used for restore is ffff
Nov 22 19:37:01 rousalka kernel: BIOS-provided physical RAM map:
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 0000000000000000 - 00000000000a0000
(usable)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 00000000fec00000 - 00000000fec01000
(reserved)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 00000000fee00000 - 00000000fee01000
(reserved)
Nov 22 19:37:01 rousalka kernel:  BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Nov 22 19:37:01 rousalka kernel: 511MB LOWMEM available.
Nov 22 19:37:01 rousalka kernel: found SMP MP-table at 000f4b50
Nov 22 19:37:01 rousalka kernel: hm, page 000f4000 reserved twice.
Nov 22 19:37:01 rousalka kernel: hm, page 000f5000 reserved twice.
Nov 22 19:37:01 rousalka kernel: hm, page 000f0000 reserved twice.
Nov 22 19:37:01 rousalka kernel: hm, page 000f1000 reserved twice.
Nov 22 19:37:01 rousalka kernel: On node 0 totalpages: 131056
Nov 22 19:37:01 rousalka kernel:   DMA zone: 4096 pages, LIFO batch:1
Nov 22 19:37:01 rousalka kernel:   Normal zone: 126960 pages, LIFO batch:16
Nov 22 19:37:01 rousalka kernel:   HighMem zone: 0 pages, LIFO batch:1
Nov 22 19:37:01 rousalka kernel: ACPI: RSDP (v000 GBT                        ) @
0x000f64b0
Nov 22 19:37:01 rousalka kernel: ACPI: RSDT (v001 GBT    AWRDACPI 16944.11825) @
0x1fff3000
Nov 22 19:37:01 rousalka kernel: ACPI: FADT (v001 GBT    AWRDACPI 16944.11825) @
0x1fff3040
Nov 22 19:37:01 rousalka kernel: ACPI: MADT (v001 GBT    AWRDACPI 16944.11825) @
0x1fff6ac0
Nov 22 19:37:02 rousalka kernel: ACPI: DSDT (v001 GBT    AWRDACPI 00000.04096) @
0x00000000
Nov 22 19:37:02 rousalka kernel: ACPI: BIOS passes blacklist
Nov 22 19:37:02 rousalka kernel: ACPI: Local APIC address 0xfee00000
Nov 22 19:37:02 rousalka kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Nov 22 19:37:02 rousalka kernel: Processor #0 6:6 APIC version 16
Nov 22 19:37:02 rousalka kernel: ACPI: LAPIC_NMI (acpi_id[0x00] polarity[0x0]
trigger[0x0] lint[0x1])
Nov 22 19:37:02 rousalka kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000]
global_irq_base[0x0])
Nov 22 19:37:02 rousalka kernel: IOAPIC[0]: Assigned apic_id 2
Nov 22 19:37:02 rousalka kernel: IOAPIC[0]: apic_id 2, version 3, address
0xfec00000, IRQ 0-23
Nov 22 19:37:02 rousalka kernel: ACPI: INT_SRC_OVR (bus[0] irq[0x0]
global_irq[0x2] polarity[0x0] trigger[0x0])
Nov 22 19:37:02 rousalka kernel: ACPI: INT_SRC_OVR (bus[0] irq[0x9]
global_irq[0x9] polarity[0x3] trigger[0x3])
Nov 22 19:37:02 rousalka kernel: Using ACPI (MADT) for SMP configuration information
Nov 22 19:37:02 rousalka kernel: Building zonelist for node : 0
Nov 22 19:37:02 rousalka kernel: Kernel command line: ro root=/dev/hdc1
video=matrox:vesa:0x11B,fh:96,fv:160
Nov 22 19:37:02 rousalka kernel: Initializing CPU#0
Nov 22 19:37:02 rousalka kernel: Detected 1741.289 MHz processor.
Nov 22 19:37:02 rousalka kernel: Console: colour dummy device 80x25
Nov 22 19:37:02 rousalka kernel: Calibrating delay loop... 3432.44 BogoMIPS
Nov 22 19:37:02 rousalka kernel: Memory: 514384k/524224k available (2223k kernel
code, 9096k reserved, 1231k data, 144k init, 0k highmem)
Nov 22 19:37:02 rousalka kernel: Security Scaffold v1.0.0 initialized
Nov 22 19:37:02 rousalka kernel: Dentry cache hash table entries: 65536 (order:
7, 524288 bytes)
Nov 22 19:37:02 rousalka kernel: Inode-cache hash table entries: 32768 (order:
6, 262144 bytes)
Nov 22 19:37:02 rousalka kernel: Mount-cache hash table entries: 512 (order: 0,
4096 bytes)
Nov 22 19:37:02 rousalka kernel: -> /dev
Nov 22 19:37:02 rousalka kernel: -> /dev/console
Nov 22 19:37:02 rousalka kernel: -> /root
Nov 22 19:37:02 rousalka kernel: CPU: L1 I Cache: 64K (64 bytes/line), D cache
64K (64 bytes/line)
Nov 22 19:37:02 rousalka kernel: CPU: L2 Cache: 256K (64 bytes/line)
Nov 22 19:37:02 rousalka kernel: Intel machine check architecture supported.
Nov 22 19:37:02 rousalka kernel: Intel machine check reporting enabled on CPU#0.
Nov 22 19:37:02 rousalka kernel: Machine check exception polling timer started.
Nov 22 19:37:02 rousalka kernel: CPU: AMD Athlon(tm) XP 2100+ stepping 02
Nov 22 19:37:02 rousalka kernel: Enabling fast FPU save and restore... done.
Nov 22 19:37:02 rousalka kernel: Enabling unmasked SIMD FPU exception support...
done.
Nov 22 19:37:02 rousalka kernel: Checking 'hlt' instruction... OK.
Nov 22 19:37:02 rousalka kernel: POSIX conformance testing by UNIFIX
Nov 22 19:37:02 rousalka kernel: enabled ExtINT on CPU#0
Nov 22 19:37:02 rousalka kernel: ESR value before enabling vector: 00000000
Nov 22 19:37:02 rousalka kernel: ESR value after enabling vector: 00000000
Nov 22 19:37:02 rousalka kernel: ENABLING IO-APIC IRQs
Nov 22 19:37:02 rousalka kernel: ..TIMER: vector=0x31 pin1=2 pin2=0
Nov 22 19:37:02 rousalka kernel: testing the IO APIC.......................
Nov 22 19:37:02 rousalka kernel: 
Nov 22 19:37:02 rousalka kernel:  WARNING: unexpected IO-APIC, please mail
Nov 22 19:37:02 rousalka kernel:           to linux-smp@vger.kernel.org
Nov 22 19:37:02 rousalka kernel: .................................... done.
Nov 22 19:37:02 rousalka kernel: Using local APIC timer interrupts.
Nov 22 19:37:02 rousalka kernel: calibrating APIC timer ...
Nov 22 19:37:02 rousalka kernel: ..... CPU clock speed is 1741.0226 MHz.
Nov 22 19:37:02 rousalka kernel: ..... host bus clock speed is 267.0880 MHz.
Nov 22 19:37:02 rousalka kernel: Linux NET4.0 for Linux 2.4
Nov 22 19:37:02 rousalka kernel: Based upon Swansea University Computer Society
NET3.039
Nov 22 19:37:02 rousalka kernel: Initializing RT netlink socket
Nov 22 19:37:02 rousalka kernel: mtrr: v2.0 (20020519)
Nov 22 19:37:02 rousalka kernel: PCI: Using configuration type 1
Nov 22 19:37:02 rousalka kernel: BIO: pool of 256 setup, 14Kb (56 bytes/bio)
Nov 22 19:37:02 rousalka kernel: biovec pool[0]:   1 bvecs: 256 entries (12 bytes)
Nov 22 19:37:02 rousalka kernel: biovec pool[1]:   4 bvecs: 256 entries (48 bytes)
Nov 22 19:37:02 rousalka kernel: biovec pool[2]:  16 bvecs: 256 entries (192 bytes)
Nov 22 19:37:02 rousalka kernel: biovec pool[3]:  64 bvecs: 256 entries (768 bytes)
Nov 22 19:37:02 rousalka kernel: biovec pool[4]: 128 bvecs: 256 entries (1536 bytes)
Nov 22 19:37:02 rousalka kernel: biovec pool[5]: 256 bvecs: 256 entries (3072 bytes)
Nov 22 19:37:02 rousalka kernel: ACPI: Subsystem revision 20021115
Nov 22 19:37:02 rousalka kernel:     ACPI-0508: *** Info: GPE Block0 defined as
GPE0 to GPE15
Nov 22 19:37:02 rousalka kernel: ACPI: Interpreter enabled
Nov 22 19:37:02 rousalka kernel: ACPI: Using IOAPIC for interrupt routing
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Root Bridge [PCI0] (00:00)
Nov 22 19:37:02 rousalka kernel: PCI: Probing PCI hardware (bus 00)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6
7 *10 11 12 14 15)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6
*7 10 11 12 14 15)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6
7 10 *11 12 14 15)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6
7 10 11 *12 14 15)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKA] (IRQs 20, disabled)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKB] (IRQs 21, disabled)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKC] (IRQs 22, disabled)
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKD] (IRQs 23, disabled)
nov 22 19:37:02 rousalka random: Initialisation du générateur de nombre
aléatoire : succeeded
Nov 22 19:37:02 rousalka kernel: block request queues:
Nov 22 19:37:02 rousalka kernel:  128 requests per read queue
Nov 22 19:37:02 rousalka kernel:  128 requests per write queue
Nov 22 19:37:02 rousalka kernel:  8 requests per batch
Nov 22 19:37:02 rousalka kernel:  enter congestion at 31
Nov 22 19:37:02 rousalka kernel:  exit congestion at 33
Nov 22 19:37:02 rousalka kernel: drivers/usb/core/usb.c: registered new driver usbfs
Nov 22 19:37:02 rousalka kernel: drivers/usb/core/usb.c: registered new driver hub
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKA] enabled at IRQ 0
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKB] enabled at IRQ 0
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKC] enabled at IRQ 0
Nov 22 19:37:02 rousalka kernel: ACPI: PCI Interrupt Link [ALKD] enabled at IRQ 0
Nov 22 19:37:02 rousalka kernel: ACPI: No IRQ known for interrupt pin A of
device 00:10.0 - using IRQ 10
Nov 22 19:37:02 rousalka kernel: ACPI: No IRQ known for interrupt pin B of
device 00:10.1 - using IRQ 7
Nov 22 19:37:02 rousalka kernel: ACPI: No IRQ known for interrupt pin C of
device 00:10.2 - using IRQ 11
Nov 22 19:37:02 rousalka kernel: ACPI: No IRQ known for interrupt pin D of
device 00:10.3 - using IRQ 12
Nov 22 19:37:02 rousalka kernel: ACPI: No IRQ known for interrupt pin A of
device 00:11.1 - using IRQ 255
Nov 22 19:37:02 rousalka kernel: PCI: Using ACPI for IRQ routing
Nov 22 19:37:02 rousalka kernel: PCI: if you experience problems, try using
option 'pci=noacpi' or even 'acpi=off'
Nov 22 19:37:02 rousalka kernel: IA-32 Microcode Update Driver: v1.11
<tigran@veritas.com>
Nov 22 19:37:02 rousalka kernel: Starting kswapd
Nov 22 19:37:02 rousalka kernel: aio_setup: sizeof(struct page) = 40
Nov 22 19:37:02 rousalka kernel: [c151e040] eventpoll: successfully initialized.
Nov 22 19:37:02 rousalka kernel: VFS: Disk quotas vdquot_6.5.1
Nov 22 19:37:02 rousalka kernel: Journalled Block Device driver loaded
Nov 22 19:37:02 rousalka kernel: udf: registering filesystem
Nov 22 19:37:02 rousalka kernel: Capability LSM initialized
Nov 22 19:37:02 rousalka kernel: ACPI: Power Button (FF) [PWRF]
Nov 22 19:37:02 rousalka kernel: ACPI: Processor [CPU0] (supports C1 C2, 2
throttling states)
Comment 11 Nicolas Mailhot 2002-11-22 11:15:24 UTC
2.5.48-bk4 acpi, local apic, no io-apic

usb works
network fails

           CPU0
  0:     129145          XT-PIC  timer
  2:          0          XT-PIC  cascade
  8:          1          XT-PIC  rtc
  9:          0          XT-PIC  acpi
 11:          0          XT-PIC  CS46XX
 12:        174          XT-PIC  ehci-hcd
 14:         48          XT-PIC  ide0
 15:       2895          XT-PIC  ide1
NMI:          0
LOC:     129083
ERR:        268

And the dmesg :

Linux version 2.5.48-bk4-acpi-apic (root@rousalka) (gcc version 3.2 20021115
(Red Hat Linux 8.0 3.2-14)) #1 Fri Nov 22 19:49:46 CET 2002
Video mode to be used for restore is ffff
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
 BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
 BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
511MB LOWMEM available.
found SMP MP-table at 000f4b50
hm, page 000f4000 reserved twice.
hm, page 000f5000 reserved twice.
hm, page 000f0000 reserved twice.
hm, page 000f1000 reserved twice.
On node 0 totalpages: 131056
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 126960 pages, LIFO batch:16
  HighMem zone: 0 pages, LIFO batch:1
ACPI: RSDP (v000 GBT                        ) @ 0x000f64b0
ACPI: RSDT (v001 GBT    AWRDACPI 16944.11825) @ 0x1fff3000
ACPI: FADT (v001 GBT    AWRDACPI 16944.11825) @ 0x1fff3040
ACPI: MADT (v001 GBT    AWRDACPI 16944.11825) @ 0x1fff6ac0
ACPI: DSDT (v001 GBT    AWRDACPI 00000.04096) @ 0x00000000
ACPI: BIOS passes blacklist
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 6:6 APIC version 16
ACPI: LAPIC_NMI (acpi_id[0x00] polarity[0x0] trigger[0x0] lint[0x1])
Using ACPI for processor (LAPIC) configuration information
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Processors: 1
Building zonelist for node : 0
Kernel command line: ro root=/dev/hdc1 video=matrox:vesa:0x11B,fh:96,fv:160
Initializing CPU#0
Detected 1741.269 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 3432.44 BogoMIPS
Memory: 514424k/524224k available (2216k kernel code, 9056k reserved, 1210k
data, 136k init, 0k highmem)
Security Scaffold v1.0.0 initialized
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
-> /dev
-> /dev/console
-> /root
CPU: Before vendor init, caps: 0383fbff c1c3fbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbff c1c3fbff 00000000 00000000
CPU:     After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbff c1c3fbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Machine check exception polling timer started.
CPU: AMD Athlon(tm) XP 2100+ stepping 02
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1741.0084 MHz.
..... host bus clock speed is 267.0859 MHz.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
mtrr: v2.0 (20020519)
PCI: Using configuration type 1
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec pool[0]:   1 bvecs: 256 entries (12 bytes)
biovec pool[1]:   4 bvecs: 256 entries (48 bytes)
biovec pool[2]:  16 bvecs: 256 entries (192 bytes)
biovec pool[3]:  64 bvecs: 256 entries (768 bytes)
biovec pool[4]: 128 bvecs: 256 entries (1536 bytes)
biovec pool[5]: 256 bvecs: 256 entries (3072 bytes)
ACPI: Subsystem revision 20021115
spurious 8259A interrupt: IRQ7.
    ACPI-0508: *** Info: GPE Block0 defined as GPE0 to GPE15
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 *7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 10 11 *12 14 15)
ACPI: PCI Interrupt Link [ALKA] (IRQs 20, disabled)
ACPI: PCI Interrupt Link [ALKB] (IRQs 21, disabled)
ACPI: PCI Interrupt Link [ALKC] (IRQs 22, disabled)
ACPI: PCI Interrupt Link [ALKD] (IRQs 23, disabled)
block request queues:
 128 requests per read queue
 128 requests per write queue
 8 requests per batch
 enter congestion at 31
 exit congestion at 33
drivers/usb/core/usb.c: registered new driver usbfs
drivers/usb/core/usb.c: registered new driver hub
ACPI: PCI Interrupt Link [ALKA] enabled at IRQ 0
ACPI: PCI Interrupt Link [ALKB] enabled at IRQ 0
ACPI: PCI Interrupt Link [ALKC] enabled at IRQ 0
ACPI: PCI Interrupt Link [ALKD] enabled at IRQ 0
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'
Comment 12 Nicolas Mailhot 2002-11-25 08:11:13 UTC
Is this ok or do you need more info ?
Comment 13 Nicolas Mailhot 2002-12-08 07:29:31 UTC
Afew versions and a bios upgrade later (2.4.20-ac1 & 2.5.50-bk8), still the same
problem.

No change in interrupt config, 2.4 uses IO-APIC-level for usb :

           CPU0
  0:       3641    IO-APIC-edge  timer
  1:          4    IO-APIC-edge  keyboard
  2:          0          XT-PIC  cascade
  8:          1    IO-APIC-edge  rtc
  9:          0    IO-APIC-edge  acpi
 14:         55    IO-APIC-edge  ide0
 15:       2851    IO-APIC-edge  ide1
 18:         27   IO-APIC-level  cs46xx, eth0
 21:        199   IO-APIC-level  usb-uhci, usb-uhci, usb-uhci
NMI:          0
LOC:       3592
ERR:          0
MIS:          0

and 2.5.50 uses edge :

           CPU0
  0:      34550    IO-APIC-edge  timer
  2:          0          XT-PIC  cascade
  8:          1    IO-APIC-edge  rtc
  9:          0   IO-APIC-level  acpi
 12:          0    IO-APIC-edge  ehci-hcd
 14:         47    IO-APIC-edge  ide0
 15:       2794    IO-APIC-edge  ide1
 18:         58   IO-APIC-level  CS46XX, eth0
NMI:          0
LOC:      34475
ERR:          0
MIS:          0

Where should I look to make 2.5 behave like 2.4 ? At least to make sure the real
problem is the type of io-apic used for usb ?
Comment 14 Nicolas Mailhot 2003-01-15 02:08:20 UTC
Still in 2.5.58
Comment 15 Nicolas Mailhot 2003-02-26 12:55:27 UTC
Still in 2.5.63-bk2
Comment 16 Andy Grover 2003-02-27 19:35:09 UTC
Please attach output from "lspci -v" and "cat /proc/acpi/dsdt"

You may want to wait and try the sf.net patch going up tomorrow...that has some
PCI-related stuff that --who knows-- may fix things.

Thanks -- Andy

Comment 17 Nicolas Mailhot 2003-02-28 00:33:10 UTC
Created attachment 182 [details]
lspci -v for GA-7VAX
Comment 18 Nicolas Mailhot 2003-02-28 00:34:45 UTC
For the /proc/acpi/dsdt I'll have to rebuild an acpi kernel and reboot (hope
it'll work via ssh, else you'll have to wait a bit)
Comment 19 Nicolas Mailhot 2003-02-28 01:35:24 UTC
Created attachment 183 [details]
cat /proc/acpi/dst for GA-7VAX
Comment 20 Nicolas Mailhot 2003-02-28 01:37:48 UTC
Created attachment 184 [details]
Kernel config for GA-7VAX
Comment 21 Nicolas Mailhot 2003-02-28 01:38:13 UTC
Created attachment 185 [details]
dmesg for GA-7VAX
Comment 22 Nicolas Mailhot 2003-03-06 15:15:21 UTC
Created attachment 198 [details]
mptable output for GA-7VAX

In case this can make the problem clearer
Comment 23 Andy Grover 2003-03-06 16:50:36 UTC
Marking normal priority, workaround available
Comment 24 Nicolas Mailhot 2003-03-07 13:33:28 UTC
-> high

The workaround is building a kernel without acpi. That's not a workaround,
that's removing features (wich worked in 2.4 even)
Comment 25 Stef van der Made 2003-03-08 11:30:20 UTC
For me it's a show stopper to use USB as my coputer just doesn't shutdown
properly withoutr ACPI. I'm using an MSI K7T Master. 
Comment 26 Stef van der Made 2003-03-08 11:33:45 UTC
Created attachment 214 [details]
Dmesg from kernel boot

I've also included some stack dumps that happend during the bootup process.
While still having ACPI and   
  &#9474; &#9474;<*>   EHCI HCD (USB 2.0) support			       
      &#9474; &#9474;
  &#9474; &#9474;<*>   OHCI HCD support 				       
      &#9474; &#9474;
  &#9474; &#9474;<*>   UHCI HCD (most Intel and VIA) support  

Enabled. If I turn the HCD support of there is no issue anymore, but then I
can't use the USB storage driver.
Comment 27 Stef van der Made 2003-03-08 11:34:00 UTC
Created attachment 215 [details]
Dmesg from kernel boot

I've also included some stack dumps that happend during the bootup process.
While still having ACPI and   
  &#9474; &#9474;<*>   EHCI HCD (USB 2.0) support			       
      &#9474; &#9474;
  &#9474; &#9474;<*>   OHCI HCD support 				       
      &#9474; &#9474;
  &#9474; &#9474;<*>   UHCI HCD (most Intel and VIA) support  

Enabled. If I turn the HCD support of there is no issue anymore, but then I
can't use the USB storage driver.
Comment 28 Nicolas Mailhot 2003-03-09 04:01:55 UTC
Checked 2.5.64-bk3, since it's got some new Via quirks.
Didn't change a damn thing.

CC-ing Alan on this bug in case he's got useful hints
(The network part in bug 71 certainly seems quirks-related)
Comment 29 Alan 2003-03-09 11:23:43 UTC
The quirk handler may well not cover ACPI cases. You could stick some printk in
the quirk
code and in the quirk handler itself (ie pci/quirks.c and also
arch/i386/pci/...). VIA requires 
that the INTERRUPT_LINE as well as INTERRUPT_PIN is written. For some daft
reason Linus is opposed to doing this in the general case
Comment 30 Nicolas Mailhot 2003-03-10 00:30:57 UTC
Ok, I'll try it this evening (plus there are still Via bits trickling into
Linus' tree, so who knows)
Comment 31 Nicolas Mailhot 2003-03-10 14:48:38 UTC
Well, I let the kernel print quirks, and I get this for usb :

PCI: Calling quirk c03516a0 for 00:10.3
PCI: Calling quirk c0227d80 for 00:10.3
PCI: Calling quirk c04c2580 for 00:10.3
ACPI: No IRQ known for interrupt pin D of device 00:10.3
PCI: Calling quirk c0227c40 for 00:10.3
ACPI: No IRQ known for interrupt pin D of device 00:10.3
ehci-hcd 00:10.3: VIA Technologies, In USB 2.0
ehci-hcd 00:10.3: irq 12, pci mem e082e000
ehci-hcd 00:10.3: new USB bus registered, assigned bus number 1
PCI: 00:10.3 PCI cache line size set incorrectly (32 bytes) by BIOS/FW,
correcting to 64
ehci-hcd 00:10.3: USB 2.0 enabled, EHCI 1.00, driver 2003-Jan-22


There are lots of things we don't know about it it seems, its quirked three
times, the kernel complains about cache line, acpi about pin, etc.
Comment 32 Chris Cheney 2003-03-30 23:04:05 UTC
I am still seeing what appears to be this problem on 2.5.66-bk5.  I don't 
have any usb devices hooked to my computer but both snd-via82xx and 
via-rhine do not work on 2.5.66-bk5 with ioapic and acpi enabled. On 
2.4.21-pre5-ac3 everything works fine with both ioapic and acpi enabled. Is 
anyone still working on this problem? 
Comment 33 Nicolas Mailhot 2003-03-31 12:45:00 UTC
I certainly hope so. I didn't update the bug recently but I did build a few
other kernels and they did fail as miserably as the rest
Comment 34 Daniel Stone 2003-03-31 23:29:42 UTC
I'm also seeing this with 2.4.21-pre5-ac3 (with my own semi-merged XFS), and 2.5.x, 
making the Rhine II in my KT400 unusable, unless I disable allocation of an IRQ for 
video and USB (which share IRQ 11 with the NIC), and boot with "noapic". 
Comment 35 Chris Cheney 2003-04-03 16:35:03 UTC
I tried using 2.5.66-bk9+ (riel's bk pull from earlier today) and acpi would 
not compile, so after turning it off I noticed that both my nic and sound 
work fine without acpi being enabled. So my problem is definitely related to 
the acpi being broken in current 2.5. 
Comment 36 Nicolas Mailhot 2003-04-26 15:45:21 UTC
Still in  2.5.68-bk7
Comment 37 Nicolas Mailhot 2003-04-27 13:09:48 UTC
Well, after looking a bit at the acpi code it seems we enter acpi_pci_irq_enable,
fail acpi_pci_irq_lookup, fail acpi_pci_irq_derive and leave by the 
else {
                        printk("\n");
                        return_VALUE(0);
                }
of the next if

Wich is a pitty because just two lines bellow there is an interesting block labeled
 /*
  * Make sure all (legacy) PCI IRQs are set as level-triggered.
  */

So it is known the default legacy should be level, but we leave the function
just before.
Comment 38 Nicolas Mailhot 2003-04-30 14:31:38 UTC
Still in 2.5.68-bk10
Comment 39 Greg Kroah-Hartman 2003-05-13 13:19:40 UTC
*** Bug 712 has been marked as a duplicate of this bug. ***
Comment 40 Andy Grover 2003-05-21 14:45:58 UTC
using 2.5.69, please uncomment the code block at line 331 of
drivers/acpi/pci_root.c and attach the expanded dmesg. Thanks.
Comment 41 Chris Cheney 2003-05-21 15:26:47 UTC
Created attachment 366 [details]
Abit KD7-RAID (KT400) dmesg 2.5.69-bk15
Comment 42 Chris Cheney 2003-05-21 15:28:18 UTC
See above for my dmesg output from 2.5.69-bk15. This bug is now also in the 
2.4 series it was introduced somewhere between 2.4.21-pre7-ac1 and 
2.4.21-rc2-ac2 (those being the two kernels I have installed on my system). 
Comment 43 Nicolas Mailhot 2003-05-22 00:40:51 UTC
Will retest in a few days when the KT400 system hard drive has been replaced
(died on monday, sorry)
Comment 44 Chris Cheney 2003-05-24 11:25:30 UTC
Does this thread have anything to do with this bug (it looked like it might to 
me)? 
 
http://marc.theaimsgroup.com/?l=linux-kernel&m=105276809421903&w=2 
Comment 45 Andy Grover 2003-05-24 13:45:27 UTC
I don't think so. That message was discussing ACPI yes, MPS yes, MADT no. This 
system certainly appears to have an MADT.

Jos may have a point but that's not this bug.
Comment 46 Nicolas Mailhot 2003-05-24 14:58:14 UTC
Created attachment 376 [details]
dmesg for GA-7VAX (2.5.69-bk17 + acpi debug)
Comment 47 Nicolas Mailhot 2003-05-24 15:02:12 UTC
Here is the requested dmesg - hardware is the same except for the broken disk
that was replaced by a raid1 2-disk array. Distro is still up-to-date Rawhide
(not that it changed anything)

Hope this helps pinpointing the bug.
Comment 48 Nicolas Mailhot 2003-05-24 15:04:43 UTC
I'll check bug 71 now
Comment 49 Chris Cheney 2003-05-28 00:50:25 UTC
This bug appears to be older than 2.5.46-bk2. I tried out 2.5.46 a few minutes 
ago and it seemed to do the same thing wrt setting irqs incorrectly. 
 
The only kernel I know for certain works right is the 2.4.21-pre7-ac1 I 
currently have on my machine, I believe it worked for most of the 2.4.21-pre 
series though I haven't gone through and found when it started and when it 
broke again. 
Comment 50 Nicolas Mailhot 2003-05-28 03:36:25 UTC
2.5.46-bk2 is just the first 2.5 kernel I tried on this hardware

2.4.x used to work till its ACPI was "fixed" 
Comment 51 Zwane Mwaikambo 2003-05-31 00:19:24 UTC
It appears the common factor with breaking boxes is that they dont have MADTs,
ACPI then falls back to PIC based IRQ servicing as opposed to IOAPIC, hence the
non delivery.
Comment 52 Zwane Mwaikambo 2003-05-31 00:30:00 UTC
My mistake Andy, i had looked at the dmesg for the MSI board, which didn't have
an MADT instead of the KT400
Comment 53 Nicolas Mailhot 2003-07-13 04:42:01 UTC
Created attachment 519 [details]
Kernel config for GA-7VAX
Comment 54 Nicolas Mailhot 2003-07-13 04:43:20 UTC
Created attachment 520 [details]
dmesg for GA-7VAX (2.5.75-bk1 + acpi debug)
Comment 55 Greg Kroah-Hartman 2003-07-18 10:53:10 UTC
*** Bug 955 has been marked as a duplicate of this bug. ***
Comment 56 Greg Kroah-Hartman 2003-07-22 05:59:43 UTC
*** Bug 968 has been marked as a duplicate of this bug. ***
Comment 57 Greg Kroah-Hartman 2003-07-22 06:06:22 UTC
*** Bug 969 has been marked as a duplicate of this bug. ***
Comment 58 Nicolas Mailhot 2003-07-29 14:22:11 UTC
Same with 2.6.0-test2-mm1 - thought the failure mode is really different due to
to nvidia ACPIfix patch
Comment 59 Nicolas Mailhot 2003-07-29 14:23:29 UTC
Created attachment 601 [details]
dmesg for GA-7VAX (2.6.0-test2-mm1)
Comment 60 Nicolas Mailhot 2003-07-29 14:24:46 UTC
Created attachment 602 [details]
interrupts for 2.6.0-test2-mm1 on GA-7VAX
Comment 61 Luming Yu 2003-08-24 19:18:16 UTC
Does anyone has any new status about this issue? 
So far, 2.6.0-test4 could resolve the broken network
(acpi + network + usb - io-apic). Would you pleas have it a try.
I'm not sure the another problem. (acpi + network + usb + io-apic = broken USB ) 
you could try it either. Please attach the dmesg after testing. 

Thanks,
Luming
Comment 62 Bastiaan Van Eeckhoudt 2003-08-25 11:30:18 UTC
I tested this with 2.6.0-test4, and it seems to be working ok now with acpi +
local apic + io-apic.
I have a Abit AT7-MAX board.
Comment 63 Bastiaan Van Eeckhoudt 2003-08-25 11:31:28 UTC
Created attachment 726 [details]
dmesg on Abit AT7-MAX 2.6.0-test4 acpi+local apic+io-apic (apic disabled in bios)
Comment 64 Bastiaan Van Eeckhoudt 2003-08-25 11:57:16 UTC
I was a bit too quick. It&#347; working (network + usb) when apic is disabled in
bios. If I turn on apic in bios, usb doesn
Comment 65 Bastiaan Van Eeckhoudt 2003-08-25 11:58:25 UTC
Created attachment 727 [details]
dmesg on Abit AT7-MAX 2.6.0-test4 acpi+local apic+io-apic (apic enabled)
Comment 66 Nicolas Mailhot 2003-08-25 12:28:29 UTC
Created attachment 728 [details]
dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid)
Comment 67 Nicolas Mailhot 2003-08-25 12:34:10 UTC
Still no go. With acpi + io-apic eth & raid works, but usb is never initialised
(same config without acpi+apic works on this kernel).

The ehci led on the external hub never lights up.

The usb error messages disappeared though.
Comment 68 Nicolas Mailhot 2003-08-25 13:35:01 UTC
Scenario in comment 61 is bug #71 which seems almost solved (everything that
failed works now, albeit not good enough for normal use - the mouse just crawls
instead of flying)
Comment 69 Luming Yu 2003-08-28 19:30:57 UTC
There are errors in dmesg like:

"ACPI: Unable to set IRQ for PCI Interrupt Link [ALKB] (likely buggy ACPI BIOS).
Aborting ACPI-based IRQ routing."

Would you try to remove below code from drivers\acpi\pci_link.c

/*Make sure the active IRQ is the one we requested. */
result = acpi_pci_link_get_current(link);
if(result) {
 return_VALUE(result);
}

and see what happend. I want to know whether there are any unresolved problems.

Thanks
Luming


Comment 70 Luming Yu 2003-08-28 19:32:47 UTC
There are errors in dmesg like:

"ACPI: Unable to set IRQ for PCI Interrupt Link [ALKB] (likely buggy ACPI BIOS).
Aborting ACPI-based IRQ routing."

Would you try to remove below code from drivers\acpi\pci_link.c

/*Make sure the active IRQ is the one we requested. */
result = acpi_pci_link_get_current(link);
if(result) {
 return_VALUE(result);
}

and see what will happen. I want to know whether there are any unresolved problems.

Thanks
Luming
Comment 71 Nicolas Mailhot 2003-08-29 01:07:55 UTC
I will test removing this bit this evening (cet)

Thank you for following this problem.
Comment 72 Nicolas Mailhot 2003-08-29 10:30:43 UTC
Created attachment 767 [details]
dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + code backout
Comment 73 Nicolas Mailhot 2003-08-29 10:32:49 UTC
Here is the requested dmesg. It seems partial - removing the requested bit of
code makes boot very chatty.

I'll try to get a more complete one now

(btw the boot fails as usual but that's no surprise)
Comment 74 Nicolas Mailhot 2003-08-29 12:29:12 UTC
Created attachment 768 [details]
full dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + code backout
Comment 75 Luming Yu 2003-08-29 20:37:27 UTC
I'm sorry, I think the code in acpi_pci_link_set should be:

static int 
acpi_pci_link_set (
 struct acpi_pci_link *link,
 int         irq)
{

....
#ifdef DONT_REMOVE_CHECK
        /* Make sure the active IRQ is the one we requested. */
	result = acpi_pci_link_get_current(link);
	if (result) {
		return_VALUE(result);
	}
   
	if (link->irq.active != irq) {
		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, 
			"Attempt to enable at IRQ %d resulted in IRQ %d\n", 
			irq, link->irq.active));
		link->irq.active = 0;
		acpi_ut_evaluate_object (link->handle, "_DIS", 0, NULL);
	   
		return_VALUE(-ENODEV);
	}

#else
        link->irq.active = irq;
#endif
...
}

Would you please retry it? I want to know if there are any USB problem.
Comment 76 Nicolas Mailhot 2003-08-30 01:08:43 UTC
Re-testing with :

diff -uNr linux-2.6.0-test4-bk2.orig/drivers/acpi/pci_link.c
linux-2.6.0-test4-bk2/drivers/acpi/pci_link.c
--- linux-2.6.0-test4-bk2.orig/drivers/acpi/pci_link.c  2003-08-23
01:52:08.000000000 +0200
+++ linux-2.6.0-test4-bk2/drivers/acpi/pci_link.c       2003-08-30
10:05:20.514059029 +0200
@@ -360,6 +360,8 @@
                return_VALUE(-ENODEV);
        }
  
+
+#ifdef DONT_REMOVE_CHECK
        /* Make sure the active IRQ is the one we requested. */
        result = acpi_pci_link_get_current(link);
        if (result) {
@@ -375,6 +377,10 @@
                return_VALUE(-ENODEV);
        }
  
+#else
+        link->irq.active = irq;
+#endif
+
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Set IRQ %d\n", link->irq.active));
         
        return_VALUE(0);
Comment 77 Nicolas Mailhot 2003-08-30 02:03:21 UTC
You know, I was very sceptical after all those months on problem reporting with
no fix in sight. But this did it ! The system boots, usb works (and is not
dog-slow like in the local apic - io-apic scenario) and everything seems to be fine.

I won't mark the bug as closed with a code-fix now, because I assume you'll want
to fix the check instead of merely removing it, but I'll run kernels with this
patch till you get a better fix and everyone with the problem should test it.

You found the proble source. Yep-ee !
Comment 78 Nicolas Mailhot 2003-08-30 02:04:21 UTC
Created attachment 773 [details]
Initial fix for GA-7VAX
Comment 79 Nicolas Mailhot 2003-08-30 02:05:16 UTC
Created attachment 774 [details]
full dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + initial fix
Comment 80 Nicolas Mailhot 2003-08-30 02:06:00 UTC
Comment on attachment 768 [details]
full dmesg for GA-7VAX (2.6.0-test4-bk2, acpi + io-apic + eth + usb + raid) + code backout

Obsoleted by initial fix
Comment 81 Nicolas Mailhot 2003-08-30 02:07:29 UTC
Created attachment 775 [details]
Interrupts for fixed 2.6.0-test4-bk2 + initial fix
Comment 82 Christian Guggenberger 2003-08-31 13:40:58 UTC
Wow. Thank you very much for all your work done to solve this bug. 
I never got onboard net(via-rhine),usb,sound working on my EPOX 8k5a3+ when it
run in IO-APIC mode. These onboard devices always got an interrupt assigned, but
they never recieved one.
Now with 2.6.0-test4-mm4 + your "initial fix" everything is fine in APIC mode.
Comment 83 Nicolas Mailhot 2003-09-06 11:10:08 UTC
Created attachment 828 [details]
full dmesg for GA-7VAX (2.6.0-test4-bk8 + acpi patches
Comment 84 Nicolas Mailhot 2003-09-06 11:11:10 UTC
Created attachment 829 [details]
Interrupts for fixed 2.6.0-test4-bk8 + acpi patches
Comment 85 Nicolas Mailhot 2003-09-06 11:14:40 UTC
Fixed with the acpi patches posted at
http://marc.theaimsgroup.com/?l=acpi4linux&m=106280663518829&w=2
Comment 86 Nicolas Mailhot 2003-09-10 14:22:43 UTC
The patch posted in bug #845 also works on 2.6.0-test5-bk1
Comment 87 Martin J. Bligh 2003-11-26 16:12:01 UTC
Is this still floating around as a patch, or is it merged back already?
Comment 88 Nicolas Mailhot 2003-11-27 01:03:27 UTC
I think it's merged
(or at least the relevant bits for my system since I run vanilla kernels again)
Comment 89 Len Brown 2003-11-28 21:25:53 UTC
I've got access to a GA-7VAX, the system this was originally filed against. 
 
Fedora Core 1 SMP kernel booted with "acpi=on" comes upcorrectly 
in IO-APIC mode, with ethernet, USB, and ACPI button all working. 
 
We see the results of the workaround for the VIA BIOS bug in dmesg: 
 
_CRS returns NULL! Using IRQ 21 for device (PCI Interrupt Link [ALKB]). 
ACPI: PCI Interrupt Link [ALKB] enabled at IRQ 21 
IOAPIC[0]: Set PCI routing entry (2-21 -> 0xc9 -> IRQ 21 Mode:1 Active:1) 
00:00:10[A] -> 2-21 -> IRQ 21 
 
2.4.23-rc5 and 2.6.0-test11 (shown w/ CONFIG_ACPI_DEBUG) also work properly: 
 
pci_link-0258 [23] acpi_pci_link_get_curr: No IRQ resource found 
pci_link-0292 [22] acpi_pci_link_try_get_: No active IRQ resource found 
_CRS returns NULL! Using IRQ 21 fordevice (PCI Interrupt Link [ALKB]). 
ACPI: PCI Interrupt Link [ALKB] enabled at IRQ 21 
IOAPIC[0]: Set PCI routing entry (2-21 -> 0xc9 -> IRQ 21 Mode:1 Active:1) 
00:00:10[A] -> 2-21 -> IRQ 21 
 
closing this bug -- thanks for all the help! 
 

Note You need to log in before you can comment on or make changes to this bug.