Merge branch 'for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 6 Oct 2009 11:11:09 +0000 (12:11 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 6 Oct 2009 11:11:09 +0000 (12:11 +0100)
sound/soc/codecs/wm8940.c
sound/soc/soc-dapm.c

index da97aae..1ef2454 100644 (file)
@@ -790,7 +790,7 @@ static int wm8940_register(struct wm8940_priv *wm8940,
        codec->reg_cache = &wm8940->reg_cache;
 
        ret = snd_soc_codec_set_cache_io(codec, 8, 16, control);
-       if (ret == 0) {
+       if (ret < 0) {
                dev_err(codec->dev, "Failed to set cache I/O: %d\n", ret);
                return ret;
        }
index f79711b..8de6f9d 100644 (file)
@@ -524,7 +524,7 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget)
 
                /* connected jack or spk ? */
                if (widget->id == snd_soc_dapm_hp || widget->id == snd_soc_dapm_spk ||
-                       widget->id == snd_soc_dapm_line)
+                   (widget->id == snd_soc_dapm_line && !list_empty(&widget->sources)))
                        return 1;
        }
 
@@ -573,7 +573,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget)
                        return 1;
 
                /* connected jack ? */
-               if (widget->id == snd_soc_dapm_mic || widget->id == snd_soc_dapm_line)
+               if (widget->id == snd_soc_dapm_mic ||
+                   (widget->id == snd_soc_dapm_line && !list_empty(&widget->sinks)))
                        return 1;
        }