[PATCH v2] console: console: Complete exception handling in newport_probe()

From: Dejin Zheng
Date: Thu Apr 23 2020 - 10:26:37 EST


A call of the function ÂÂdo_take_over_consoleÂÂ can fail here.
The corresponding system resources were not released then.
Thus add a call of the function ÂÂiounmapÂÂ together with the check
of a failure predicate.

Fixes: e84de0c6190503 ("MIPS: GIO bus support for SGI IP22/28")
CC: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Signed-off-by: Dejin Zheng <zhengdejin5@xxxxxxxxx>
---
v1 -> v2:
- modify the commit comments by Markus'suggestion.

drivers/video/console/newport_con.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c
index 00dddf6e08b0..6bfc8e3ffd4a 100644
--- a/drivers/video/console/newport_con.c
+++ b/drivers/video/console/newport_con.c
@@ -720,6 +720,9 @@ static int newport_probe(struct gio_device *dev,
console_lock();
err = do_take_over_console(&newport_con, 0, MAX_NR_CONSOLES - 1, 1);
console_unlock();
+
+ if (err)
+ iounmap((void *)npregs);
return err;
}

--
2.25.0