Message ID | ec4a9fbbff184e40d50e1f12e6df161ff5119f21.1722544445.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v2] fbdev/hpfb: Fix an error handling path in hpfb_dio_probe() | expand |
On 8/1/24 22:34, Christophe JAILLET wrote: > 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> I've applied it as-is (with the Fixes tag) to the fbdev git tree. Thank you, Christophe! Helge > --- > *Not* even compile tested only. > It is provided as-is > > Changes in v2: > - Apply a minimal change [Helge Deller] > > v1: https://lore.kernel.org/all/dc4fe3d857849ac63131c5620f1bacf1a3d7172e.1722191367.git.christophe.jaillet@wanadoo.fr/ > --- > drivers/video/fbdev/hpfb.c | 1 + > 1 file changed, 1 insertion(+) > > 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;
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;
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> --- *Not* even compile tested only. It is provided as-is Changes in v2: - Apply a minimal change [Helge Deller] v1: https://lore.kernel.org/all/dc4fe3d857849ac63131c5620f1bacf1a3d7172e.1722191367.git.christophe.jaillet@wanadoo.fr/ --- drivers/video/fbdev/hpfb.c | 1 + 1 file changed, 1 insertion(+)