24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

22 Aug, 2020

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of small fixes over several drivers, but all are driver-
    specific and nothing looks scary.

    Slightly large changes are seen in ASoC qcom driver for the bugs that
    were revealed by the recent ASoC core change to report the invalid
    register access errors. Also ASoC fsl got a slight intensive change
    for the distortion fix.

    Others are only trivial fixes or device-specific quirks"

    * tag 'sound-5.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (25 commits)
    ALSA: hda: avoid reset of sdo_limit
    ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion
    ALSA: usb-audio: ignore broken processing/extension unit
    ASoC: intel: Fix memleak in sst_media_open
    ASoC: wm8994: Avoid attempts to read unreadable registers
    ASoC: msm8916-wcd-analog: fix register Interrupt offset
    ASoC: wm8994: Prevent access to invalid VU register bits on WM1811
    ALSA: hda/realtek: Add model alc298-samsung-headphone
    ALSA: usb-audio: Update documentation comment for MS2109 quirk
    ALSA: isa: fix spelling mistakes in the comments
    ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1)
    ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book
    ASoC: q6routing: add dummy register read/write function
    ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM
    ASoC: Make soc_component_read() returning an error code again
    ASoC: amd: Replacing component->name with codec_dai->name.
    ASoC: fsl: Fix unused variable warning
    ASoC: tegra: tegra210_i2s: Fix compile warning with CONFIG_PM=n
    ASoC: tegra: tegra210_dmic: Fix compile warning with CONFIG_PM=n
    ASoC: tegra: tegra210_ahub: Fix compile warning with CONFIG_PM=n
    ...

    Linus Torvalds
     

19 Aug, 2020

3 commits

  • By default 'sdo_limit' is initialized with a default value of '8'
    as per spec. This is overridden in cases where a different value is
    required. However this is getting reset when snd_hdac_bus_init_chip()
    is called again, which happens during runtime PM cycle.

    Avoid this reset by moving 'sdo_limit' setup to 'snd_hdac_bus_init()'
    function which would be called only once.

    Fixes: 67ae482a59e9 ("ALSA: hda: add member to store ratio for stripe control")
    Cc:
    Signed-off-by: Sameer Pujar
    Link: https://lore.kernel.org/r/1597851130-6765-1-git-send-email-spujar@nvidia.com
    Signed-off-by: Takashi Iwai

    Sameer Pujar
     
  • The Galaxy Book Ion uses the same ALC298 codec as other Samsung laptops
    which have the no headphone sound bug, like my Samsung Notebook. The
    Galaxy Book owner confirmed that this patch fixes the bug.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207423
    Signed-off-by: Mike Pozulp
    Cc:
    Link: https://lore.kernel.org/r/20200818165446.499821-1-pozulp.kernel@gmail.com
    Signed-off-by: Takashi Iwai

    Mike Pozulp
     
  • …/broonie/sound into for-linus

    ASoC: Fixes for v5.9

    A bunch of fixes that came in during the merge window, mostly for issues
    that were uncovered by the changes to report errors on invalid register
    access plus one important fix in that code itself.

    Takashi Iwai
     

18 Aug, 2020

1 commit

  • Some devices have broken extension unit where getting current value
    doesn't work. Attempt that once when creating mixer control for it. If
    it fails, just ignore it, so that it won't cripple the device entirely
    (and/or make the error floods).

    Signed-off-by: Tom Yan
    Link: https://lore.kernel.org/r/5f3abc52.1c69fb81.9cf2.fe91@mx.google.com
    Signed-off-by: Takashi Iwai

    Tom Yan
     

17 Aug, 2020

