The dev->devname being passed to request_irq in drm_irq.h is null. With the
authorDave Airlie <airlied@linux.ie>
Mon, 7 Jun 2004 01:42:35 +0000 (01:42 +0000)
committerDave Airlie <airlied@linux.ie>
Mon, 7 Jun 2004 01:42:35 +0000 (01:42 +0000)
    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>

linux-core/drm_ioctl.c
linux/drm_ioctl.h

index f6dea33..5fa7694 100644 (file)
@@ -143,6 +143,13 @@ DRM(set_busid)(drm_device_t *dev)
        snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
                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;
 }
 
index f6dea33..5fa7694 100644 (file)
@@ -143,6 +143,13 @@ DRM(set_busid)(drm_device_t *dev)
        snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
                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;
 }