Bug 53561

Summary: [next-20130204] irq 18: nobody cared
Product: ACPI Reporter: Peter Hurley (peter)
Component: Config-InterruptsAssignee: Aaron Lu (aaron.lu)
Status: CLOSED CODE_FIX    
Severity: normal CC: aaron.lu, bjorn, jirislaby, stern, yinghai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: next-20130204 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg from next-20130204
/proc/interrupts from next-20130204
dmesg from next-20130204+revert
/proc/interrupts from next-20130204+revert
dmesg from 3.8.0-rc7
/proc/interrupts from 3.8.0-rc7
lspci -vv from 3.8.0-rc7
lsusb -v from 3.8.0-rc7
acpidump

Description Peter Hurley 2013-02-10 14:06:02 UTC
Created attachment 92851 [details]
dmesg from next-20130204

Regression with next-20130204+ (from next-20130125):

[   36.199730] Call Trace:
[   36.199734]  <IRQ>  [<ffffffff810f1076>] __report_bad_irq+0x36/0xe0
[   36.199754]  [<ffffffff810f152a>] note_interrupt+0x1aa/0x200
[   36.199761]  [<ffffffff8101edf2>] ? mwait_idle+0x82/0x1b0
[   36.199766]  [<ffffffff810eed89>] handle_irq_event_percpu+0xc9/0x260
[   36.199771]  [<ffffffff810eef68>] handle_irq_event+0x48/0x70
[   36.199776]  [<ffffffff810f20ba>] handle_fasteoi_irq+0x5a/0x100
[   36.199784]  [<ffffffff810182f2>] handle_irq+0x22/0x40
[   36.199792]  [<ffffffff8163a65a>] do_IRQ+0x5a/0xd0
[   36.199799]  [<ffffffff8163136d>] common_interrupt+0x6d/0x6d
[   36.199803]  <EOI>  [<ffffffff810f8e2a>] ? rcu_eqs_enter_common+0x4a/0x320
[   36.199823]  [<ffffffff8101edf2>] ? mwait_idle+0x82/0x1b0
[   36.199827]  [<ffffffff8101ed99>] ? mwait_idle+0x29/0x1b0
[   36.199834]  [<ffffffff8101f8a6>] cpu_idle+0x116/0x130
[   36.199846]  [<ffffffff8161997f>] start_secondary+0x251/0x258
[   36.199854] handlers:
[   36.199859] [<ffffffff8147d450>] usb_hcd_irq
[   36.199863] Disabling IRQ #18

Boot completes successfully but first touch of mouse or keyboard generates the call trace.

Mouse and keyboard are usb wireless on usb bus 4.

peter@thor:~$ lsusb
Bus 001 Device 002: ID 0bc2:2000 Seagate RSS LLC Storage Adapter V3 (TPP)
Bus 004 Device 002: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 004 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 001 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 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 0a5c:4502 Broadcom Corp. Keyboard (Boot Interface Subclass)
Bus 005 Device 004: ID 0a5c:4503 Broadcom Corp. Mouse (Boot Interface Subclass)
Bus 005 Device 005: ID 0461:4d75 Primax Electronics, Ltd Rocketfish RF-FLBTAD Bluetooth Adapter


[    3.465011] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    3.465019] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    3.465028] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    3.465066] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000ff40
[    3.465199] hub 4-0:1.0: USB hub found
[    3.465206] hub 4-0:1.0: 2 ports detected


git bisect blames this commit:
4f53509 (HEAD, refs/bisect/bad) PCI: Put pci_dev in device tree as early as possible

