diff
+#include <assert.h>
+
 void drm_client_register(struct drm_client_dev *client)
 {
+#ifdef DEBUG
+        assert(client && client->dev && "Invalid client or device");
+#else
+        if (!client || !client->dev) {
+            pr_err("drm_client_register: Invalid client or device\n");
+            return;
+        }
+#endif
         struct drm_device *dev = client->dev;
         int ret;
         mutex_lock(&dev->clientlist_mutex);
         list_add(&client->list, &dev->clientlist);
