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 | |
| 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')
| -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) |
