On Thu, Sep 25, 2014 at 06:41:36PM +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> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> > --- > drivers/mfd/viperboard.c | 23 +++++++---------------- > 1 file changed, 7 insertions(+), 16 deletions(-) > > diff --git a/drivers/mfd/viperboard.c b/drivers/mfd/viperboard.c > index 5f62f4e..0d46d05 100644 > --- a/drivers/mfd/viperboard.c > +++ b/drivers/mfd/viperboard.c > @@ -58,17 +58,14 @@ static int vprbrd_probe(struct usb_interface *interface, > 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); > - if (vb->buf == NULL) { > - ret = -ENOMEM; > - goto error; > - } > + vb->buf = devm_kzalloc(&interface->dev, > + sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); > + if (vb->buf == NULL) > + return -ENOMEM; > > mutex_init(&vb->lock); > > @@ -109,11 +106,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 +118,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"); > } -- 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