On Thu, Sep 25, 2014 at 05:43:16PM +0300, Octavian Purdila wrote: > Switch to using devm_ allocation to simplify the error path. Also > remove a redundant OOM error message. > > Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> > --- > drivers/mfd/viperboard.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) > > diff --git a/drivers/mfd/viperboard.c b/drivers/mfd/viperboard.c > index 5f62f4e..57fac1d 100644 > --- a/drivers/mfd/viperboard.c > +++ b/drivers/mfd/viperboard.c > @@ -53,18 +53,16 @@ static int vprbrd_probe(struct usb_interface *interface, > const struct usb_device_id *id) > { > struct vprbrd *vb; > - Don't include random whitespace changes in your patches. > u16 version = 0; > int pipe, ret; > > /* allocate memory for our device state and initialize it */ > - vb = kzalloc(sizeof(*vb), GFP_KERNEL); > - if (vb == NULL) { > - dev_err(&interface->dev, "Out of memory\n"); > + vb = devm_kzalloc(&interface->dev, sizeof(*vb), GFP_KERNEL); > + if (vb == NULL) > return -ENOMEM; > - } > > - vb->buf = kzalloc(sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); > + vb->buf = devm_kzalloc(&interface->dev, > + sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); > if (vb->buf == NULL) { > ret = -ENOMEM; > goto error; You should just return -ENOMEM here. > @@ -109,11 +107,7 @@ static int vprbrd_probe(struct usb_interface *interface, > return 0; > > error: > - if (vb) { > - usb_put_dev(vb->usb_dev); > - kfree(vb->buf); > - kfree(vb); > - } > + usb_put_dev(vb->usb_dev); > > return ret; > } > @@ -125,8 +119,6 @@ static void vprbrd_disconnect(struct usb_interface *interface) > mfd_remove_devices(&interface->dev); > usb_set_intfdata(interface, NULL); > usb_put_dev(vb->usb_dev); > - kfree(vb->buf); > - kfree(vb); > > dev_dbg(&interface->dev, "disconnected\n"); > } Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html