1. 07 Apr, 2024 1 commit
  2. 05 Apr, 2024 1 commit
  3. 04 Apr, 2024 2 commits
  4. 03 Apr, 2024 2 commits
  5. 02 Apr, 2024 11 commits
  6. 01 Apr, 2024 1 commit
  7. 30 Mar, 2024 1 commit
  8. 29 Mar, 2024 3 commits
  9. 28 Mar, 2024 9 commits
  10. 27 Mar, 2024 6 commits
  11. 26 Mar, 2024 3 commits
    • Mark Brown's avatar
      ASoC: SOF: ipc4/Intel: Fix delay reporting · 3849c4d6
      Mark Brown authored
      Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
      
      The current version of delay reporting code can report incorrect
      values when paired with a firmware which enables this feature.
      
      Unfortunately there are several smaller issues that needed to be addressed
      to correct the behavior:
      
      Wrong information was used for the host side of counter
      For MTL/LNL used incorrect (in a sense that it was verified only on MTL)
      link side counter function.
      The link side counter needs compensation logic if pause/resume is used.
      The offset values were not refreshed from firmware.
      Finally, not strictly connected, but the ALSA buffer size needs to be
      constrained to avoid constant xrun from media players (like mpv)
      
      The series applies cleanly for 6.9 and 6.8.y stable, but older stable
      would need manual backport, but it is questionable if it is needed as
      MTL/LNL is missing features.
      3849c4d6
    • Charles Keepax's avatar
      ASoC: cs42l43: Correct extraction of data pointer in suspend/resume · 56ebbd19
      Charles Keepax authored
      The current code is pulling the wrong pointer causing it to disable the
      wrong IRQ. Correct the code to pull the correct cs42l43 core data
      pointer.
      
      Fixes: 64353af4 ("ASoC: cs42l43: Add system suspend ops to disable IRQ")
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Link: https://msgid.link/r/20240326105434.852907-1-ckeepax@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      56ebbd19
    • Duoming Zhou's avatar
      ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs · 051e0840
      Duoming Zhou authored
      The dreamcastcard->timer could schedule the spu_dma_work and the
      spu_dma_work could also arm the dreamcastcard->timer.
      
      When the snd_pcm_substream is closing, the aica_channel will be
      deallocated. But it could still be dereferenced in the worker
      thread. The reason is that del_timer() will return directly
      regardless of whether the timer handler is running or not and
      the worker could be rescheduled in the timer handler. As a result,
      the UAF bug will happen. The racy situation is shown below:
      
            (Thread 1)                 |      (Thread 2)
      snd_aicapcm_pcm_close()          |
       ...                             |  run_spu_dma() //worker
                                       |    mod_timer()
        flush_work()                   |
        del_timer()                    |  aica_period_elapsed() //timer
        kfree(dreamcastcard->channel)  |    schedule_work()
                                       |  run_spu_dma() //worker
        ...                            |    dreamcastcard->channel-> //USE
      
      In order to mitigate this bug and other possible corner cases,
      call mod_timer() conditionally in run_spu_dma(), then implement
      PCM sync_stop op to cancel both the timer and worker. The sync_stop
      op will be called from PCM core appropriately when needed.
      
      Fixes: 198de43d ("[ALSA] Add ALSA support for the SEGA Dreamcast PCM device")
      Suggested-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarDuoming Zhou <duoming@zju.edu.cn>
      Message-ID: <20240326094238.95442-1-duoming@zju.edu.cn>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      051e0840