diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-02-07 19:07:10 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-02-07 19:07:10 +0000 |
commit | 1f63b9546a8c7b90de2d9e52cf8ff07f9f653d94 (patch) | |
tree | 6bd4915b4289ef32c94ecd523f38bb13ca032e4a /sound | |
parent | 4a683a2c5e7cabe91218db28e56dc25e1b134ce3 (diff) | |
parent | d8cff1365ec568149d57aeed8279d745591d0fa1 (diff) |
Merge branch 'fixes'
Diffstat (limited to 'sound')
-rw-r--r-- | sound/arm/aaci.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 24d3013c023..7c1fc64cb53 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c @@ -50,7 +50,11 @@ static void aaci_ac97_select_codec(struct aaci *aaci, struct snd_ac97 *ac97) if (v & SLFR_1RXV) readl(aaci->base + AACI_SL1RX); - writel(maincr, aaci->base + AACI_MAINCR); + if (maincr != readl(aaci->base + AACI_MAINCR)) { + writel(maincr, aaci->base + AACI_MAINCR); + readl(aaci->base + AACI_MAINCR); + udelay(1); + } } /* @@ -993,6 +997,8 @@ static unsigned int __devinit aaci_size_fifo(struct aaci *aaci) * disabling the channel doesn't clear the FIFO. */ writel(aaci->maincr & ~MAINCR_IE, aaci->base + AACI_MAINCR); + readl(aaci->base + AACI_MAINCR); + udelay(1); writel(aaci->maincr, aaci->base + AACI_MAINCR); /* |