[PATCH v2] video: fbdev: vesafb: add missed release_region

Subsystems: framebuffer layer, the rest

STALE2429d

2 messages, 2 authors, 2020-01-15 · open the first message on its own page

[PATCH v2] video: fbdev: vesafb: add missed release_region

From: Chuhong Yuan <hidden>
Date: 2019-12-05 16:07:22

The driver forgets to free the requested irq in remove and probe
failure.
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);
 	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);
 	framebuffer_release(info);
 
-- 
2.24.0

Re: [PATCH v2] video: fbdev: vesafb: add missed release_region

From: Bartlomiej Zolnierkiewicz <hidden>
Date: 2020-01-15 14:50:22

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
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
 	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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help