If an error occurs in the loop where we call 'pxa3xx_gcu_add_buffer()', any resource already allocated should be freed.
In order to fix it, add a call to 'pxa3xx_gcu_free_buffers()' in the error handling path, as already done in the remove function.
Fixes: 364dbdf3b6c3 ("video: add driver for PXA3xx 2D graphics accelerator") Signed-off-by: Christophe JAILLET christophe.jaillet@wanadoo.fr --- drivers/video/fbdev/pxa3xx-gcu.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c index 4279e13a3b58..68d9c7a681d4 100644 --- a/drivers/video/fbdev/pxa3xx-gcu.c +++ b/drivers/video/fbdev/pxa3xx-gcu.c @@ -675,6 +675,7 @@ static int pxa3xx_gcu_probe(struct platform_device *pdev)
err_disable_clk: clk_disable_unprepare(priv->clk); + pxa3xx_gcu_free_buffers(dev, priv);
return ret; }