irqchip/gic-v5: iwb: Fix iounmap probe failure path

The 0-day bot reported that on the failure path the driver iounmap()s IWB
resources that are managed through devm_ioremap(), which is clearly wrong
because the driver would end up unmapping the MMIO resource twice on
probing failure.

Fix this by removing the error path altogether and by letting devres manage
the iounmapping on clean-up.

Fixes: 695949d8b16f ("irqchip/gic-v5: Add GICv5 IWB support")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/all/20250801-gic-v5-fixes-6-17-v1-1-4fcedaccf9e6@kernel.org
Closes: https://lore.kernel.org/oe-kbuild-all/202508010038.N3r4ZmII-lkp@intel.com

authored by Lorenzo Pieralisi and committed by Thomas Gleixner a8913d54 3c3d7dba

+2 -9
+2 -9
drivers/irqchip/irq-gic-v5-iwb.c
··· 241 241 struct gicv5_iwb_chip_data *iwb_node; 242 242 void __iomem *iwb_base; 243 243 struct resource *res; 244 - int ret; 245 244 246 245 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 247 246 if (!res) ··· 253 254 } 254 255 255 256 iwb_node = gicv5_iwb_init_bases(iwb_base, pdev); 256 - if (IS_ERR(iwb_node)) { 257 - ret = PTR_ERR(iwb_node); 258 - goto out_unmap; 259 - } 257 + if (IS_ERR(iwb_node)) 258 + return PTR_ERR(iwb_node); 260 259 261 260 return 0; 262 - 263 - out_unmap: 264 - iounmap(iwb_base); 265 - return ret; 266 261 } 267 262 268 263 static const struct of_device_id gicv5_iwb_of_match[] = {