diff mbox

[2/2] usbhid: fix some error codes in hiddev_connect()

Message ID 20110526085018.GE14591@shale.localdomain (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Dan Carpenter May 26, 2011, 8:50 a.m. UTC
Returning -1 is -EPERM which is inappropriate here.

Signed-off-by: Dan Carpenter <error27@gmail.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jiri Kosina May 26, 2011, 12:07 p.m. UTC | #1
On Thu, 26 May 2011, Dan Carpenter wrote:

> Returning -1 is -EPERM which is inappropriate here.
> 
> Signed-off-by: Dan Carpenter <error27@gmail.com>
> 
> diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
> index b2f9a3a..80b8e76 100644
> --- a/drivers/hid/usbhid/hiddev.c
> +++ b/drivers/hid/usbhid/hiddev.c
> @@ -890,8 +890,9 @@ int hiddev_connect(struct hid_device *hid, unsigned int force)
>  			return -1;
>  	}
>  
> -	if (!(hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL)))
> -		return -1;
> +	hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL);
> +	if (!hiddev)
> +		return -ENOMEM;
>  
>  	init_waitqueue_head(&hiddev->wait);
>  	INIT_LIST_HEAD(&hiddev->list);
> @@ -905,7 +906,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;
>  	}
>  	return 0;
>  }

Why would that matter?

hid_connect() (which is the only caller) only checks for the return value 
being (non-)zero.
Dan Carpenter May 26, 2011, 4:35 p.m. UTC | #2
On Thu, May 26, 2011 at 02:07:00PM +0200, Jiri Kosina wrote:
> Why would that matter?
>
> hid_connect() (which is the only caller) only checks for the return value 
> being (non-)zero.

It's just a cleanup.  It silences a Smatch complaint.

regards,
dan carpenter 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index b2f9a3a..80b8e76 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -890,8 +890,9 @@  int hiddev_connect(struct hid_device *hid, unsigned int force)
 			return -1;
 	}
 
-	if (!(hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL)))
-		return -1;
+	hiddev = kzalloc(sizeof(struct hiddev), GFP_KERNEL);
+	if (!hiddev)
+		return -ENOMEM;
 
 	init_waitqueue_head(&hiddev->wait);
 	INIT_LIST_HEAD(&hiddev->list);
@@ -905,7 +906,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;
 	}
 	return 0;
 }