lkml.org 
[lkml]   [2016]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 4/5] usb-misc: sisusbvga: Remove kmalloc logs and fix error path
Date
From: Peter Senna Tschudin <peter.senna@gmail.com>

This patch remove four calls to dev_err() from sisusb_probe() as
reporting memory allocation failures is redundant:

- Remove a call to dev_err() that was reporting unsuccesful call to
kzalloc().

- Remove two calls to dev_err() that were reporting unsuccesful calls
to kmalloc().

- Remove a call to dev_err() that was reporting unsuccesful call to
kmalloc(), and replace it by code that clean up previously allocated
resources and abort the probe with -ENOMEM. Before this modification
sisusb->SiS_Pr could be dereferenced even it was null.

Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com>
---
Tested by compilation only.

drivers/usb/misc/sisusbvga/sisusb.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
index 6cce4fb..875e365 100644
--- a/drivers/usb/misc/sisusbvga/sisusb.c
+++ b/drivers/usb/misc/sisusbvga/sisusb.c
@@ -3040,10 +3040,9 @@ static int sisusb_probe(struct usb_interface *intf,

/* Allocate memory for our private */
sisusb = kzalloc(sizeof(*sisusb), GFP_KERNEL);
- if (!sisusb) {
- dev_err(&dev->dev, "Failed to allocate memory for private data\n");
+ if (!sisusb)
return -ENOMEM;
- }
+
kref_init(&sisusb->kref);

mutex_init(&(sisusb->lock));
@@ -3070,7 +3069,6 @@ static int sisusb_probe(struct usb_interface *intf,
sisusb->ibufsize = SISUSB_IBUF_SIZE;
sisusb->ibuf = kmalloc(SISUSB_IBUF_SIZE, GFP_KERNEL);
if (!sisusb->ibuf) {
- dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate memory for input buffer");
retval = -ENOMEM;
goto error_2;
}
@@ -3081,7 +3079,6 @@ static int sisusb_probe(struct usb_interface *intf,
sisusb->obuf[i] = kmalloc(SISUSB_OBUF_SIZE, GFP_KERNEL);
if (!sisusb->obuf[i]) {
if (i == 0) {
- dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate memory for output buffer\n");
retval = -ENOMEM;
goto error_3;
}
@@ -3119,7 +3116,8 @@ static int sisusb_probe(struct usb_interface *intf,
/* Allocate our SiS_Pr */
sisusb->SiS_Pr = kmalloc(sizeof(struct SiS_Private), GFP_KERNEL);
if (!sisusb->SiS_Pr) {
- dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate SiS_Pr\n");
+ retval = -ENOMEM;
+ goto error_4;
}
#endif

--
2.5.0


\
 
 \ /
  Last update: 2016-01-05 18:41    [W:0.122 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site