drivers/macintosh/via-pmu.c: Added a missing iounmap

The error handling code should undo the ioremap as well.

The problem was detected using the following semantic match
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T,T1,T2;
identifier E;
statement S;
expression x1,x2;
constant C;
int ret;
@@

T E;
...
* E = ioremap(...);
if (E == NULL) S
... when != iounmap(E)
when != if (E != NULL) { ... iounmap(E); ...}
when != x1 = (T1)E
if (...) {
... when != iounmap(E)
when != if (E != NULL) { ... iounmap(E); ...}
when != x2 = (T2)E
(
* return;
|
* return C;
|
* return ret;
)
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Olaf Hering <olaf@aepfle.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Julia Lawall and committed by
Linus Torvalds
771cceb4 d17a18dd

+1
+1
drivers/macintosh/via-pmu.c
··· 2336 ret = pmac_suspend_devices(); 2337 if (ret) { 2338 pbook_free_pci_save(); 2339 printk(KERN_ERR "Sleep rejected by devices\n"); 2340 return ret; 2341 }
··· 2336 ret = pmac_suspend_devices(); 2337 if (ret) { 2338 pbook_free_pci_save(); 2339 + iounmap(mem_ctrl); 2340 printk(KERN_ERR "Sleep rejected by devices\n"); 2341 return ret; 2342 }