[ALSA] Fix mask to stop AT91 SSC clock on shutdown
authorHubert Kahlert <hkahlert@hk-datentechnik.de>
Tue, 31 Oct 2006 14:31:27 +0000 (15:31 +0100)
committerJaroslav Kysela <perex@suse.cz>
Fri, 9 Feb 2007 08:01:13 +0000 (09:01 +0100)
This patch by Frank Mandarino and Hubert Kahlert fixes a bug in the AT91
SSC (i2s) shutdown code that would erroneously disable other AT91
peripheral clocks.

Signed-off-by: Hubert Kahlert <hkahlert@hk-datentechnik.de>
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/soc/at91/at91rm9200-i2s.c

index 2eee427b1e5c3123721c4ae6a68f79e0054f4455..e3e6345fc8be8447e0e6f0d7e1de9e83a3222401 100644 (file)
@@ -373,7 +373,7 @@ static void at91rm9200_i2s_shutdown(struct snd_pcm_substream *substream)
        if (!ssc_p->dir_mask) {
                /* Shutdown the SSC clock. */
                DBG("Stopping pid %d clock\n", ssc_p->pid);
-               at91_sys_write(AT91_PMC_PCDR, ssc_p->pid);
+               at91_sys_write(AT91_PMC_PCDR, 1<<ssc_p->pid);
 
                if (ssc_p->initialized)
                        free_irq(ssc_p->pid, ssc_p);