fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 10 Dec 2022 11:35:22 +0000 (12:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:43 +0000 (13:32 +0100)
[ Upstream commit a94371040712031ba129c7e9d8ff04a06a2f8207 ]

If an error occurs after a successful uvesafb_init_mtrr() call, it must be
undone by a corresponding arch_phys_wc_del() call, as already done in the
remove function.

This has been added in the remove function in commit 63e28a7a5ffc
("uvesafb: Clean up MTRR code")

Fixes: 8bdb3a2d7df4 ("uvesafb: the driver core")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/video/fbdev/uvesafb.c

index 00d789b..0e3cabb 100644 (file)
@@ -1758,6 +1758,7 @@ static int uvesafb_probe(struct platform_device *dev)
 out_unmap:
        iounmap(info->screen_base);
 out_mem:
+       arch_phys_wc_del(par->mtrr_handle);
        release_mem_region(info->fix.smem_start, info->fix.smem_len);
 out_reg:
        release_region(0x3c0, 32);