diff options
Diffstat (limited to 'packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch')
-rw-r--r-- | packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch deleted file mode 100644 index 96919b6b02..0000000000 --- a/packages/linux/linux-rp-2.6.17/wm9712-reset-loop-r2.patch +++ /dev/null @@ -1,44 +0,0 @@ - sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -Index: linux-2.6.18/sound/soc/codecs/wm9712.c -=================================================================== ---- linux-2.6.18.orig/sound/soc/codecs/wm9712.c 2006-12-05 23:25:33.000000000 +0000 -+++ linux-2.6.18/sound/soc/codecs/wm9712.c 2006-12-05 23:27:20.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; -+ -+ 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) -- goto err; -- return 0; -+ 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; - } |