summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/i915_drv.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c
index 012ca822..e399f374 100644
--- a/linux-core/i915_drv.c
+++ b/linux-core/i915_drv.c
@@ -628,7 +628,16 @@ static int probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{
int ret;
- (void) pci_enable_msi(pdev);
+ /* On the 945G/GM, the chipset reports the MSI capability on the
+ * integrated graphics even though the support isn't actually there
+ * according to the published specs. It doesn't appear to function
+ * correctly in testing on 945G.
+ * This may be a side effect of MSI having been made available for PEG
+ * and the registers being closely associated.
+ */
+ if (pdev->device != 0x2772 && pdev->device != 0x27A2)
+ (void )pci_enable_msi(pdev);
+
ret = drm_get_dev(pdev, ent, &driver);
if (ret && pdev->msi_enabled)
pci_disable_msi(pdev);