The control handler isn't freed if its initialization fails. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
                        V4L2_CID_BAND_STOP_FILTER, 0, 256, 1, 0);
        priv->subdev.ctrl_handler = &priv->hdl;
        if (priv->hdl.error) {
-               int err = priv->hdl.error;
-
-               kfree(priv);
-               return err;
+               ret = priv->hdl.error;
+               goto done;
        }
 
        ret = ov772x_video_probe(client);
+
+done:
        if (ret) {
                v4l2_ctrl_handler_free(&priv->hdl);
                kfree(priv);
        }
-
        return ret;
 }