1. 07 Feb, 2018 4 commits
    • Mark Brown's avatar
      Merge remote-tracking branches 'asoc/fix/compress', 'asoc/fix/core',... · ce8ee02d
      Mark Brown authored
      Merge remote-tracking branches 'asoc/fix/compress', 'asoc/fix/core', 'asoc/fix/dapm', 'asoc/fix/mtk' and 'asoc/fix/stm' into asoc-next
      ce8ee02d
    • Olivier Moysan's avatar
      ASoC: stm32: add of dependency for stm32 drivers · 276d70f7
      Olivier Moysan authored
      Add of dependency for STM32 ASoC drivers.
      DFSDM of dependency is already inherited
      from STM32_DFSDM_ADC dependency.
      Signed-off-by: default avatarolivier moysan <olivier.moysan@st.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      276d70f7
    • Johan Hovold's avatar
      ASoC: mt8173-rt5650: fix child-node lookup · 3a0a7b26
      Johan Hovold authored
      This driver used the wrong OF-helper when looking up the optional
      capture-codec child node during probe. Instead of searching just
      children of the sound node, a tree-wide depth-first search starting at
      the unrelated platform node was done. Not only could this end up
      matching an unrelated node or no node at all; the platform node could
      also be prematurely freed since of_find_node_by_name() drops a reference
      to its first argument. This particular pattern has been observed leading
      to crashes after probe deferrals in other drivers.
      
      Fix this by dropping the broken call to of_find_node_by_name() and
      keeping only the second, correct lookup using of_get_child_by_name()
      while taking care not to bail out if the optional node is missing.
      
      Note that this also addresses two capture-codec node-reference leaks
      (one for each of the original helper calls).
      
      Compile tested only.
      
      Fixes: d349caeb ("ASoC: mediatek: Add second I2S on mt8173-rt5650 machine driver")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      3a0a7b26
    • KaiChieh Chuang's avatar
      ASoC: dapm: fix debugfs read using path->connected · 28735af3
      KaiChieh Chuang authored
      This fix a bug in dapm_widget_power_read_file(),
      where it may sent opposite order of source/sink widget
      into the p->connected().
      
      for example,
      static int connected_check(source, sink);
      {"w_sink", NULL, "w_source", connected_check}
      
      the dapm_widget_power_read_file() will query p->connected()
      in following case
      	p->conneted("w_source", "w_sink")
      	p->conneted("w_sink", "w_source")
      we should avoid the last case, since it's the wrong order (source/sink)
      as declared in snd_soc_dapm_route.
      Signed-off-by: default avatarKaiChieh Chuang <kaichieh.chuang@mediatek.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      28735af3
  2. 26 Jan, 2018 1 commit
    • Charles Keepax's avatar
      ASoC: compress: Correct handling of copy callback · 290df4d3
      Charles Keepax authored
      The soc_compr_copy callback is currently broken. Since the
      changes to move the compr_ops over to the component the return
      value is not correctly propagated, always returning zero on
      success rather than the number of bytes copied. This causes
      user-space to stall continuously reading as it does not believe
      it has received any data.
      
      Furthermore, the changes to move the compr_ops over to the
      component iterate through the list of components and will call
      the copy callback for any that have compressed ops. There isn't
      currently any consensus on the mechanism to combine the results
      of multiple copy callbacks.
      
      To fix this issue for now halt searching the component list when
      we locate a copy callback and return the result of that single
      callback. Additional work should probably be done to look at the
      other ops, tidy things up, and work out if we want to support
      multiple components on a single compressed, but this is the only
      fix required to get things working again.
      
      Fixes: 9e7e3738 ("ASoC: snd_soc_component_driver has snd_compr_ops")
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      290df4d3
  3. 24 Jan, 2018 1 commit
  4. 12 Jan, 2018 28 commits
  5. 11 Jan, 2018 6 commits