[alsa-devel] [PATCH] ALSA : hda - bug fix on checking the supported power states of a codec
Lin, Mengdong
mengdong.lin at intel.com
Fri Aug 10 12:18:57 CEST 2012
The return value of snd_hda_param_read() is -1 for an error, otherwise it's the supported power states of a codec.
The supported power states is a 32-bit value. Bit 31 will be set to 1 if the codec supports EPSS, thus making "sup" negative. And the bit 28:5 is reserved as "0".
So a negative value other than -1 shall be further checked.
Please refer to High-Definition spec 7.3.4.12 "Supported Power States", thanks!
Signed-off-by: Mengdong Lin <mengdong.lin at intel.com>
---
sound/pci/hda/hda_codec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 88a9c20..629131a 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3497,7 +3497,7 @@ static bool snd_hda_codec_get_supported_ps(struct hda_codec *codec, hda_nid_t fg {
int sup = snd_hda_param_read(codec, fg, AC_PAR_POWER_STATE);
- if (sup < 0)
+ if (sup == -1)
return false;
if (sup & power_state)
return true;
--
1.7.9.5
More information about the Alsa-devel
mailing list