6 commits

  • When power_up_sst() fails, stream needs to be freed
    just like when try_module_get() fails. However, current
    code is returning directly and ends up leaking memory.

    Fixes: 0121327c1a68b ("ASoC: Intel: mfld-pcm: add control for powering up/down dsp")
    Signed-off-by: Dinghao Liu
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200813084112.26205-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Mark Brown

    Dinghao Liu
     
  • The driver supports WM1811, WM8994, WM8958 devices but according to
    documentation and the regmap definitions the WM8958_DSP2_* registers
    are only available on WM8958. In current code these registers are
    being accessed as if they were available on all the three chips.

    When starting playback on WM1811 CODEC multiple errors like:
    "wm8994-codec wm8994-codec: ASoC: error at soc_component_read_no_lock on wm8994-codec: -5"
    can be seen, which is caused by attempts to read an unavailable
    WM8958_DSP2_PROGRAM register. The issue has been uncovered by recent
    commit "e2329ee ASoC: soc-component: add soc_component_err()".

    This patch adds a check in wm8958_aif_ev() callback so the DSP2 handling
    is only done for WM8958.

    Signed-off-by: Sylwester Nawrocki
    Acked-by: Charles Keepax
    Link: https://lore.kernel.org/r/20200731173834.23832-1-s.nawrocki@samsung.com
    Signed-off-by: Mark Brown

    Sylwester Nawrocki
     
  • For some reason interrupt set and clear register offsets are
    not set correctly.
    This patch corrects them!

    Fixes: 585e881e5b9e ("ASoC: codecs: Add msm8916-wcd analog codec")
    Signed-off-by: Srinivas Kandagatla
    Tested-by: Stephan Gerhold
    Reviewed-by: Stephan Gerhold
    Link: https://lore.kernel.org/r/20200811103452.20448-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Mark Brown

    Srinivas Kandagatla
     
  • The ADC2 and DAC2 are not available on WM1811 device. This patch moves
    the ADC2, DAC2 VU bitfields to a separate array so we can skip accessing
    them and avoid unreadable register access on WM1811.

    This allows to get rid of warnings during boot like:
    wm8994-codec: ASoC: error at soc_component_read_no_lock on wm8994-codec: -5

    Signed-off-by: Sylwester Nawrocki
    Link: https://lore.kernel.org/r/20200804141043.11425-1-s.nawrocki@samsung.com
    Signed-off-by: Mark Brown

    Sylwester Nawrocki
     
  • The very quiet and distorted headphone output bug that afflicted my
    Samsung Notebook 9 is appearing in many other Samsung laptops. Expose
    the quirk which fixed my laptop as a model so other users can try it.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207423
    Signed-off-by: Mike Pozulp
    Link: https://lore.kernel.org/r/20200817043219.458889-1-pozulp.kernel@gmail.com
    Signed-off-by: Takashi Iwai

    Mike Pozulp
     
  • As the recent fix addressed the channel swap problem more properly,
    update the comment as well.

    Fixes: 1b7ecc241a67 ("ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109")
    Signed-off-by: Hector Martin
    Link: https://lore.kernel.org/r/20200816084431.102151-1-marcan@marcan.st
    Signed-off-by: Takashi Iwai

    Hector Martin
     

16 Aug, 2020

1 commit


15 Aug, 2020

2 commits

  • Capture and playback endpoints on Saffire 6 (USB 1.1) resides on the same
    interface. This was not supported by the composite quirk back in the day
    when initial support for this device was added, thus only playback was
    enabled until now.

    Fixes: 11e424e88bd4 ("ALSA: usb-audio: Add support for Focusrite Saffire 6 USB")
    Signed-off-by: Alexander Tsoy
    Cc:
    Link: https://lore.kernel.org/r/20200815002103.29247-1-alexander@tsoy.me
    Signed-off-by: Takashi Iwai

    Alexander Tsoy
     
  • Pull sound fixes from Takashi Iwai:
    "All device-specific small fixes and quirks mostly for usual suspects,
    USB-audio and HD-audio"

    * tag 'sound-fix-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
    ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop
    ALSA: hda/realtek - Fix unused variable warning
    ALSA: hda - reverse the setting value in the micmute_led_set
    ALSA: echoaduio: Drop superfluous volatile modifier
    ALSA: usb-audio: Disable Lenovo P620 Rear line-in volume control
    ALSA: usb-audio: add quirk for Pioneer DDJ-RB
    ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
    ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO
    ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
    ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged
    ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
    ALSA: usb-audio: fix spelling mistake "buss" -> "bus"

    Linus Torvalds
     

