PCI: Add MSI quirk for ServerWorks HT1000 PCIX bridge.
authorDavid Miller <davem@davemloft.net>
Thu, 25 Oct 2007 08:15:53 +0000 (01:15 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Nov 2007 21:35:16 +0000 (13:35 -0800)
commit1d84b5424efbcce69a1c955ba181147d23d43a14
tree543e1a8180eca6ecb89aee30105f4abb07b876e6
parent2cc31879f8cfa0efc74fe7e58ab4e01ef5908730
PCI: Add MSI quirk for ServerWorks HT1000 PCIX bridge.

This is the fix for the following problem:

https://bugzilla.redhat.com/show_bug.cgi?id=227657

The bnx2 device 5706 complains about MSI not working behind a
ServerWorks HT1000 PCIX bridge. An earlier commit to fix the problem:

e3008dedff4bdc96a5f67224cd3d8d12237082a0:

"PCI: disable MSI by default on systems with Serverworks HT1000 chips"

was not entirely correct, and has been reverted.

MSI does not work on the PCIX bus because the BIOS did not set the
HT_MSI_FLAGS_ENABLE bit in the HyperTransport MSI capability on the
bridge.  We use the existing quirk_msi_ht_cap() to detect the problem
and disable MSI in all buses behind it.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Cc: Anantha Subramanyam <ananth@broadcom.com>
Cc: Naren Sankar <nsankar@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/quirks.c
include/linux/pci_ids.h