From f170c684b55cb8d3bab55b1fb8fa812778d551f2 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Mon, 11 Jul 2011 14:08:25 -0700 Subject: [PATCH] [SCSI] ipr: reorder error handling code to include iounmap The out_msi_disable label should be before cleanup_nomem to additionally benefit from the call to iounmap. Subsequent gotos are adjusted to go to out_msi_disable instead of cleanup_nomem, which now follows it. This is safe because pci_disable_msi does nothing if pci_enable_msi was not called. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression e1,e2; statement S; @@ e1 = pci_ioremap_bar(...); ... when != e1 = e2 when != iounmap(e1) when any ( if (<+...e1...+>) S | if(...) { ... return 0; } | if (...) { ... when != iounmap(e1) when != if (...) { ... iounmap(e1) ... } * return ...; } else S ) // Signed-off-by: Julia Lawall Acked-by: Brian King Signed-off-by: Andrew Morton Signed-off-by: James Bottomley --- Reading git-format-patch failed