summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2024-08-01 22:34:39 +0200
committerHelge Deller <deller@gmx.de>2024-08-30 18:42:38 +0200
commitaa578e897520f32ae12bec487f2474357d01ca9c (patch)
treef9bdf5e524dbd8daa739e51b173cb00e47ef91c3
parent8423895d456672736a278d64f86d8b434eef2b54 (diff)
downloadlwn-aa578e897520f32ae12bec487f2474357d01ca9c.tar.gz
lwn-aa578e897520f32ae12bec487f2474357d01ca9c.zip
fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()
If an error occurs after request_mem_region(), a corresponding release_mem_region() should be called, as already done in the remove function. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--drivers/video/fbdev/hpfb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/fbdev/hpfb.c b/drivers/video/fbdev/hpfb.c
index 66fac8e5393e..a1144b150982 100644
--- a/drivers/video/fbdev/hpfb.c
+++ b/drivers/video/fbdev/hpfb.c
@@ -345,6 +345,7 @@ static int hpfb_dio_probe(struct dio_dev *d, const struct dio_device_id *ent)
if (hpfb_init_one(paddr, vaddr)) {
if (d->scode >= DIOII_SCBASE)
iounmap((void *)vaddr);
+ release_mem_region(d->resource.start, resource_size(&d->resource));
return -ENOMEM;
}
return 0;