[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061006135410.7b4cdc24.akpm@osdl.org>
Date: Fri, 6 Oct 2006 13:54:10 -0700
From: Andrew Morton <akpm@...l.org>
To: Amol Lad <amol@...ismonetworks.com>
Cc: linux kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/9] sound/oss/dmasound/dmasound_awacs.c: ioremap
balanced with iounmap
On Fri, 06 Oct 2006 11:08:53 +0530
Amol Lad <amol@...ismonetworks.com> wrote:
> Signed-off-by: Amol Lad <amol@...ismonetworks.com>
> ---
> 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();
> }
>
man, this is taxing my attention span to the limit. It'd be nice if
someone else could help out with the reviewing here..
This one could benefit from having a helper function which is called from
both places.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists