[alsa-devel] [PATCH] ALSA: HDA - Check return value to reduce useless delay
Wang Xingchao
xingchao.wang at intel.com
Wed Oct 24 08:53:23 CEST 2012
For verb 705h, it's useless to read response, so use *write api would be
better. If there's error after sending cmd, just try again without continue
after wrong operation.Otherwise there's long time delay.
Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
---
sound/pci/hda/hda_codec.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 960800b..0946eca 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3569,6 +3569,7 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
hda_nid_t fg = codec->afg ? codec->afg : codec->mfg;
int count;
unsigned int state;
+ int err;
/* this delay seems necessary to avoid click noise at power-down */
if (power_state == AC_PWRST_D3) {
@@ -3582,9 +3583,11 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
codec->patch_ops.set_power_state(codec, fg,
power_state);
else {
- snd_hda_codec_read(codec, fg, 0,
+ err = snd_hda_codec_write(codec, fg, 0,
AC_VERB_SET_POWER_STATE,
power_state);
+ if (err < 0)
+ continue;
snd_hda_codec_set_power_to_all(codec, fg, power_state,
true);
}
--
1.7.9.5
More information about the Alsa-devel
mailing list