aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 18:04:20 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 18:04:20 -0500
commit7f3af60e5a444b287d740a84998a8f480645dadf (patch)
tree1ab3e5aff5139233d743dcf5e369b75544aa5dd2
parent21b4e736922f546e0f1aa7b9d6c442f309a2444a (diff)
parent1769b46a3ed9ce68c835f84493be46e606e58ef1 (diff)
Merge branch 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
* 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit
-rw-r--r--drivers/pci/msi.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 9168401401bc..ed3f7e1a563c 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -255,10 +255,8 @@ static void enable_msi_mode(struct pci_dev *dev, int pos, int type)
255 pci_write_config_word(dev, msi_control_reg(pos), control); 255 pci_write_config_word(dev, msi_control_reg(pos), control);
256 dev->msix_enabled = 1; 256 dev->msix_enabled = 1;
257 } 257 }
258 if (pci_find_capability(dev, PCI_CAP_ID_EXP)) { 258
259 /* PCI Express Endpoint device detected */ 259 pci_intx(dev, 0); /* disable intx */
260 pci_intx(dev, 0); /* disable intx */
261 }
262} 260}
263 261
264void disable_msi_mode(struct pci_dev *dev, int pos, int type) 262void disable_msi_mode(struct pci_dev *dev, int pos, int type)
@@ -276,10 +274,8 @@ void disable_msi_mode(struct pci_dev *dev, int pos, int type)
276 pci_write_config_word(dev, msi_control_reg(pos), control); 274 pci_write_config_word(dev, msi_control_reg(pos), control);
277 dev->msix_enabled = 0; 275 dev->msix_enabled = 0;
278 } 276 }
279 if (pci_find_capability(dev, PCI_CAP_ID_EXP)) { 277
280 /* PCI Express Endpoint device detected */ 278 pci_intx(dev, 1); /* enable intx */
281 pci_intx(dev, 1); /* enable intx */
282 }
283} 279}
284 280
285static int msi_lookup_irq(struct pci_dev *dev, int type) 281static int msi_lookup_irq(struct pci_dev *dev, int type)