diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index e517447b0880..cfb56d0ff367 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
| @@ -568,6 +568,14 @@ int i915_reset(struct drm_device *dev, u8 flags) | |||
| 568 | static int __devinit | 568 | static int __devinit |
| 569 | i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | 569 | i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) |
| 570 | { | 570 | { |
| 571 | /* Only bind to function 0 of the device. Early generations | ||
| 572 | * used function 1 as a placeholder for multi-head. This causes | ||
| 573 | * us confusion instead, especially on the systems where both | ||
| 574 | * functions have the same PCI-ID! | ||
| 575 | */ | ||
| 576 | if (PCI_FUNC(pdev->devfn)) | ||
| 577 | return -ENODEV; | ||
| 578 | |||
| 571 | return drm_get_pci_dev(pdev, ent, &driver); | 579 | return drm_get_pci_dev(pdev, ent, &driver); |
| 572 | } | 580 | } |
| 573 | 581 | ||