14 Aug, 2020

1 commit

  • The Flex Book uses the same ALC298 codec as other Samsung laptops which
    have the no headphone sound bug, like my Samsung Notebook. The Flex Book
    owner used Early Patching to confirm that this quirk fixes the bug.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207423
    Signed-off-by: Mike Pozulp
    Cc:
    Link: https://lore.kernel.org/r/20200814045346.645367-1-pozulp.kernel@gmail.com
    Signed-off-by: Takashi Iwai

    Mike Pozulp
     

13 Aug, 2020

1 commit

  • Freeing chip on error may lead to an Oops at the next time
    the system goes to resume. Fix this by removing all
    snd_echo_free() calls on error.

    Fixes: 47b5d028fdce8 ("ALSA: Echoaudio - Add suspend support #2")
    Signed-off-by: Dinghao Liu
    Link: https://lore.kernel.org/r/20200813074632.17022-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Takashi Iwai

    Dinghao Liu
     

12 Aug, 2020

2 commits

  • There's another HP desktop has buggy BIOS which flags the Port
    Connectivity bit as no connection.

    Apply force connectivity quirk to enable DP/HDMI audio.

    Signed-off-by: Kai-Heng Feng
    Link: https://lore.kernel.org/r/20200811095336.32396-1-kai.heng.feng@canonical.com
    Signed-off-by: Takashi Iwai

    Kai-Heng Feng
     
  • The previous fix forgot to remove the unused variable that triggers a
    compile warning now:
    sound/pci/hda/patch_realtek.c: In function 'alc285_fixup_hp_gpio_led':
    sound/pci/hda/patch_realtek.c:4163:19: warning: unused variable 'spec' [-Wunused-variable]

    Fix it.

    Fixes: 404690649e6a ("ALSA: hda - reverse the setting value in the micmute_led_set")
    Reported-by: Stephen Rothwell
    Link: https://lore.kernel.org/r/20200812070256.32145-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

11 Aug, 2020

