The dev->devname being passed to request_irq in drm_irq.h is null. With the

old DRM interface, the devname was set in DRM(setunique), but with the
    current DRM interface >=1.1 the devname is not being set in
    DRM(set_busid).
From: Alan Swanson Approved-by: Dave Airlie <airlied@linux.ie>
main
Dave Airlie 2004-06-07 01:42:35 +00:00
parent 52e3a8a5d9
commit cfa5bf3129
2 changed files with 14 additions and 0 deletions

View File

@ -143,6 +143,13 @@ DRM(set_busid)(drm_device_t *dev)
snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d", 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->pci_bus, dev->pci_slot, dev->pci_func);
dev->devname = DRM(alloc)(strlen(dev->name) + dev->unique_len + 2,
DRM_MEM_DRIVER);
if (dev->devname == NULL)
return ENOMEM;
sprintf(dev->devname, "%s@%s", dev->name, dev->unique);
return 0; return 0;
} }

View File

@ -143,6 +143,13 @@ DRM(set_busid)(drm_device_t *dev)
snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d", 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->pci_bus, dev->pci_slot, dev->pci_func);
dev->devname = DRM(alloc)(strlen(dev->name) + dev->unique_len + 2,
DRM_MEM_DRIVER);
if (dev->devname == NULL)
return ENOMEM;
sprintf(dev->devname, "%s@%s", dev->name, dev->unique);
return 0; return 0;
} }