# \[PATCH\] HID: hiddev: Return specific error codes on connect failure

- Subsystems: HID CORE LAYER, THE REST, USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
- Maintainers: Jiri Kosina, Benjamin Tissoires, Linus Torvalds
- List: linux-input
- 2 messages, 2 authors
- Page: https://ratatoskr.run/linux-input/2021/02/8932569/t

## \[PATCH\] HID: hiddev: Return specific error codes on connect failure

- From: Jason Gerecke \<hidden\>
- Date: 2021-02-11 19:31:47 
- Message: https://ratatoskr.run/linux-input/2021/02/8932569.md

```text
The only caller of this function only cares about gross success/failure
but we still might as well resolve the following smatch warning and fix
the other error paths as well:

    hiddev.c:894 hiddev_connect() warn: returning -1 instead of -ENOMEM is sloppy

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
---
 drivers/hid/usbhid/hiddev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index 45e0b1c75cb1..2fb2991dbe4c 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -887,11 +887,11 @@ int hiddev_connect(struct hid_device *hid, unsigned int force)
 				break;
 
 		if (i == hid->maxcollection)
-			return -1;
+			return -EINVAL;
 	}
 
 	if (!(hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL)))
-		return -1;
+		return -ENOMEM;
 
 	init_waitqueue_head(&hiddev->wait);
 	INIT_LIST_HEAD(&hiddev->list);
@@ -905,7 +905,7 @@ int hiddev_connect(struct hid_device *hid, unsigned int force)
 		hid_err(hid, "Not able to get a minor for this device\n");
 		hid->hiddev = NULL;
 		kfree(hiddev);
-		return -1;
+		return retval;
 	}
 
 	/*
-- 
2.30.1

```

## Re: \[PATCH\] HID: hiddev: Return specific error codes on connect failure

- From: Jiri Kosina \<jikos@kernel.org\>
- Date: 2021-03-08 10:14:19 
- Message: https://ratatoskr.run/linux-input/2021/03/8932745.md

```text
On Thu, 11 Feb 2021, Jason Gerecke wrote:

> The only caller of this function only cares about gross success/failure
> but we still might as well resolve the following smatch warning and fix
> the other error paths as well:
> 
>     hiddev.c:894 hiddev_connect() warn: returning -1 instead of -ENOMEM is sloppy
> 
> Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

Applied, thank you Jason.

-- 
Jiri Kosina
SUSE Labs

```