6 commits

  • Most of the DAPM widgets for DSP ASoC components reuse reg field
    of the widgets for its internal calculations, however these are not
    real registers. So read/writes to these numbers are not really
    valid. However ASoC core will read these registers to get default
    state during startup.

    With recent changes to ASoC core, every register read/write
    failures are reported very verbosely. Prior to this fails to reads
    are totally ignored, so we never saw any error messages.

    To fix this add dummy read/write function to return default value.

    Fixes: e3a33673e845 ("ASoC: qdsp6: q6routing: Add q6routing driver")
    Reported-by: John Stultz
    Signed-off-by: Srinivas Kandagatla
    Link: https://lore.kernel.org/r/20200811120205.21805-2-srinivas.kandagatla@linaro.org
    Signed-off-by: Mark Brown

    Srinivas Kandagatla
     
  • Looks like the q6afe-dai dapm widget registers are set as "0",
    which is a not correct.

    As this registers will be read by ASoC core during startup
    which will throw up errors, Fix this by making the registers
    as SND_SOC_NOPM as these should be never used.

    With recent changes to ASoC core, every register read/write
    failures are reported very verbosely. Prior to this fails to reads
    are totally ignored, so we never saw any error messages.

    Fixes: 24c4cbcfac09 ("ASoC: qdsp6: q6afe: Add q6afe dai driver")
    Reported-by: John Stultz
    Signed-off-by: Srinivas Kandagatla
    Link: https://lore.kernel.org/r/20200811120205.21805-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Mark Brown

    Srinivas Kandagatla
     
  • Along with the recent unification of snd_soc_component_read*()
    functions, the behavior of snd_soc_component_read() was changed
    slightly; namely it returns the register read value directly, and even
    if an error happens, it returns zero (but it prints an error
    message). That said, the caller side can't know whether it's an error
    or not any longer.

    Ideally this shouldn't matter much, but in practice this seems causing
    a regression, as John reported. And, grepping the tree revealed that
    there are still plenty of callers that do check the error code, so
    we'll need to deal with them in anyway.

    As a quick band-aid over the regression, this patch changes the return
    value of snd_soc_component_read() again to the negative error code.
    It can't work, obviously, for 32bit register values, but it should be
    enough for the known regressions, so far.

    Fixes: cf6e26c71bfd ("ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32()")
    Reported-by: John Stultz
    Signed-off-by: Takashi Iwai
    Link: https://lore.kernel.org/r/20200810134631.19742-1-tiwai@suse.de
    Signed-off-by: Mark Brown

    Takashi Iwai
     
  • Before the micmute_led_set() is introduced, the function of
    alc_gpio_micmute_update() will set the gpio value with the
    !micmute_led.led_value, and the machines have the correct micmute led
    status. After the micmute_led_set() is introduced, it sets the gpio
    value with !!micmute_led.led_value, so the led status is not correct
    anymore, we need to set micmute_led_polarity = 1 to workaround it.

    Now we fix the micmute_led_set() and remove micmute_led_polarity = 1.

    Fixes: 87dc36482cab ("ALSA: hda/realtek - Add LED class support for micmute LED")
    Reported-and-suggested-by: Kai-Heng Feng
    Cc:
    Signed-off-by: Hui Wang
    Link: https://lore.kernel.org/r/20200811122430.6546-1-hui.wang@canonical.com
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • The dsp_registers field of struct echoaduio has the volatile modifier,
    but it's basically superfluous; the field is accessed only for the
    base pointer of readl() and writel(), hence marking with __iomem alone
    should suffice. OTOH, having the volatile prefix causes a compile
    warning like:
    sound/pci/echoaudio/echoaudio.c:1878:14: warning: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Wdiscarded-qualifiers]

    So it's better to drop this superfluous modifier.

    Link: https://lore.kernel.org/r/20200803143958.24324-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Replacing string compare with "codec_dai->name" instead of comparing with
    "codec_dai->component->name" in hw_params because,
    Here the component name for codec RT1015 is "i2c-10EC5682:00"
    and will never be "rt1015-aif1" as it is codec-dai->name.
    So, strcmp() always compares and fails to set the
    sysclk,pll,bratio for expected codec-dai="rt1015-aif1".

    Signed-off-by: Ravulapati Vishnu vardhan rao
    Link: https://lore.kernel.org/r/20200807161046.17932-1-Vishnuvardhanrao.Ravulapati@amd.com
    Signed-off-by: Mark Brown

    Ravulapati Vishnu vardhan rao
     

10 Aug, 2020

5 commits

  • The USB device (0x17aa:0x1046) that support Lenovo P620 rear panel
    line-in claim to support volume control, but it doens't seem to have an
    AMP, so when line-in volume lowers below 80, nothing gets recorded
    anymore.

    Disable the volume control to workaround the issue.

    Fixes: f8c11eb7da4a ("ALSA: usb-audio: Add support for Lenovo ThinkStation P620")
    Signed-off-by: Kai-Heng Feng
    Link: https://lore.kernel.org/r/20200810133108.31580-1-kai.heng.feng@canonical.com
    Signed-off-by: Takashi Iwai

    Kai-Heng Feng
     
  • This is just another Pioneer device with fixed endpoints. Input is dummy
    but used as feedback (it always returns silence).

    Cc: stable@vger.kernel.org
    Signed-off-by: Hector Martin
    Link: https://lore.kernel.org/r/20200810082502.225979-1-marcan@marcan.st
    Signed-off-by: Takashi Iwai

    Hector Martin
     
  • Further investigation of the L-R swap problem on the MS2109 reveals that
    the problem isn't that the channels are swapped, but rather that they
    are swapped and also out of phase by one sample. In other words, the
    issue is actually that the very first frame that comes from the hardware
    is a half-frame containing only the right channel, and after that
    everything becomes offset.

    So introduce a new quirk field to drop the very first 2 bytes that come
    in after the format is configured and a capture stream starts. This puts
    the channels in phase and in the correct order.

    Cc: stable@vger.kernel.org
    Signed-off-by: Hector Martin
    Link: https://lore.kernel.org/r/20200810082400.225858-1-marcan@marcan.st
    Signed-off-by: Takashi Iwai

    Hector Martin
     
  • After installing the Ubuntu Linux, the micmute led status is not
    correct. Users expect that the led is on if the capture is disabled,
    but with the current kernel, the led is off with the capture disabled.

    We tried the old linux kernel like linux-4.15, there is no this issue.
    It looks like we introduced this issue when switching to the led_cdev.

    Cc:
    Signed-off-by: Hui Wang
    Link: https://lore.kernel.org/r/20200810021659.7429-1-hui.wang@canonical.com
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • Matching by device matches all interfaces, which breaks the video/HID
    portions of the device depending on module load order.

    Fixes: e337bf19f6af ("ALSA: usb-audio: add quirk for MacroSilicon MS2109")
    Cc: stable@vger.kernel.org
    Signed-off-by: Hector Martin
    Link: https://lore.kernel.org/r/20200810045319.128745-1-marcan@marcan.st
    Signed-off-by: Takashi Iwai

    Hector Martin
     

