Loading sound/pci/hda/hda_intel.c +5 −4 Original line number Diff line number Diff line Loading @@ -2032,7 +2032,8 @@ static unsigned int azx_via_get_position(struct azx *chip, } static unsigned int azx_get_position(struct azx *chip, struct azx_dev *azx_dev) struct azx_dev *azx_dev, bool with_check) { unsigned int pos; int stream = azx_dev->substream->stream; Loading @@ -2048,7 +2049,7 @@ static unsigned int azx_get_position(struct azx *chip, default: /* use the position buffer */ pos = le32_to_cpu(*azx_dev->posbuf); if (chip->position_fix[stream] == POS_FIX_AUTO) { if (with_check && chip->position_fix[stream] == POS_FIX_AUTO) { if (!pos || pos == (u32)-1) { printk(KERN_WARNING "hda-intel: Invalid position buffer, " Loading @@ -2072,7 +2073,7 @@ static snd_pcm_uframes_t azx_pcm_pointer(struct snd_pcm_substream *substream) struct azx *chip = apcm->chip; struct azx_dev *azx_dev = get_azx_dev(substream); return bytes_to_frames(substream->runtime, azx_get_position(chip, azx_dev)); azx_get_position(chip, azx_dev, false)); } /* Loading @@ -2095,7 +2096,7 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev) return -1; /* bogus (too early) interrupt */ stream = azx_dev->substream->stream; pos = azx_get_position(chip, azx_dev); pos = azx_get_position(chip, azx_dev, true); if (WARN_ONCE(!azx_dev->period_bytes, "hda-intel: zero azx_dev->period_bytes")) Loading sound/soc/codecs/ssm2602.c +2 −1 Original line number Diff line number Diff line Loading @@ -431,7 +431,8 @@ static int ssm2602_set_dai_fmt(struct snd_soc_dai *codec_dai, static int ssm2602_set_bias_level(struct snd_soc_codec *codec, enum snd_soc_bias_level level) { u16 reg = snd_soc_read(codec, SSM2602_PWR) & 0xff7f; u16 reg = snd_soc_read(codec, SSM2602_PWR); reg &= ~(PWR_POWER_OFF | PWR_OSC_PDN); switch (level) { case SND_SOC_BIAS_ON: Loading sound/soc/omap/omap-mcbsp.c +6 −0 Original line number Diff line number Diff line Loading @@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; int err = 0; if (mcbsp_data->active) if (freq == mcbsp_data->in_freq) return 0; else return -EBUSY; /* The McBSP signal muxing functions are only available on McBSP1 */ if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR || clk_id == OMAP_MCBSP_CLKR_SRC_CLKX || Loading sound/usb/card.c +5 −3 Original line number Diff line number Diff line Loading @@ -530,9 +530,11 @@ snd_usb_audio_probe(struct usb_device *dev, return chip; __error: if (chip && !chip->num_interfaces) if (chip) { if (!chip->num_interfaces) snd_card_free(chip->card); chip->probing = 0; } mutex_unlock(®ister_mutex); __err_val: return NULL; Loading Loading
sound/pci/hda/hda_intel.c +5 −4 Original line number Diff line number Diff line Loading @@ -2032,7 +2032,8 @@ static unsigned int azx_via_get_position(struct azx *chip, } static unsigned int azx_get_position(struct azx *chip, struct azx_dev *azx_dev) struct azx_dev *azx_dev, bool with_check) { unsigned int pos; int stream = azx_dev->substream->stream; Loading @@ -2048,7 +2049,7 @@ static unsigned int azx_get_position(struct azx *chip, default: /* use the position buffer */ pos = le32_to_cpu(*azx_dev->posbuf); if (chip->position_fix[stream] == POS_FIX_AUTO) { if (with_check && chip->position_fix[stream] == POS_FIX_AUTO) { if (!pos || pos == (u32)-1) { printk(KERN_WARNING "hda-intel: Invalid position buffer, " Loading @@ -2072,7 +2073,7 @@ static snd_pcm_uframes_t azx_pcm_pointer(struct snd_pcm_substream *substream) struct azx *chip = apcm->chip; struct azx_dev *azx_dev = get_azx_dev(substream); return bytes_to_frames(substream->runtime, azx_get_position(chip, azx_dev)); azx_get_position(chip, azx_dev, false)); } /* Loading @@ -2095,7 +2096,7 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev) return -1; /* bogus (too early) interrupt */ stream = azx_dev->substream->stream; pos = azx_get_position(chip, azx_dev); pos = azx_get_position(chip, azx_dev, true); if (WARN_ONCE(!azx_dev->period_bytes, "hda-intel: zero azx_dev->period_bytes")) Loading
sound/soc/codecs/ssm2602.c +2 −1 Original line number Diff line number Diff line Loading @@ -431,7 +431,8 @@ static int ssm2602_set_dai_fmt(struct snd_soc_dai *codec_dai, static int ssm2602_set_bias_level(struct snd_soc_codec *codec, enum snd_soc_bias_level level) { u16 reg = snd_soc_read(codec, SSM2602_PWR) & 0xff7f; u16 reg = snd_soc_read(codec, SSM2602_PWR); reg &= ~(PWR_POWER_OFF | PWR_OSC_PDN); switch (level) { case SND_SOC_BIAS_ON: Loading
sound/soc/omap/omap-mcbsp.c +6 −0 Original line number Diff line number Diff line Loading @@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; int err = 0; if (mcbsp_data->active) if (freq == mcbsp_data->in_freq) return 0; else return -EBUSY; /* The McBSP signal muxing functions are only available on McBSP1 */ if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR || clk_id == OMAP_MCBSP_CLKR_SRC_CLKX || Loading
sound/usb/card.c +5 −3 Original line number Diff line number Diff line Loading @@ -530,9 +530,11 @@ snd_usb_audio_probe(struct usb_device *dev, return chip; __error: if (chip && !chip->num_interfaces) if (chip) { if (!chip->num_interfaces) snd_card_free(chip->card); chip->probing = 0; } mutex_unlock(®ister_mutex); __err_val: return NULL; Loading