8250_men_mcb: fix error handling in read_uarts_available_from_reg()

If ioremap() fails, it returns NULL pointer, not ERR_PTR(), fix the
return value check and call release_mem_region() to release resource.

Fixes: c563831ba879 ("8250_men_mcb: Make UART config auto configurable")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20230728085723.3195044-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Yang Yingliang 2023-07-28 16:57:23 +08:00 committed by Greg Kroah-Hartman
parent 9b4e18f032
commit 5f45b336fc

View File

@ -94,8 +94,11 @@ static int read_uarts_available_from_register(struct resource *mem_res,
mem = ioremap(mem_res->start + MEN_Z025_REGISTER_OFFSET, mem = ioremap(mem_res->start + MEN_Z025_REGISTER_OFFSET,
MEM_UART_REGISTER_SIZE); MEM_UART_REGISTER_SIZE);
if (IS_ERR(mem)) if (!mem) {
release_mem_region(mem_res->start + MEN_Z025_REGISTER_OFFSET,
MEM_UART_REGISTER_SIZE);
return -ENOMEM; return -ENOMEM;
}
reg_value = MEN_READ_REGISTER(mem); reg_value = MEN_READ_REGISTER(mem);