diff options
-rw-r--r-- | sound/pci/hda/hda_codec.c | 2 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index e594de0b153e..535bcb7601b5 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -155,6 +155,8 @@ int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid, | |||
155 | unsigned int parm; | 155 | unsigned int parm; |
156 | 156 | ||
157 | parm = snd_hda_param_read(codec, nid, AC_PAR_NODE_COUNT); | 157 | parm = snd_hda_param_read(codec, nid, AC_PAR_NODE_COUNT); |
158 | if (parm == -1) | ||
159 | return 0; | ||
158 | *start_id = (parm >> 16) & 0x7fff; | 160 | *start_id = (parm >> 16) & 0x7fff; |
159 | return (int)(parm & 0x7fff); | 161 | return (int)(parm & 0x7fff); |
160 | } | 162 | } |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 72fd34538994..68dc9a2e3cf8 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -687,6 +687,9 @@ static int azx_reset(struct azx *chip) | |||
687 | { | 687 | { |
688 | int count; | 688 | int count; |
689 | 689 | ||
690 | /* clear STATESTS */ | ||
691 | azx_writeb(chip, STATESTS, STATESTS_INT_MASK); | ||
692 | |||
690 | /* reset controller */ | 693 | /* reset controller */ |
691 | azx_writel(chip, GCTL, azx_readl(chip, GCTL) & ~ICH6_GCTL_RESET); | 694 | azx_writel(chip, GCTL, azx_readl(chip, GCTL) & ~ICH6_GCTL_RESET); |
692 | 695 | ||