[PATCH 2/9] sound/oss/dmasound/dmasound_awacs.c: ioremap balancedwith iounmap
From: Amol Lad
Date: Fri Oct 06 2006 - 01:36:11 EST
Signed-off-by: Amol Lad <amol@xxxxxxxxxxxxxxxxxxx>
---
dmasound_awacs.c | 39 +++++++++++++++++++++++++++++++++++----
1 files changed, 35 insertions(+), 4 deletions(-)
---
diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff linux-2.6.19-rc1-orig/sound/oss/dmasound/dmasound_awacs.c linux-2.6.19-rc1/sound/oss/dmasound/dmasound_awacs.c
--- linux-2.6.19-rc1-orig/sound/oss/dmasound/dmasound_awacs.c 2006-10-05 14:01:04.000000000 +0530
+++ linux-2.6.19-rc1/sound/oss/dmasound/dmasound_awacs.c 2006-10-05 17:34:42.000000000 +0530
@@ -3067,8 +3067,9 @@ printk("dmasound_pmac: Awacs/Screamer Co
udelay(1);
/* Initialize beep stuff */
- if ((res=setup_beep()))
- return res ;
+ res=setup_beep();
+ if (res)
+ goto out_unmap;
#ifdef CONFIG_PM
pmu_register_sleep_notifier(&awacs_sleep_notifier);
@@ -3160,7 +3161,26 @@ printk("dmasound_pmac: Awacs/Screamer Co
*/
input_register_device(awacs_beep_dev);
- return dmasound_init();
+ res = dmasound_init();
+ if (res)
+ goto out_unmap1;
+
+ return 0;
+
+out_unmap1:
+ if (is_pbook_3X00)
+ iounmap(latch_base);
+ else if (is_pbook_g3)
+ iounmap(macio_base);
+out_unmap:
+ if (i2s_node)
+ iounmap(i2s);
+ else
+ iounmap(awacs);
+ iounmap(awacs_txdma);
+ iounmap(awacs_rxdma);
+
+ return res;
}
static void __exit dmasound_awacs_cleanup(void)
@@ -3177,8 +3197,19 @@ static void __exit dmasound_awacs_cleanu
daca_cleanup();
break;
}
- dmasound_deinit();
+ if (is_pbook_3X00)
+ iounmap(latch_base);
+ else if (is_pbook_g3)
+ iounmap(macio_base);
+ if (i2s_node)
+ iounmap(i2s);
+ else
+ iounmap(awacs);
+ iounmap(awacs_txdma);
+ iounmap(awacs_rxdma);
+
+ dmasound_deinit();
}
MODULE_DESCRIPTION("PowerMac built-in audio driver.");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/