On successful node setup, the code jumps to a cleanup label to perform nodes cleanup. This only call to cleanup using goto label can be included in the for / if blocks to make it look more associated. Signed-off-by: Deepak R Varma <mh12gx2825@xxxxxxxxx> Reviewed-by: Stefano Brivio <sbrivio@xxxxxxxxxx> --- Changes since v1: - Corrected /reduced scope of variable r. Warning generated by Sakari's Kbuild bot. Change advised by Sakari Ailus. - Patch was earlier reviewed by Stefano. The bot warning came in later. drivers/staging/media/ipu3/ipu3-v4l2.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/staging/media/ipu3/ipu3-v4l2.c b/drivers/staging/media/ipu3/ipu3-v4l2.c index e8f33539a217..beec8aad2d43 100644 --- a/drivers/staging/media/ipu3/ipu3-v4l2.c +++ b/drivers/staging/media/ipu3/ipu3-v4l2.c @@ -1291,19 +1291,17 @@ static void imgu_v4l2_nodes_cleanup_pipe(struct imgu_device *imgu, static int imgu_v4l2_nodes_setup_pipe(struct imgu_device *imgu, int pipe) { - int i, r; + int i; for (i = 0; i < IMGU_NODE_NUM; i++) { - r = imgu_v4l2_node_setup(imgu, pipe, i); - if (r) - goto cleanup; - } + int r = imgu_v4l2_node_setup(imgu, pipe, i); + if (r) { + imgu_v4l2_nodes_cleanup_pipe(imgu, pipe, i); + return r; + } + } return 0; - -cleanup: - imgu_v4l2_nodes_cleanup_pipe(imgu, pipe, i); - return r; } static void imgu_v4l2_subdev_cleanup(struct imgu_device *imgu, unsigned int i) -- 2.17.1