1. 29 Apr, 2014 1 commit
    • Jarkko Nikula's avatar
      ASoC: core: Fix component_list corruption when unloading modules · 4da53393
      Jarkko Nikula authored
      This fixes module unload regressions introduced by commits 98e639fb
      ("ASoC: Track which components have been registered with
      snd_soc_register_component()") and b37f1d12 ("ASoC: Let snd_soc_platform
      subclass snd_soc_component").
      
      First commit causes component_list to be corrupted when removing codec and
      second when removing platform. Reason for both is that components associated
      with platform or codec are never removed from the list because for them
      registered_as_component field in struct snd_soc_component is always false.
      
      Now list becomes corrupted when snd_soc_unregister_platform() or
      snd_soc_unregister_codec() frees the platform or codec structure and where
      the associated struct snd_soc_component is embedded.
      
      Fix these by moving component unregistration and cleanup to a new local
      function __snd_soc_unregister_component() that takes component as its
      argument.
      
      Since component is known for platforms and codecs the
      __snd_soc_unregister_component() can be called directly and
      snd_soc_unregister_component() takes care to find and unregister only
      components that were registered using snd_soc_register_component().
      Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      4da53393
  2. 22 Apr, 2014 7 commits
  3. 21 Apr, 2014 2 commits
  4. 18 Apr, 2014 2 commits
  5. 15 Apr, 2014 1 commit
  6. 14 Apr, 2014 27 commits