07 Aug, 2020

4 commits

  • The jack on Intel NUC 8 Rugged rear panel doesn't work.

    The spec [1] states that the jack supports both headphone and
    microphone, so override a Pin Complex which has both Amp-In and Amp-Out
    to make the jack work.

    Node 0x1b fits the requirement, and user confirmed the jack now works
    with new pin config.

    [1] https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/NUC8CCH_TechProdSpec.pdf
    BugLink: https://bugs.launchpad.net/bugs/1875199

    Signed-off-by: Kai-Heng Feng
    Link: https://lore.kernel.org/r/20200807080514.15293-1-kai.heng.feng@canonical.com
    Signed-off-by: Takashi Iwai

    Kai-Heng Feng
     
  • Pull sound updates from Takashi Iwai:
    "This became wide and scattered updates all over the sound tree as
    diffstat shows: lots of (still ongoing) refactoring works in ASoC,
    fixes and cleanups caught by static analysis, inclusive term
    conversions as well as lots of new drivers. Below are highlights:

    ASoC core:
    - API cleanups and conversions to the unified mute_stream() call
    - Simplify I/O helper functions
    - Use helper macros to retrieve RTD from substreams

    ASoC drivers:
    - Lots of fixes and cleanups in Intel ASoC drivers
    - Lots of new stuff: Freescale MQS and i.MX6sx, Intel KeemBay I2S,
    Maxim MAX98360A and MAX98373 SoundWire, various Mediatek boards,
    nVidia Tegra 186 and 210, RealTek RL6231, Samsung Midas and Aries
    boards, TI J721e EVM

    ALSA core:
    - Minor code refacotring for SG-buffer handling

    HD-audio:
    - Generalization of mute-LED handling with LED classdev
    - Intel silent stream support for HDMI
    - Device-specific fixes: CA0132, Loongson-3

    Others:
    - Usual USB- and HD-audio quirks for various devices
    - Fixes for echoaudio DMA position handling
    - Various documents and trivial fixes for sparse warnings
    - Conversion to adopt inclusive terms"

    * tag 'sound-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (479 commits)
    ALSA: pci: delete repeated words in comments
    ALSA: isa: delete repeated words in comments
    ALSA: hda/tegra: Add 100us dma stop delay
    ALSA: hda: Add dma stop delay variable
    ASoC: hda/tegra: Set buffer alignment to 128 bytes
    ALSA: seq: oss: Serialize ioctls
    ALSA: hda/hdmi: Add quirk to force connectivity
    ALSA: usb-audio: add startech usb audio dock name
    ALSA: usb-audio: Add support for Lenovo ThinkStation P620
    Revert "ALSA: hda: call runtime_allow() for all hda controllers"
    ALSA: hda/ca0132 - Fix AE-5 microphone selection commands.
    ALSA: hda/ca0132 - Add new quirk ID for Recon3D.
    ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value.
    ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops
    ALSA: docs: fix typo
    ALSA: doc: use correct config variable name
    ASoC: core: Two step component registration
    ASoC: core: Simplify snd_soc_component_initialize declaration
    ASoC: core: Relocate and expose snd_soc_component_initialize
    ASoC: sh: Replace 'select' DMADEVICES 'with depends on'
    ...

    Linus Torvalds
     
  • Adds an entry for Creative USB X-Fi to the rc_config array in
    mixer_quirks.c to allow use of volume knob on the device.
    Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
    with USB ID "041e:3263"

    Signed-off-by: Mirko Dietrich
    Cc:
    Link: https://lore.kernel.org/r/20200806124850.20334-1-buzz@l4m1.de
    Signed-off-by: Takashi Iwai

    Mirko Dietrich
     
  • There is a spelling mistake in a usb_audio_dbg debug message. Also
    replace "param" with "parameter". Fix these.

    Signed-off-by: Colin Ian King
    Link: https://lore.kernel.org/r/20200806105134.46447-1-colin.king@canonical.com
    Signed-off-by: Takashi Iwai

    Colin Ian King
     

