Skip to content
  1. May 28, 2019
    • Ranjani Sridharan's avatar
      ASoC: SOF: core: remove DSP after unregistering machine driver · b85459aa
      Ranjani Sridharan authored
      
      
      snd_sof_remove() disables the DSP and unmaps the DSP BAR.
      Removing topology after disabling the DSP results in a
      kernel panic while unloading the pipeline widget. This is
      because pipeline widget unload attempts to power down
      the core it is scheduled on by accessing the DSP registers.
      
      So, the suggested fix here is to unregister the machine driver
      first to remove the topology and then disable the DSP
      to avoid the situation described above.
      
      Note that the kernel panic only happens in cases where the
      HDaudio link is not managed by the hdac library,
      e.g. no codec or when HDMI is not supported.
      When the hdac library is used, snd_sof_remove() calls
      snd_hdac_ext_bus_device_remove() to remove the codec which
      unregisters the component driver thereby also removing the
      topology before the DSP is disabled.
      
      Fixes: c16211d6 ("ASoC: SOF: Add Sound Open Firmware driver core")
      Reviewed-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      b85459aa
    • Kuninori Morimoto's avatar
      ASoC: soc-core: fixup references at soc_cleanup_card_resources() · 29040d1a
      Kuninori Morimoto authored
      
      
      commit 53e947a0 ("ASoC: soc-core: merge card resources cleanup
      method") merged cleanup method of snd_soc_instantiate_card() and
      soc_cleanup_card_resources().
      
      But, after this commit, if user uses unbind/bind to Component factor
      drivers, Kernel might indicates refcount error at
      soc_cleanup_card_resources().
      
      The 1st reason is card->snd_card is still exist even though
      snd_card_free() was called, but it is already cleaned.
      We need to set NULL to it.
      
      2nd is card->dapm and card create debugfs, but its dentry is still
      exist even though it was removed. We need to set NULL to it.
      
      Fixes: 53e947a0 ("ASoC: soc-core: merge card resources cleanup method")
      Cc: stable@vger.kernel.org # for v5.1
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      29040d1a
  2. May 24, 2019
    • Ranjani Sridharan's avatar
      ASoC: core: lock client_mutex while removing link components · 34ac3c3e
      Ranjani Sridharan authored
      
      
      Removing link components results in topology unloading. So,
      acquire the client_mutex before removing components in
      soc_remove_link_components. This will prevent the lockdep warning
      seen when dai links are removed during topology removal.
      
      Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      34ac3c3e
    • Jon Hunter's avatar
      ASoC: simple-card: Restore original configuration of DAI format · 4819d062
      Jon Hunter authored
      
      
      Revert commit 069d037a ("ASoC: simple-card: Fix configuration of
      DAI format"). During further review, it turns out that the actual issue
      was caused by an incorrectly formatted device-tree node describing the
      soundcard.
      
      The following is incorrect because the simple-audio-card
      'bitclock-master' and 'frame-master' properties should not reference the
      actual codec phandle ...
      
      	sound {
      		compatible = "simple-audio-card";
      		...
      	=>	simple-audio-card,bitclock-master = <&codec>;
      	=>	simple-audio-card,frame-master = <&codec>;
      		...
      
      		simple-audio-card,cpu {
      			sound-dai = <&xxx>;
      		};
      
      		simple-audio-card,codec {
      	=>		sound-dai = <&codec>;
      		};
      	};
      
      Rather, these properties should reference the phandle to the
      'simple-audio-card,codec' property as shown below ...
      
      	sound {
      		compatible = "simple-audio-card";
      		...
      	=>	simple-audio-card,bitclock-master = <&codec>;
      	=>	simple-audio-card,frame-master = <&codec>;
      		...
      
      		simple-audio-card,cpu {
      			sound-dai = <&xxx>;
      		};
      
      	=>	codec: simple-audio-card,codec { /* simple-card wants here */
      			sound-dai = <&xxx>;	 /* not here */
      		};
      	};
      
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      4819d062
  3. May 21, 2019
  4. May 20, 2019
  5. May 17, 2019
  6. May 16, 2019
  7. May 13, 2019
  8. May 09, 2019
    • Takashi Iwai's avatar
      ASoC: SOF: Fix unused variable warnings · 7f6647ce
      Takashi Iwai authored
      
      
      The recent fix for the build fix caused a couple of unused variable
      compiler warnings when CONFIG_SND_SOC_SOF_NOCODEC isn't set:
        sound/soc/sof/core.c:263:6: warning: unused variable ‘ret’ [-Wunused-variable]
        sound/soc/sof/core.c:262:28: warning: unused variable ‘machine’ [-Wunused-variable]
      
      Fix them by adding another ifdef.
      
      Fixes: ce38a750 ("ASoC: SOF: core: fix undefined nocodec reference")
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      7f6647ce
  9. May 08, 2019
  10. May 07, 2019
  11. May 06, 2019
  12. May 03, 2019
Loading