Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 058e0676 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://github.com/tiwai/sound

* 'for-linus' of git://github.com/tiwai/sound:
  ASoC: ssm2602: Re-enable oscillator after suspend
  ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag
  ALSA: hda/realtek - Don't detect LO jack when identical with HP
  ALSA: hda/realtek - Avoid bogus HP-pin assignment
  ALSA: HDA: No power nids on 92HD93
  ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active
parents 57119327 0fac2590
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -578,6 +578,10 @@ static void alc_line_automute(struct hda_codec *codec)
{
	struct alc_spec *spec = codec->spec;

	/* check LO jack only when it's different from HP */
	if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0])
		return;

	spec->line_jack_present =
		detect_jacks(codec, ARRAY_SIZE(spec->autocfg.line_out_pins),
			     spec->autocfg.line_out_pins);
@@ -1321,7 +1325,9 @@ static int alc_subsystem_id(struct hda_codec *codec,
	 * 15   : 1 --> enable the function "Mute internal speaker
	 *	        when the external headphone out jack is plugged"
	 */
	if (!spec->autocfg.hp_pins[0]) {
	if (!spec->autocfg.hp_pins[0] &&
	    !(spec->autocfg.line_out_pins[0] &&
	      spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) {
		hda_nid_t nid;
		tmp = (ass >> 11) & 0x3;	/* HP to chassis */
		if (tmp == 0)
+1 −0
Original line number Diff line number Diff line
@@ -5630,6 +5630,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
	switch (codec->vendor_id) {
	case 0x111d76d1:
	case 0x111d76d9:
	case 0x111d76df:
	case 0x111d76e5:
	case 0x111d7666:
	case 0x111d7667:
+2 −1
Original line number Diff line number Diff line
@@ -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:
+6 −0
Original line number Diff line number Diff line
@@ -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 ||
+5 −3
Original line number Diff line number Diff line
@@ -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(&register_mutex);
 __err_val:
	return NULL;