diff options
author | Bjorn Helgaas <[email protected]> | 2022-03-21 13:34:46 -0500 |
---|---|---|
committer | Bjorn Helgaas <[email protected]> | 2022-03-21 15:23:14 -0500 |
commit | 63cd736f449445edcd7f0bcc7d84453e9beec0aa (patch) | |
tree | df971647a0cb35be0580f9e32392ca2c7d3c977e /net/lapb/lapb_subr.c | |
parent | e783362eb54cd99b2cac8b3a9aeac942e6f6ac07 (diff) |
PCI: Avoid broken MSI on SB600 USB devices
Some ATI SB600 USB adapters advertise MSI, but if INTx is disabled by
setting PCI_COMMAND_INTX_DISABLE, MSI doesn't work either. The PCI/PCIe
specs do not require software to set PCI_COMMAND_INTX_DISABLE when enabling
MSI, but Linux has done that for many years.
Mick reported that 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI
devices") broke these devices. Prior to 306c54d0edb6, they used INTx.
Starting with 306c54d0edb6, they use MSI, and and the fact that Linux sets
PCI_COMMAND_INTX_DISABLE means both INTx and MSI are disabled on these
devices.
Avoid this SB600 defect by disabling MSI so we use INTx as before.
Fixes: 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI devices")
Link: https://lore.kernel.org/r/[email protected]
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215690
Link: https://lore.kernel.org/all/PxIByDyBRcsbpcmVhGSNDFAoUcMmb78ctXCkw6fbpx25TGlCHvA6SJjjFkNr1FfQZMntYPTNyvEnblxzAZ8a6jP9ddLpKeCN6Chi_2FuexU=@protonmail.com/
Link: https://lore.kernel.org/r/[email protected]
BugLink: https://lore.kernel.org/all/[email protected]/
Reported-by: Mick Lorain <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions