diff options
| -rw-r--r-- | drivers/gpu/drm/drm_client.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c index 4039a4d103a8..9b142f58d489 100644 --- a/drivers/gpu/drm/drm_client.c +++ b/drivers/gpu/drm/drm_client.c | |||
| @@ -78,7 +78,6 @@ EXPORT_SYMBOL(drm_client_close); | |||
| 78 | int drm_client_new(struct drm_device *dev, struct drm_client_dev *client, | 78 | int drm_client_new(struct drm_device *dev, struct drm_client_dev *client, |
| 79 | const char *name, const struct drm_client_funcs *funcs) | 79 | const char *name, const struct drm_client_funcs *funcs) |
| 80 | { | 80 | { |
| 81 | bool registered; | ||
| 82 | int ret; | 81 | int ret; |
| 83 | 82 | ||
| 84 | if (!drm_core_check_feature(dev, DRIVER_MODESET) || | 83 | if (!drm_core_check_feature(dev, DRIVER_MODESET) || |
| @@ -97,21 +96,13 @@ int drm_client_new(struct drm_device *dev, struct drm_client_dev *client, | |||
| 97 | goto err_put_module; | 96 | goto err_put_module; |
| 98 | 97 | ||
| 99 | mutex_lock(&dev->clientlist_mutex); | 98 | mutex_lock(&dev->clientlist_mutex); |
| 100 | registered = dev->registered; | 99 | list_add(&client->list, &dev->clientlist); |
| 101 | if (registered) | ||
| 102 | list_add(&client->list, &dev->clientlist); | ||
| 103 | mutex_unlock(&dev->clientlist_mutex); | 100 | mutex_unlock(&dev->clientlist_mutex); |
| 104 | if (!registered) { | ||
| 105 | ret = -ENODEV; | ||
| 106 | goto err_close; | ||
| 107 | } | ||
| 108 | 101 | ||
| 109 | drm_dev_get(dev); | 102 | drm_dev_get(dev); |
| 110 | 103 | ||
| 111 | return 0; | 104 | return 0; |
| 112 | 105 | ||
| 113 | err_close: | ||
| 114 | drm_client_close(client); | ||
| 115 | err_put_module: | 106 | err_put_module: |
| 116 | if (funcs) | 107 | if (funcs) |
| 117 | module_put(funcs->owner); | 108 | module_put(funcs->owner); |
