Commit 8213fb41 authored by Chuhong Yuan's avatar Chuhong Yuan Committed by Bartlomiej Zolnierkiewicz
Browse files

fbdev: s1d13xxxfb: add missed unregister_framebuffer in remove



The driver calls register_framebuffer() in probe but does not call
unregister_framebuffer() in remove.
Rename current remove to __s1d13xxxfb_remove() for error handler.
Then add a new remove to call unregister_framebuffer().

Signed-off-by: default avatarChuhong Yuan <hslester96@gmail.com>
Cc: Kristoffer Ericson <kristoffer.ericson@gmail.com>
[b.zolnierkie: ported over recent s1d13xxxfb changes]
[b.zolnierkie: removed extra newline]
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200324132311.21729-1-hslester96@gmail.com
parent 5e4096ef
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -721,9 +721,7 @@ static void s1d13xxxfb_fetch_hw_state(struct fb_info *info)
		xres, yres, xres_virtual, yres_virtual, is_color, is_dual, is_tft);
}


static int
s1d13xxxfb_remove(struct platform_device *pdev)
static void __s1d13xxxfb_remove(struct platform_device *pdev)
{
	struct fb_info *info = platform_get_drvdata(pdev);
	struct s1d13xxxfb_par *par = NULL;
@@ -749,6 +747,14 @@ s1d13xxxfb_remove(struct platform_device *pdev)
			   resource_size(&pdev->resource[0]));
	release_mem_region(pdev->resource[1].start,
			   resource_size(&pdev->resource[1]));
}

static int s1d13xxxfb_remove(struct platform_device *pdev)
{
	struct fb_info *info = platform_get_drvdata(pdev);

	unregister_framebuffer(info);
	__s1d13xxxfb_remove(pdev);
	return 0;
}

@@ -895,7 +901,7 @@ static int s1d13xxxfb_probe(struct platform_device *pdev)
	return 0;

bail:
	s1d13xxxfb_remove(pdev);
	__s1d13xxxfb_remove(pdev);
	return ret;

}