|
@@ -128,8 +128,9 @@ int drm_setunique(struct inode *inode, struct file *filp,
|
|
bus &= 0xff;
|
|
bus &= 0xff;
|
|
|
|
|
|
if ((domain != dev->pci_domain) ||
|
|
if ((domain != dev->pci_domain) ||
|
|
- (bus != dev->pci_bus) ||
|
|
|
|
- (slot != dev->pci_slot) || (func != dev->pci_func))
|
|
|
|
|
|
+ (bus != dev->pdev->bus->number) ||
|
|
|
|
+ (slot != PCI_SLOT(dev->pdev->devfn)) ||
|
|
|
|
+ (func != PCI_FUNC(dev->pdev->devfn)))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
@@ -148,7 +149,9 @@ static int drm_set_busid(drm_device_t * dev)
|
|
return ENOMEM;
|
|
return ENOMEM;
|
|
|
|
|
|
len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
|
|
len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
|
|
- dev->pci_domain, dev->pci_bus, dev->pci_slot, dev->pci_func);
|
|
|
|
|
|
+ dev->pci_domain, dev->pdev->bus->number,
|
|
|
|
+ PCI_SLOT(dev->pdev->devfn),
|
|
|
|
+ PCI_FUNC(dev->pdev->devfn));
|
|
|
|
|
|
if (len > dev->unique_len)
|
|
if (len > dev->unique_len)
|
|
DRM_ERROR("Unique buffer overflowed\n");
|
|
DRM_ERROR("Unique buffer overflowed\n");
|