I've attached dmesg & /proc/interrupts for the following kernels:
 - next-20120204
 - next-20120204+revert4f53509 (has issues but doesn't drop interrupts)
 - 3.8.0-rc7 (working)

These messages in the bad dmesg log are interesting since PCI INT A is routed on
irq 18 with the kernels that work.
[    8.983246] pci 0000:00:1e.0: can't derive routing for PCI INT A
[    8.983600] snd_ctxfi 0000:09:02.0: PCI INT A: no GSI - using ISA IRQ 5
Comment 1 Peter Hurley 2013-02-10 14:08:35 UTC
Created attachment 92861 [details]
/proc/interrupts from next-20130204
Comment 2 Peter Hurley 2013-02-10 14:09:39 UTC
Created attachment 92871 [details]
dmesg from next-20130204+revert
Comment 3 Peter Hurley 2013-02-10 14:11:10 UTC
Created attachment 92881 [details]
/proc/interrupts from next-20130204+revert
Comment 4 Peter Hurley 2013-02-10 14:11:46 UTC
Created attachment 92891 [details]
dmesg from 3.8.0-rc7
Comment 5 Peter Hurley 2013-02-10 14:12:28 UTC
Created attachment 92901 [details]
/proc/interrupts from 3.8.0-rc7
Comment 6 Peter Hurley 2013-02-10 14:15:22 UTC
Created attachment 92911 [details]
lspci -vv from 3.8.0-rc7
Comment 7 Peter Hurley 2013-02-10 14:15:53 UTC
Created attachment 92921 [details]
lsusb -v from 3.8.0-rc7
Comment 8 Peter Hurley 2013-02-10 14:45:14 UTC
Created attachment 92931 [details]
acpidump
Comment 9 Jiri Slaby 2013-02-10 23:18:52 UTC
I see that too...
[    0.570682] pci 0000:00:1e.0: can't derive routing for PCI INT A
...
[    1.302964] uhci_hcd 0000:00:1a.2: irq 18, io base 0x0000d480
...
[    2.199319] irq 18: nobody cared (try booting with the "irqpoll" option)

00:00.0 Host bridge [0600]: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller [8086:29c0] (rev 02)
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31 Express Integrated Graphics Controller [8086:29c2] (rev 02)
00:03.0 Communication controller [0780]: Intel Corporation 82G33/G31/P35/P31 Express MEI Controller [8086:29c4] (rev 02)
00:03.1 Communication controller [0780]: Intel Corporation 82G33/G31/P35/P31 Express MEI Controller [8086:29c5] (rev 02)
00:03.2 IDE interface [0101]: Intel Corporation 82G33/G31/P35/P31 Express PT IDER Controller [8086:29c6] (rev 02)
00:03.3 Serial controller [0700]: Intel Corporation 82G33/G31/P35/P31 Express Serial KT Controller [8086:29c7] (rev 02)
00:19.0 Ethernet controller [0200]: Intel Corporation 82566DM-2 Gigabit Network Connection [8086:10bd] (rev 02)
00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 02)
00:1a.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 02)
00:1a.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 02)
00:1a.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 02)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 02)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 02)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 [8086:2944] (rev 02)
00:1d.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 02)
00:1d.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 02)
00:1d.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 02)
00:1d.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 02)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 92)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:2910] (rev 02)
00:1f.2 SATA controller [0106]: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] [8086:2922] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation 82801I (ICH9 Family) SMBus Controller [8086:2930] (rev 02)
00:1f.6 Signal processing controller [1180]: Intel Corporation 82801I (ICH9 Family) Thermal Subsystem [8086:2932] (rev 02)
03:00.0 PCI bridge [0604]: Texas Instruments XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge [104c:8231] (rev 03)
04:00.0 FireWire (IEEE 1394) [0c00]: Texas Instruments XIO2200A IEEE-1394a-2000 Controller (PHY/Link) [104c:8235] (rev 01)
05:00.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Comment 10 Aaron Lu 2013-02-18 08:41:14 UTC
Add Yinghai, the author of the bisected commit.

Hi Yinghai,
Can you please take a look at this? Thanks.
Comment 11 Yinghai Lu 2013-02-18 17:08:10 UTC
https://patchwork.kernel.org/patch/2130621/
Comment 12 Aaron Lu 2013-02-19 02:35:25 UTC
Fix patch available by Yinghai in comment #11, waiting to be accepted.
Comment 13 Aaron Lu 2013-02-20 01:39:21 UTC
commit 181380b702eee1a9aca51354d7b87c7b08541fcf
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Sat Feb 16 11:58:34 2013 -0700

    PCI/ACPI: Don't cache _PRT, and don't associate them with bus numbers

merged into pci-next tree.