1. 23 11月, 2020 16 次提交
  2. 05 11月, 2020 1 次提交
  3. 04 11月, 2020 1 次提交
  4. 27 10月, 2020 1 次提交
  5. 26 8月, 2020 2 次提交
  6. 10 8月, 2020 1 次提交
  7. 22 7月, 2020 1 次提交
  8. 09 7月, 2020 1 次提交
  9. 07 7月, 2020 1 次提交
  10. 01 7月, 2020 1 次提交
  11. 17 6月, 2020 1 次提交
    • T
      ALSA: usb-audio: Fix potential use-after-free of streams · ff58bbc7
      Takashi Iwai 提交于
      With the recent full-duplex support of implicit feedback streams, an
      endpoint can be still running after closing the capture stream as long
      as the playback stream with the sync-endpoint is running.  In such a
      state, the URBs are still be handled and they may call retire_data_urb
      callback, which tries to transfer the data from the PCM buffer.  Since
      the PCM stream gets closed, this may lead to use-after-free.
      
      This patch adds the proper clearance of the callback at stopping the
      capture stream for addressing the possible UAF above.
      
      Fixes: 10ce77e4 ("ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback")
      Link: https://lore.kernel.org/r/20200616120921.12249-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      ff58bbc7
  12. 12 6月, 2020 1 次提交
  13. 02 6月, 2020 1 次提交
  14. 16 5月, 2020 1 次提交
  15. 24 4月, 2020 1 次提交
    • A
      ALSA: usb-audio: Improve frames size computation · f0bd62b6
      Alexander Tsoy 提交于
      For computation of the the next frame size current value of fs/fps and
      accumulated fractional parts of fs/fps are used, where values are stored
      in Q16.16 format. This is quite natural for computing frame size for
      asynchronous endpoints driven by explicit feedback, since in this case
      fs/fps is a value provided by the feedback endpoint and it's already in
      the Q format. If an error is accumulated over time, the device can
      adjust fs/fps value to prevent buffer overruns/underruns.
      
      But for synchronous endpoints the accuracy provided by these computations
      is not enough. Due to accumulated error the driver periodically produces
      frames with incorrect size (+/- 1 audio sample).
      
      This patch fixes this issue by implementing a different algorithm for
      frame size computation. It is based on accumulating of the remainders
      from division fs/fps and it doesn't accumulate errors over time. This
      new method is enabled for synchronous and adaptive playback endpoints.
      Signed-off-by: NAlexander Tsoy <alexander@tsoy.me>
      Link: https://lore.kernel.org/r/20200424022449.14972-1-alexander@tsoy.meSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      f0bd62b6
  16. 06 3月, 2020 1 次提交
  17. 16 1月, 2020 1 次提交
  18. 14 1月, 2020 1 次提交
  19. 20 12月, 2019 1 次提交
  20. 19 12月, 2019 1 次提交
    • H
      ALSA: usb-audio: set the interface format after resume on Dell WD19 · 92adc96f
      Hui Wang 提交于
      Recently we found the headset-mic on the Dell Dock WD19 doesn't work
      anymore after s3 (s2i or deep), this problem could be workarounded by
      closing (pcm_close) the app and then reopening (pcm_open) the app, so
      this bug is not easy to be detected by users.
      
      When problem happens, retire_capture_urb() could still be called
      periodically, but the size of captured data is always 0, it could be
      a firmware bug on the dock. Anyway I found after resuming, the
      snd_usb_pcm_prepare() will be called, and if we forcibly run
      set_format() to set the interface and its endpoint, the capture
      size will be normal again. This problem and workaound also apply to
      playback.
      
      To fix it in the kernel, add a quirk to let set_format() run
      forcibly once after resume.
      Signed-off-by: NHui Wang <hui.wang@canonical.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20191218132650.6303-1-hui.wang@canonical.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      92adc96f
  21. 11 12月, 2019 3 次提交
  22. 06 11月, 2019 1 次提交