summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_client_event.c
diff options
context:
space:
mode:
authorSimona Vetter <simona.vetter@ffwll.ch>2025-10-31 18:47:16 +0100
committerSimona Vetter <simona.vetter@ffwll.ch>2025-10-31 18:47:17 +0100
commit7446fbf002e40dde1bcc80dfeb829eabd54af43a (patch)
tree7547a9f794ca6cb06e808171adb3266a0ebc25a5 /drivers/gpu/drm/drm_client_event.c
parentf53128e376e732100c74b57361f2933130139e60 (diff)
parent4f9ffd2c80a2fa09dcc8dfa0482cb7e0fb6fcf6c (diff)
Merge tag 'drm-misc-next-2025-10-28' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.19-rc1: UAPI Changes: Cross-subsystem Changes: - Update DT bindings for renesas and powervr-rogue. - Update MAINTAINERS email and add spsc_queue. Core Changes: - Allow ttm page protection flags on risc-v. - Move freeing of drm client memory to driver. Driver Changes: - Assorted small fixes and updates to qaic, ivpu, st7571-i2c, gud, amdxdna. - Allow configuration of vkms' display through configfs. - Add Arm Ethos-U65/U85 accel driver. Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch> From: Maarten Lankhorst <dev@lankhorst.se> Link: https://patch.msgid.link/32b43261-3c99-49d9-92ee-615ada1d01e8@lankhorst.se
Diffstat (limited to 'drivers/gpu/drm/drm_client_event.c')
-rw-r--r--drivers/gpu/drm/drm_client_event.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/drm_client_event.c b/drivers/gpu/drm/drm_client_event.c
index c3baeb4d4e6b..d25dc5250983 100644
--- a/drivers/gpu/drm/drm_client_event.c
+++ b/drivers/gpu/drm/drm_client_event.c
@@ -39,12 +39,13 @@ void drm_client_dev_unregister(struct drm_device *dev)
mutex_lock(&dev->clientlist_mutex);
list_for_each_entry_safe(client, tmp, &dev->clientlist, list) {
list_del(&client->list);
- if (client->funcs && client->funcs->unregister) {
+ /*
+ * Unregistering consumes and frees the client.
+ */
+ if (client->funcs && client->funcs->unregister)
client->funcs->unregister(client);
- } else {
+ else
drm_client_release(client);
- kfree(client);
- }
}
mutex_unlock(&dev->clientlist_mutex);
}