|
@@ -568,6 +568,14 @@ int i915_reset(struct drm_device *dev, u8 flags)
|
|
|
static int __devinit
|
|
|
i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
{
|
|
|
+ /* Only bind to function 0 of the device. Early generations
|
|
|
+ * used function 1 as a placeholder for multi-head. This causes
|
|
|
+ * us confusion instead, especially on the systems where both
|
|
|
+ * functions have the same PCI-ID!
|
|
|
+ */
|
|
|
+ if (PCI_FUNC(pdev->devfn))
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
return drm_get_pci_dev(pdev, ent, &driver);
|
|
|
}
|
|
|
|