[alsa-devel] [PATCH 1/1] Do not write to invalid registers on the wm9712.
This patch fixes a bug where "virtual" registers were being written to the ac97 bus. This was causing unrelated registers to become corrupted (headphone 0x04, touchscreen 0x78, etc).
This patch duplicates protection that was included in the wm9713 driver.
Signed-off-by: Eric Millbrandt emillbrandt@dekaresearch.com --- sound/soc/codecs/wm9712.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c index 0ac1215..e237bf6 100644 --- a/sound/soc/codecs/wm9712.c +++ b/sound/soc/codecs/wm9712.c @@ -463,7 +463,8 @@ static int ac97_write(struct snd_soc_codec *codec, unsigned int reg, { u16 *cache = codec->reg_cache;
- soc_ac97_ops.write(codec->ac97, reg, val); + if (reg < 0x7c) + soc_ac97_ops.write(codec->ac97, reg, val); reg = reg >> 1; if (reg < (ARRAY_SIZE(wm9712_reg))) cache[reg] = val; -- 1.6.3.1
This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.
Thank you.
Please consider the environment before printing this email.
On Tue, 2009-12-22 at 12:28 -0500, Eric Millbrandt wrote:
This patch fixes a bug where "virtual" registers were being written to the ac97 bus. This was causing unrelated registers to become corrupted (headphone 0x04, touchscreen 0x78, etc).
This patch duplicates protection that was included in the wm9713 driver.
Signed-off-by: Eric Millbrandt emillbrandt@dekaresearch.com
sound/soc/codecs/wm9712.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c index 0ac1215..e237bf6 100644 --- a/sound/soc/codecs/wm9712.c +++ b/sound/soc/codecs/wm9712.c @@ -463,7 +463,8 @@ static int ac97_write(struct snd_soc_codec *codec, unsigned int reg, { u16 *cache = codec->reg_cache;
soc_ac97_ops.write(codec->ac97, reg, val);
if (reg < 0x7c)
soc_ac97_ops.write(codec->ac97, reg, val); reg = reg >> 1; if (reg < (ARRAY_SIZE(wm9712_reg))) cache[reg] = val;
--
Acked-by: Liam Girdwood lrg@slimlogic.co.uk
On Tue, Dec 22, 2009 at 12:28:58PM -0500, Eric Millbrandt wrote:
This patch fixes a bug where "virtual" registers were being written to the ac97 bus. This was causing unrelated registers to become corrupted (headphone 0x04, touchscreen 0x78, etc).
This patch duplicates protection that was included in the wm9713 driver.
Signed-off-by: Eric Millbrandt emillbrandt@dekaresearch.com
This looks like a reasonable fix but it doesn't apply against current kernels. Could you please regenerate it against
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.33
Please do also remember to CC the maintainers of the relevant kernel subsystems on submitted patches - scripts/get_maintainer.pl is helpful here. Things only sent to mailing lists sometimes get lost due to the volume.
...
This looks like a reasonable fix but it doesn't apply against current kernels. Could you please regenerate it against
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for- 2.6.33
It looks like the legal jargon post-pended to the patch creates grief for git. I am resubmitting the patch as an attachment so that is will not get mangled.
Eric
This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.
Thank you.
Please consider the environment before printing this email.
On Wed, Dec 23, 2009 at 10:00:37AM -0500, Eric Millbrandt wrote:
It looks like the legal jargon post-pended to the patch creates grief for git. I am resubmitting the patch as an attachment so that is will not get mangled.
Applied, thanks. The signature won't have done anything to affect the patch - the unified diff format can handle comments and other descriptive text interspersed with the code without problems.
participants (3)
-
Eric Millbrandt
-
Liam Girdwood
-
Mark Brown