diff options
author | Kristen Accardi <kristen.c.accardi@intel.com> | 2005-08-16 18:15:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-17 00:06:24 -0400 |
commit | 4602b88d9743b5f20655de8078fb42e9fd25581f (patch) | |
tree | 46fa501c25d46ef0691ee6891d928bb8def2e25e /drivers/pci/msi.c | |
parent | 208f3d6175cb17772c5af202fe12373f90894ff4 (diff) |
[PATCH] PCI: 6700/6702PXH quirk
On the 6700/6702 PXH part, a MSI may get corrupted if an ACPI hotplug
driver and SHPC driver in MSI mode are used together.
This patch will prevent MSI from being enabled for the SHPC as part of
an early pci quirk, as well as on any pci device which sets the no_msi
bit.
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r-- | drivers/pci/msi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index b5ab9aa6ff7c..2b85aa39f954 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -453,7 +453,7 @@ static void enable_msi_mode(struct pci_dev *dev, int pos, int type) | |||
453 | } | 453 | } |
454 | } | 454 | } |
455 | 455 | ||
456 | static void disable_msi_mode(struct pci_dev *dev, int pos, int type) | 456 | void disable_msi_mode(struct pci_dev *dev, int pos, int type) |
457 | { | 457 | { |
458 | u16 control; | 458 | u16 control; |
459 | 459 | ||
@@ -699,6 +699,9 @@ int pci_enable_msi(struct pci_dev* dev) | |||
699 | if (!pci_msi_enable || !dev) | 699 | if (!pci_msi_enable || !dev) |
700 | return status; | 700 | return status; |
701 | 701 | ||
702 | if (dev->no_msi) | ||
703 | return status; | ||
704 | |||
702 | temp = dev->irq; | 705 | temp = dev->irq; |
703 | 706 | ||
704 | if ((status = msi_init()) < 0) | 707 | if ((status = msi_init()) < 0) |