diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 18:04:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 18:04:20 -0500 |
commit | 7f3af60e5a444b287d740a84998a8f480645dadf (patch) | |
tree | 1ab3e5aff5139233d743dcf5e369b75544aa5dd2 /drivers/pci/msi.c | |
parent | 21b4e736922f546e0f1aa7b9d6c442f309a2444a (diff) | |
parent | 1769b46a3ed9ce68c835f84493be46e606e58ef1 (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
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r-- | drivers/pci/msi.c | 12 |
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 | ||
264 | void disable_msi_mode(struct pci_dev *dev, int pos, int type) | 262 | void 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 | ||
285 | static int msi_lookup_irq(struct pci_dev *dev, int type) | 281 | static int msi_lookup_irq(struct pci_dev *dev, int type) |