summaryrefslogtreecommitdiff
path: root/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch
diff options
context:
space:
mode:
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.patch44
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;
- }