drm: Fix hashtab implementation leaking illegal error codes to user space.

reported by Dave Airlie

Signed-off-by: Dave Airlie <airlied@linux.ie>
diff --git a/drivers/char/drm/drm_hashtab.c b/drivers/char/drm/drm_hashtab.c
index 4806113..a0b2d68 100644
--- a/drivers/char/drm/drm_hashtab.c
+++ b/drivers/char/drm/drm_hashtab.c
@@ -106,7 +106,7 @@
 	hlist_for_each(list, h_list) {
 		entry = hlist_entry(list, drm_hash_item_t, head);
 		if (entry->key == key)
-			return -1;
+			return -EINVAL;
 		if (entry->key > key)
 			break;
 		parent = list;
@@ -154,7 +154,7 @@
 
 	list = drm_ht_find_key(ht, key);
 	if (!list)
-		return -1;
+		return -EINVAL;
 
 	*item = hlist_entry(list, drm_hash_item_t, head);
 	return 0;
@@ -170,7 +170,7 @@
 		ht->fill--;
 		return 0;
 	}
-	return -1;
+	return -EINVAL;
 }
 
 int drm_ht_remove_item(drm_open_hash_t *ht, drm_hash_item_t *item)