01 Feb, 2021

1 commit


30 Jan, 2021

1 commit

  • This is similar with the refactor for i.MX8MP added in commit
    ba2d283f5d9 ("LF-3026-2 ASoC: SOF: imx8m: Remove internal
    priv->suspended variable").

    Because SOF state machine assumes that even if the DSP wasn't previously
    active at a System resume, will re-load the firmware we need to make sure
    that all needed resources are active.

    Kernel core will take care of enabling the PD, we need to make sure that
    we request the MU channels.

    Signed-off-by: Daniel Baluta

    Daniel Baluta
     

28 Jan, 2021

1 commit

  • …t to a hotspot and run MM automation test, 4/4

    it meet rcu issue within 2 hours when do Apollo stress test(fetch mm streams and play/pause/accelerate play/seek/.. streams)

    below is the condition when meet issue:
    1. thread A enter the logic which is protected by RCU lock.
    2. thread A is schedule out.
    3. thread B(it means worker quene xf_proxy_process here) or irq callback funtion call MU_SendMessage
    4. MU_SendMessage hang in "while" loop
    5. thread A can't been schedule in CONFIG_RCU_CPU_STALL_TIMEOUT seconds(the nice of Thread A is not high than thread B). it cause rcu issue.

    This patch add 50ms for while logic so that it will not hang in MU_SendMessage.

    -------- beginning of crash
    04-27 00:36:32.408 F/libc ( 353): crash_dump helper failed to exec
    [ 1186.326364] init: Untracked pid 6333 received signal 14
    04-27 00:36:37.133 F/libc ( 1389): crash_dump helper failed to exec
    [ 1188.676005] rcu: INFO: rcu_preempt self-detected stall on CPU
    [ 1188.681753] rcu: 1-....: (99605 ticks this GP) idle=c76/1/0x4000000000000002 softirq=35006/35006 fqs=49746
    [ 1188.691575] (t=99768 jiffies g=119805 q=26095)
    [ 1188.696103] Task dump for CPU 1:
    [ 1188.699325] kworker/1:0 R running task 0 3467 2 0x0000002a
    [ 1188.706381] Workqueue: events xf_proxy_process
    [ 1188.710817] Call trace:
    [ 1188.713262] dump_backtrace+0x0/0x134
    [ 1188.716917] show_stack+0x14/0x1c
    [ 1188.720227] sched_show_task+0xf8/0x104
    [ 1188.724057] dump_cpu_task+0x40/0x4c
    [ 1188.727629] rcu_dump_cpu_stacks+0xa0/0xf4
    [ 1188.731721] rcu_sched_clock_irq+0x53c/0x98c
    [ 1188.735988] update_process_times+0x6c/0x94
    [ 1188.740174] tick_sched_timer+0x90/0xf8
    [ 1188.744004] __hrtimer_run_queues+0x118/0x1bc
    [ 1188.748356] hrtimer_interrupt+0xf4/0x338
    [ 1188.752362] arch_timer_handler_phys+0x34/0x40

    Change-Id: I9d49f0d1f9675129511a1bfc74b2369d99f2d4b9
    Signed-off-by: zhang sanshan <pete.zhang@nxp.com>

    zhang sanshan
     

25 Jan, 2021

1 commit


20 Jan, 2021

12 commits

  • This is the 5.10.9 stable release

    * tag 'v5.10.9': (153 commits)
    Linux 5.10.9
    netfilter: nf_nat: Fix memleak in nf_nat_init
    netfilter: conntrack: fix reading nf_conntrack_buckets
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • This is the 5.10.7 stable release

    * tag 'v5.10.7': (144 commits)
    Linux 5.10.7
    scsi: target: Fix XCOPY NAA identifier lookup
    rtlwifi: rise completion at the last step of firmware callback
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • This is the 5.10.6 stable release

    * tag 'v5.10.6': (21 commits)
    Linux 5.10.6
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    exec: Transform exec_update_mutex into a rw_semaphore
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/rtc/rtc-pcf2127.c

    Jason Liu
     
  • This is the 5.10.5 stable release

    * tag 'v5.10.5': (63 commits)
    Linux 5.10.5
    device-dax: Fix range release
    ext4: avoid s_mb_prefetch to be zero in individual scenarios
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • commit 9f65df9c589f249435255da37a5dd11f1bc86f4d upstream.

    As snd_fw_async_midi_port.consume_bytes is unsigned int, and
    NSEC_PER_SEC is 1000000000L, the second multiplication in

    port->consume_bytes * 8 * NSEC_PER_SEC / 31250

    always overflows on 32-bit platforms, truncating the result. Fix this
    by precalculating "NSEC_PER_SEC / 31250", which is an integer constant.

    Note that this assumes port->consume_bytes
    Signed-off-by: Geert Uytterhoeven
    Link: https://lore.kernel.org/r/20210111130251.361335-3-geert+renesas@glider.be
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • commit e7c22eeaff8565d9a8374f320238c251ca31480b upstream.

    As snd_ff.rx_bytes[] is unsigned int, and NSEC_PER_SEC is 1000000000L,
    the second multiplication in

    ff->rx_bytes[port] * 8 * NSEC_PER_SEC / 31250

    always overflows on 32-bit platforms, truncating the result. Fix this
    by precalculating "NSEC_PER_SEC / 31250", which is an integer constant.

    Note that this assumes ff->rx_bytes[port]
    Signed-off-by: Geert Uytterhoeven
    Link: https://lore.kernel.org/r/20210111130251.361335-2-geert+renesas@glider.be
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • commit f373a811fd9a69fc8bafb9bcb41d2cfa36c62665 upstream.

    Return -ETIMEDOUT if the dsp boot times out instead of returning
    success.

    Fixes: cb6a55284629 ("ASoC: Intel: cnl: Add sst library functions for cnl platform")
    Signed-off-by: Dan Carpenter
    Reviewed-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/X9NEvCzuN+IObnTN@mwanda
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • commit a84dfb3d55934253de6aed38ad75990278a2d21e upstream.

    The signal captured on from tdm decoder of the AXG SoC is incorrect. It
    appears amplified. The skew offset of the decoder is wrong.

    Setting the skew offset to 3, like the g12 and sm1 SoCs, solves and gives
    correct data.

    Fixes: 13a22e6a98f8 ("ASoC: meson: add tdm input driver")
    Signed-off-by: Jerome Brunet
    Link: https://lore.kernel.org/r/20201217150834.3247526-1-jbrunet@baylibre.com
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Jerome Brunet
     
  • commit 671ee4db952449acde126965bf76817a3159040d upstream.

    When the axg-tdm-interface was introduced, the backend DAI was marked as an
    endpoint when DPCM was walking the DAPM graph to find a its BE.

    It is no longer the case since this
    commit 8dd26dff00c0 ("ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks")
    Because of this, when DPCM finds a BE it does everything it needs on the
    DAIs but it won't power up the widgets between the FE and the BE if there
    is no actual endpoint after the BE.

    On meson-axg HWs, the loopback is a special DAI of the tdm-interface BE.
    It is only linked to the dummy codec since there no actual HW after it.
    >From the DAPM perspective, the DAI has no endpoint. Because of this, the TDM
    decoder, which is a widget between the FE and BE is not powered up.

    >From the user perspective, everything seems fine but no data is produced.

    Connecting the Loopback DAI to a dummy DAPM endpoint solves the problem.

    Fixes: 8dd26dff00c0 ("ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks")
    Cc: Charles Keepax
    Signed-off-by: Jerome Brunet
    Link: https://lore.kernel.org/r/20201217150812.3247405-1-jbrunet@baylibre.com
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Jerome Brunet
     
  • commit 5c6679b5cb120f07652418524ab186ac47680b49 upstream.

    A widget's "dirty" list_head, much like its "list" list_head, eventually
    chains back to a list_head on the snd_soc_card itself. This means that
    the list can stick around even after the widget (or all widgets) have
    been freed. Currently, however, widgets that are in the dirty list when
    freed remain there, corrupting the entire list and leading to memory
    errors and undefined behavior when the list is next accessed or
    modified.

    I encountered this issue when a component failed to probe relatively
    late in snd_soc_bind_card(), causing it to bail out and call
    soc_cleanup_card_resources(), which eventually called
    snd_soc_dapm_free() with widgets that were still dirty from when they'd
    been added.

    Fixes: db432b414e20 ("ASoC: Do DAPM power checks only for widgets changed since last run")
    Cc: stable@vger.kernel.org
    Signed-off-by: Thomas Hebb
    Reviewed-by: Charles Keepax
    Link: https://lore.kernel.org/r/f8b5f031d50122bf1a9bfc9cae046badf4a7a31a.1607822410.git.tommyhebb@gmail.com
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Thomas Hebb
     
  • commit 1f092d1c8819679d78a7d9c62a46d4939d217a9d upstream.

    The ThinkPad X395 latop does not have the internal digital
    microphone connected to the AMD's ACP bridge, but it's advertised
    via BIOS. The internal microphone is connected to the HDA codec.

    Use DMI to block the microphone PCM device for this platform.

    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1892115
    Cc:
    Signed-off-by: Jaroslav Kysela
    Link: https://lore.kernel.org/r/20201227164109.269973-1-perex@perex.cz
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Jaroslav Kysela
     
  • commit 91bc156817a3c2007332b64b4f85c32aafbbbea6 upstream.

    * The HP ZBook Fury 15/17 G7 Mobile Workstation are using ALC285 codec
    which is using 0x04 to control mute LED and 0x01 to control micmute LED.

    * The right channel speaker is no sound and it needs to expose GPIO1 for
    initialing AMP.

    Add quirks to support them.

    Signed-off-by: Jeremy Szu
    Cc:
    Link: https://lore.kernel.org/r/20210106130549.100532-1-jeremy.szu@canonical.com
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Jeremy Szu
     

18 Jan, 2021

8 commits


13 Jan, 2021

7 commits

  • commit ce2e79b223867b9e586021b55dee7035517a236b upstream.

    Add two "Intel Reference boad" SSID in the alc256.
    Enable "power saving mode" and Enable "headset jack mode".

    Signed-off-by: PeiSen Hou
    Cc:
    Link: https://lore.kernel.org/r/5978d2267f034c28973d117925ec9c63@realtek.com
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    PeiSen Hou
     
  • commit a598098cc9737f612dbab52294433fc26c51cc9b upstream.

    HP EliteBook 850 G7 uses the same GPIO pins as ALC285_FIXUP_HP_GPIO_LED
    to enable mute and micmute LED. So apply the quirk to enable the LEDs.

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

    Kai-Heng Feng
     
  • commit 484229585a5e91eeb00ee10e05d5204e1ca6c481 upstream.

    HP Pavilion 13-bb0000 (SSID 103c:87c8) needs the same
    quirk as other models with ALC287.

    Signed-off-by: Manuel Jiménez
    Cc:
    Link: https://lore.kernel.org/r/X+s/gKNydVrI6nLj@HP-Pavilion-13
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Manuel Jiménez
     
  • commit f86de9b1c0663b0a3ca2dcddec9aa910ff0fbf2c upstream.

    Cannot adjust speaker's volume on Lenovo C940.
    Applying the alc298_fixup_speaker_volume function can fix the issue.

    [ Additional note: C940 has I2S amp for the speaker and this needs the
    same initialization as Dell machines.
    The patch was slightly modified so that the quirk entry is moved
    next to the corresponding Dell quirk entry. -- tiwai ]

    Signed-off-by: Kailang Yang
    Cc:
    Link: https://lore.kernel.org/r/ea25b4e5c468491aa2e9d6cb1f2fced3@realtek.com
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Kailang Yang
     
  • commit 744a11abc56405c5a106e63da30a941b6d27f737 upstream.

    The current kernel does not support the cx11970 codec chip.
    Add a codec configuration item to kernel.

    [ Minor coding style fix by tiwai ]

    Signed-off-by: bo liu
    Cc:
    Link: https://lore.kernel.org/r/20201229035226.62120-1-bo.liu@senarytech.com
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    bo liu
     
  • commit 4bfd6247fa9164c8e193a55ef9c0ea3ee22f82d8 upstream.

    Clevo W35xSS_370SS with VIA codec has had the runtime PM problem that
    looses the power state of some nodes after the runtime resume. This
    was worked around by disabling the default runtime PM via a denylist
    entry. Since 5.10.x made the runtime PM applied (casually) even
    though it's disabled in the denylist, this problem was revisited. The
    result was that disabling power_save_node feature suffices for the
    runtime PM problem.

    This patch implements the disablement of power_save_node feature in
    VIA codec for the device. It also drops the former denylist entry,
    too, as the runtime PM should work in the codec side properly now.

    Fixes: b529ef2464ad ("ALSA: hda: Add Clevo W35xSS_370SS to the power_save blacklist")
    Reported-by: Christian Labisch
    Cc:
    Link: https://lore.kernel.org/r/20210104153046.19993-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit c06ccf3ebb7503706ea49fd248e709287ef385a3 upstream.

    The calculation of in_cables and out_cables bitmaps are done with the
    bit shift by the value from the descriptor, which is an arbitrary
    value, and can lead to UBSAN shift-out-of-bounds warnings.

    Fix it by filtering the bad descriptor values with the check of the
    upper bound 0x10 (the cable bitmaps are 16 bits).

    Reported-by: syzbot+92e45ae45543f89e8c88@syzkaller.appspotmail.com
    Cc:
    Link: https://lore.kernel.org/r/20201223174557.10249-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

09 Jan, 2021

2 commits

  • commit 3d5c5fdcee0f9a94deb0472e594706018b00aa31 upstream.

    The silent_stream_disable() function introduced by the commit
    b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to
    DP") takes the per_pin->lock mutex, but it unlocks the wrong one,
    spec->pcm_lock, which causes a deadlock. This patch corrects it.

    Fixes: b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to DP")
    Reported-by: Jan Alexander Steffens (heftig)
    Cc:
    Acked-by: Kai Vehmanen
    Link: https://lore.kernel.org/r/20210101083852.12094-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit c1e8952395c1f44a6304c71401519d19ed2ac56a upstream.

    Dell platform SSID:0x0a58 change platform name.
    Use the generic name instead for avoiding confusion.

    Fixes: 150927c3674d ("ALSA: hda/realtek - Supported Dell fixed type headset")
    Signed-off-by: Kailang Yang
    Cc:
    Link: https://lore.kernel.org/r/efe7c196158241aa817229df7835d645@realtek.com
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Kailang Yang
     

06 Jan, 2021

7 commits

  • Cleanup remove tdm slot settings, same effect by using
    setting cpu_dai bit clock ratio.

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Fix mclk selection when codec is in master mode to properly
    get PCM512x sck rate

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Gate external audio clocks on codec master mode when
    playback completes

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • [ Upstream commit 618de0f4ef11acd8cf26902e65493d46cc20cc89 ]

    The PCM hw_params core function tries to clear up the PCM buffer
    before actually using for avoiding the information leak from the
    previous usages or the usage before a new allocation. It performs the
    memset() with runtime->dma_bytes, but this might still leave some
    remaining bytes untouched; namely, the PCM buffer size is aligned in
    page size for mmap, hence runtime->dma_bytes doesn't necessarily cover
    all PCM buffer pages, and the remaining bytes are exposed via mmap.

    This patch changes the memory clearance to cover the all buffer pages
    if the stream is supposed to be mmap-ready (that guarantees that the
    buffer size is aligned in page size).

    Reviewed-by: Lars-Peter Clausen
    Link: https://lore.kernel.org/r/20201218145625.2045-3-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Sasha Levin

    Takashi Iwai
     
  • commit 88a06d6fd6b369d88cec46c62db3e2604a2f50d5 upstream.

    The runtime->avail field may be accessed concurrently while some
    places refer to it without taking the runtime->lock spinlock, as
    detected by KCSAN. Usually this isn't a big problem, but for
    consistency and safety, we should take the spinlock at each place
    referencing this field.

    Reported-by: syzbot+a23a6f1215c84756577c@syzkaller.appspotmail.com
    Reported-by: syzbot+3d367d1df1d2b67f5c19@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/r/20201206083527.21163-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • commit 4ebd47037027c4beae99680bff3b20fdee5d7c1e upstream.

    The snd_seq_queue struct contains various flags in the bit fields.
    Those are categorized to two different use cases, both of which are
    protected by different spinlocks. That implies that there are still
    potential risks of the bad operations for bit fields by concurrent
    accesses.

    For addressing the problem, this patch rearranges those flags to be
    a standard bool instead of a bit field.

    Reported-by: syzbot+63cbe31877bb80ef58f5@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/r/20201206083456.21110-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • Use the trace, we can see that latency of irqsoff is too long.

    sh-606 1dN.1 0us@: _raw_spin_lock_irq

    that cause the error log:

    [18636.948715] cpu cpu0: _set_opp_voltage: failed to set voltage (1000000 1000000 1000000 mV): -110
    [18636.957524] cpufreq: __target_index: Failed to change cpu frequency: -110

    So remove the irq disable operation in micfil_hwvad_handler.

    Signed-off-by: Shengjiu Wang
    Signed-off-by: Robin Gong
    Reviewed-by: Peng Zhang

    Shengjiu Wang