Bug 70601

Summary: INTx doesn't work because core leaves PCI_COMMAND_INTX_DISABLE set
Product: Drivers Reporter: Bjorn Helgaas (bjorn)
Component: PCIAssignee: Bjorn Helgaas (bjorn)
Status: RESOLVED CODE_FIX    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
URL: https://lkml.kernel.org/r/20140114181721.GC12126@xanatos
Kernel Version: 3.11 Subsystem:
Regression: No Bisected commit-id:
Attachments: v3.11 dmesg showing problem
Enable INTx in PCI core
v3.11 dmesg with patch (problem fixed)
lspci -vv output (with patch)

Description Bjorn Helgaas 2014-02-14 20:37:33 UTC
Created attachment 126171 [details]
v3.11 dmesg showing problem

On Intel Baytrail, with the BIOS "EHCI only" option selected, the BIOS leaves PCI_COMMAND_INTX_DISABLE set for the EHCI device.  The driver does nothing with that bit, so it never receives any interrupts.

This results in errors like these:

  usb 1-1: new high-speed USB device number 2 using ehci-pci
  usb 1-1: device not accepting address 2, error -110
  usb 1-1: new high-speed USB device number 3 using ehci-pci
  usb 1-1: device not accepting address 3, error -110
  ...
Comment 1 Bjorn Helgaas 2014-02-14 20:39:44 UTC
Created attachment 126181 [details]
Enable INTx in PCI core
Comment 2 Bjorn Helgaas 2014-02-14 20:40:20 UTC
Created attachment 126191 [details]
v3.11 dmesg with patch (problem fixed)
Comment 3 Bjorn Helgaas 2014-02-14 20:43:28 UTC
Created attachment 126201 [details]
lspci -vv output (with patch)