diff options
author | Graeme Gregory <dp@xora.org.uk> | 2007-10-31 11:29:11 +0000 |
---|---|---|
committer | Graeme Gregory <dp@xora.org.uk> | 2007-10-31 11:29:11 +0000 |
commit | 8e123dfde5301965e1e7700e228b21c2652c2687 (patch) | |
tree | 76fb35e139aaf894e4e020ae2e8ea6cfa287f4a0 /packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch | |
parent | 3ba4190413ed7aaf3b1ad78abc1009394e219a01 (diff) | |
parent | 566c8bb147d8ba79662edcd755883793e0c945f5 (diff) |
merge of '55dbe512554ea028b2d4722048c4e9d4a958022c'
and '6aff048ce0e2244277e9b1398c4a400bdd758e30'
Diffstat (limited to 'packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch')
-rw-r--r-- | packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch index 0e32a62ea6..78e81ea83a 100644 --- a/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch +++ b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch @@ -42,47 +42,3 @@ Index: git/sound/soc/codecs/wm9712.c printk(KERN_ERR "WM9712 AC97 reset failed\n"); return -EIO; } - sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -Index: git/sound/soc/codecs/wm9712.c -=================================================================== ---- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000 -+++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000 -@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_ - - static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) - { -- if (try_warm && soc_ac97_ops.warm_reset) { -- soc_ac97_ops.warm_reset(codec->ac97); -- if (!(ac97_read(codec, 0) & 0x8000)) -- return 1; -- } -+ int retry = 3; - -- soc_ac97_ops.reset(codec->ac97); -- if (ac97_read(codec, 0) & 0x8000) -- goto err; -- return 0; -+ while (retry--) -+ { -+ if(try_warm && soc_ac97_ops.warm_reset) { -+ soc_ac97_ops.warm_reset(codec->ac97); -+ if(ac97_read(codec, 0) & 0x8000) -+ continue; -+ else -+ return 1; -+ } -+ -+ soc_ac97_ops.reset(codec->ac97); -+ if(ac97_read(codec, 0) & 0x8000) -+ continue; -+ else -+ return 0; -+ -+ } - --err: - printk(KERN_ERR "WM9712 AC97 reset failed\n"); - return -EIO; - } |