Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe34765b authored by Dave Airlie's avatar Dave Airlie Committed by Dave Airlie
Browse files

drm: drm_ioctl.c sync with fixes from CVS



Apply the fixes from CVS that were outstanding for this file

Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
parent b3a80a22
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -137,17 +137,22 @@ int drm_setunique(struct inode *inode, struct file *filp,

static int drm_set_busid(drm_device_t * dev)
{
	int len;

	if (dev->unique != NULL)
		return EBUSY;

	dev->unique_len = 20;
	dev->unique_len = 40;
	dev->unique = drm_alloc(dev->unique_len + 1, DRM_MEM_DRIVER);
	if (dev->unique == NULL)
		return ENOMEM;

	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);

	if (len > dev->unique_len)
		DRM_ERROR("Unique buffer overflowed\n");

	dev->devname =
	    drm_alloc(strlen(dev->driver->pci_driver.name) + dev->unique_len +
		      2, DRM_MEM_DRIVER);
@@ -239,7 +244,7 @@ int drm_getclient(struct inode *inode, struct file *filp,
{
	drm_file_t *priv = filp->private_data;
	drm_device_t *dev = priv->head->dev;
	drm_client_t __user *argp = (void __user *)arg;
	drm_client_t __user *argp = (drm_client_t __user *)arg;
	drm_client_t client;
	drm_file_t *pt;
	int idx;
@@ -262,7 +267,7 @@ int drm_getclient(struct inode *inode, struct file *filp,
	client.iocs = pt->ioctl_count;
	up(&dev->struct_sem);

	if (copy_to_user((drm_client_t __user *) arg, &client, sizeof(client)))
	if (copy_to_user(argp, &client, sizeof(client)))
		return -EFAULT;
	return 0;
}
@@ -339,7 +344,7 @@ int drm_setversion(DRM_IOCTL_ARGS)
		if (sv.drm_di_major != DRM_IF_MAJOR ||
		    sv.drm_di_minor < 0 || sv.drm_di_minor > DRM_IF_MINOR)
			return EINVAL;
		if_version = DRM_IF_VERSION(sv.drm_di_major, sv.drm_dd_minor);
		if_version = DRM_IF_VERSION(sv.drm_di_major, sv.drm_di_minor);
		dev->if_version = DRM_MAX(if_version, dev->if_version);
		if (sv.drm_di_minor >= 1) {
			/*