1. 25 Aug, 2019 1 commit
    • Takashi Iwai's avatar
      ALSA: usb-audio: Clean up check_input_term() · e0ccdef9
      Takashi Iwai authored
      The primary changes in this patch are cleanups of __check_input_term()
      and move to a non-nested switch-case block by evaluating the pair of
      UAC version and the unit type, as we've done for parse_audio_unit().
      Also each parser is split into the function for readability.
      
      Now, a slight behavior change by this cleanup is the handling of
      processing and extension units.  Formerly we've dealt with them
      differently between UAC1/2 and UAC3; the latter returns an error if no
      input sources are available, while the former continues to parse.
      
      In this patch, unify the behavior in all cases: when input sources are
      available, it parses recursively, then override the type and the id,
      as well as channel information if not provided yet.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e0ccdef9
  2. 22 Aug, 2019 8 commits
  3. 21 Aug, 2019 2 commits
    • Takashi Iwai's avatar
      ALSA: line6: Fix memory leak at line6_init_pcm() error path · 1bc8d18c
      Takashi Iwai authored
      I forgot to release the allocated object at the early error path in
      line6_init_pcm().  For addressing it, slightly shuffle the code so
      that the PCM destructor (pcm->private_free) is assigned properly
      before all error paths.
      
      Fixes: 34501219 ("ALSA: line6: Fix write on zero-sized buffer")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1bc8d18c
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() · 6de3c9e3
      Takashi Iwai authored
      The quirk function snd_emuusb_set_samplerate() has a NULL check for
      the mixer element, but this is useless in the current code.  It used
      to be a check against mixer->id_elems[unitid] but it was changed later
      to the value after mixer_eleme_list_to_info() which is always non-NULL
      due to the container_of() usage.
      
      This patch fixes the check before the conversion.
      
      While we're at it, correct a typo in the comment in the function,
      too.
      
      Fixes: 8c558076 ("ALSA: usb-audio: Clean up mixer element list traverse")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6de3c9e3
  4. 20 Aug, 2019 2 commits
  5. 19 Aug, 2019 1 commit
  6. 16 Aug, 2019 2 commits
  7. 15 Aug, 2019 2 commits
  8. 14 Aug, 2019 8 commits
  9. 13 Aug, 2019 2 commits
  10. 12 Aug, 2019 1 commit
    • Takashi Iwai's avatar
      ALSA: hda: Set fifo_size for both playback and capture streams · 7da20788
      Takashi Iwai authored
      Currently we set hdac_stream.fifo_size field only for the playback
      stream by some odd reason I forgot, while this field isn't referred in
      any places.  Actually this fifo_size field would have been required in
      the position report correction for VIA chipset, but due to the lack of
      the fifo_size set for capture streams, snd-hda-intel driver fetches
      the register by itself.
      
      This patch straightens and simplifies the code by setting the
      fifo_size field for both playback and capture streams, and use it in
      the HD-audio controller driver.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7da20788
  11. 10 Aug, 2019 1 commit
    • Wenwen Wang's avatar
      ALSA: hda - Fix a memory leak bug · cfef67f0
      Wenwen Wang authored
      In snd_hda_parse_generic_codec(), 'spec' is allocated through kzalloc().
      Then, the pin widgets in 'codec' are parsed. However, if the parsing
      process fails, 'spec' is not deallocated, leading to a memory leak.
      
      To fix the above issue, free 'spec' before returning the error.
      
      Fixes: 352f7f91 ("ALSA: hda - Merge Realtek parser code to generic parser")
      Signed-off-by: default avatarWenwen Wang <wenwen@cs.uga.edu>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cfef67f0
  12. 09 Aug, 2019 8 commits
  13. 08 Aug, 2019 2 commits
    • Takashi Iwai's avatar
      Merge branch 'topic/hda-bus-ops-cleanup' into for-next · 3a76a41f
      Takashi Iwai authored
      Pull HD-audio bus ops cleanups.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3a76a41f
    • Takashi Iwai's avatar
      ASoC: SOF: Intel: Initialize hdaudio bus properly · d4ff1b39
      Takashi Iwai authored
      The SOF HD-audio bus has its house-made initialization code.  It's
      supposedly for making the code independent from HD-audio bus drivers.
      However, this is error-prone, and above all, the SOF driver has
      already dependency on HD-audio bus driver when CONFIG_SND_SOF_HDA is
      set.  That is, if this Kconfig is set, there is no reason to avoid the
      call to the proper bus init function.
      
      Also, the ext_ops that is set at bus initialization can be better
      handled inside sof_hda_bus_init().  We don't need to refer this
      outside the bus initialization.
      
      So this patch addresses these issues:
      - sof_hda_bus_init() calls nothing but snd_hdac_ext_bus_init()
        when CONFIG_SND_SOF_HDA is set.  Otherwise some fields are
        initialized locally like before for avoiding the dependency.
      - ext_ops is referred inside sof_hda_bus_init().  The ext_ops argument
        of snd_hda_bus_init() is dropped.
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d4ff1b39