1. 22 Aug, 2019 8 commits
  2. 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
  3. 20 Aug, 2019 2 commits
  4. 19 Aug, 2019 1 commit
  5. 16 Aug, 2019 2 commits
  6. 15 Aug, 2019 2 commits
  7. 14 Aug, 2019 8 commits
  8. 13 Aug, 2019 2 commits
  9. 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
  10. 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
  11. 09 Aug, 2019 8 commits
  12. 08 Aug, 2019 3 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
    • Takashi Iwai's avatar
      ALSA: hda: Direct MMIO accesses · 19abfefd
      Takashi Iwai authored
      HD-audio drivers access to the mmio registers indirectly via the
      corresponding bus->io_ops callbacks.  This is because some platform
      (notably Tegra SoC) requires the word-aligned access.  But it's rather
      a rare case, and other platforms suffer from the penalties by indirect
      calls unnecessarily.
      
      This patch is an attempt to optimize and cleanup for this situation.
      Now the special aligned access is used only when a new kconfig
      CONFIG_SND_HDA_ALIGNED_MMIO is set.  And the HD-audio core itself
      provides the aligned MMIO access helpers instead of the driver side.
      If Kconfig isn't set (as default), the standard helpers like readl()
      or writel() are used directly.
      
      A couple of places in ASoC Intel drivers have the access via io_ops
      reg_writel(), and they are replaced with the direct writel() calls.
      
      And now with this patch, the whole bus->io_ops becomes empty, so it's
      dropped completely.  The bus initialization functions are changed
      accordingly as well to drop the whole bus->io_ops.
      Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      19abfefd