06 Aug, 2020

2 commits


05 Aug, 2020

4 commits

  • Tegra HDA has audio data buffer for upto tens of frames, this buffer
    can help to avoid underflow. HW will keep issuing new data fetch
    request when buffers are not full and current BDL is not done. When SW
    disable DMA RUN bit for a stream, HW can't cancel the already issued data
    fetch request and hence it can't stop DMA. HW has to wait for all issued
    data fetch request get data returned before it stops DMA.

    This HW behavior is not in sync with HDA spec which says DMA RUN bit
    should be cleared within 1 audio frame. For Tegra, DMA RUN bit was
    active for more than one audio frame, due to this the timeout in
    snd_hdac_stream_sync function is not helping. When Stream reset set
    and clear happens during DMA RUN bit active state it results in Memory
    Decode error.

    Unfortunately, there is no way to detect when these data accesses have
    completed, but testing has shown that a 100us delay between Stream reset
    set and clear operation for Tegra avoids the memory decode error.
    Therefore, adding a 100us dma stop delay.

    Signed-off-by: Mohan Kumar
    Link: https://lore.kernel.org/r/20200805095221.5476-4-mkumard@nvidia.com
    Signed-off-by: Takashi Iwai

    Mohan Kumar
     
  • A variable dma_stop_delay is added as a new member in hdac_bus
    structure to avoid memory decode error incase DMA RUN bit is not
    disabled in the given timeout from snd_hdac_stream_sync function and
    followed by stream reset which results in memory decode error between
    reset set and clear operation.

    Signed-off-by: Mohan Kumar
    Link: https://lore.kernel.org/r/20200805095221.5476-3-mkumard@nvidia.com
    Signed-off-by: Takashi Iwai

    Mohan Kumar
     
  • Set chip->align_buffer_size to 1 for Tegra platforms to make the buffer
    alignment to be multiple of 128 bytes. This fix is applied as gstreamer
    alsasink gets stuck with the default buffer-time and latency-time
    parameters with 4 byte buffer alignment.

    Signed-off-by: Mohan Kumar
    Link: https://lore.kernel.org/r/20200805095221.5476-2-mkumard@nvidia.com
    Signed-off-by: Takashi Iwai

    Mohan Kumar
     
  • Some ioctls via OSS sequencer API may race and lead to UAF when the
    port create and delete are performed concurrently, as spotted by a
    couple of syzkaller cases. This patch is an attempt to address it by
    serializing the ioctls with the existing register_mutex.

    Basically OSS sequencer API is an obsoleted interface and was designed
    without much consideration of the concurrency. There are very few
    applications with it, and the concurrent performance isn't asked,
    hence this "big hammer" approach should be good enough.

    Reported-by: syzbot+1a54a94bd32716796edd@syzkaller.appspotmail.com
    Reported-by: syzbot+9d2abfef257f3e2d4713@syzkaller.appspotmail.com
    Suggested-by: Hillf Danton
    Cc:
    Link: https://lore.kernel.org/r/20200804185815.2453-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai