ebda_rsrc_controller() calls iounmap(io_mem) on the error path. It's caller, ibmphp_access_ebda() also calls iounmap(io_mem) on good and error paths. Removing the iounmap(io_mem) invocation inside ebda_rsrc_controller(). Signed-off-by: Vishal Aslot <os.vaslot@xxxxxxxxx> --- Why am I fixing this? I found this clean up item in drivers/pci/hotplug/TODO [lines 43-44] and decided to fix it. This is my 2nd patch ever in linux so my apologies for any style issues. I am very teachable. :) drivers/pci/hotplug/ibmphp_ebda.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/pci/hotplug/ibmphp_ebda.c b/drivers/pci/hotplug/ibmphp_ebda.c index 11a2661dc062..7fb75401ad8a 100644 --- a/drivers/pci/hotplug/ibmphp_ebda.c +++ b/drivers/pci/hotplug/ibmphp_ebda.c @@ -714,8 +714,7 @@ static int __init ebda_rsrc_controller(void) /* init hpc structure */ hpc_ptr = alloc_ebda_hpc(slot_num, bus_num); if (!hpc_ptr) { - rc = -ENOMEM; - goto error_no_hpc; + return -ENOMEM; } hpc_ptr->ctlr_id = ctlr_id; hpc_ptr->ctlr_relative_id = ctlr; @@ -910,8 +909,6 @@ static int __init ebda_rsrc_controller(void) kfree(tmp_slot); error_no_slot: free_ebda_hpc(hpc_ptr); -error_no_hpc: - iounmap(io_mem); return rc; } -- 2.27.0