Re: [PATCH v2] video: fbdev: vesafb: add missed release_region
From: Bartlomiej Zolnierkiewicz <hidden>
Date: 2020-01-15 14:50:22
Also in:
dri-devel, lkml
On 12/5/19 5:07 PM, Chuhong Yuan wrote:
The driver forgets to free the requested irq in remove and probe failure.
This is I/O region not IRQ.
quoted hunk ↗ jump to hunk
Add the missed calls to fix it. Signed-off-by: Chuhong Yuan <redacted> --- Changes in v2: - Modify commit message. drivers/video/fbdev/vesafb.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/drivers/video/fbdev/vesafb.c b/drivers/video/fbdev/vesafb.c index d9c08f6c2155..fbb196a8bbf6 100644 --- a/drivers/video/fbdev/vesafb.c +++ b/drivers/video/fbdev/vesafb.c@@ -468,6 +468,7 @@ static int vesafb_probe(struct platform_device *dev) fb_info(info, "%s frame buffer device\n", info->fix.id); return 0; err: + release_region(0x3c0, 32);
There is one 'goto err;' instance before request_region() which needs to be taken care of first.
quoted hunk ↗ jump to hunk
arch_phys_wc_del(par->wc_cookie); if (info->screen_base) iounmap(info->screen_base);@@ -480,6 +481,7 @@ static int vesafb_remove(struct platform_device *pdev) { struct fb_info *info = platform_get_drvdata(pdev); + release_region(0x3c0, 32); unregister_framebuffer(info);
The order of operations on remove should be the reverse of order of operations on probe. [ We cannot release I/O region while framebuffer is active. ]
framebuffer_release(info);
Please fix the patch and re-submit. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics