1. 27 Jan, 2021 2 commits
  2. 25 Jan, 2021 7 commits
  3. 21 Jan, 2021 6 commits
    • Ricardo Ribalda's avatar
      ASoC: Intel: Skylake: Zero snd_ctl_elem_value · 1d8fe064
      Ricardo Ribalda authored
      Clear struct snd_ctl_elem_value before calling ->put() to avoid any data
      leak.
      Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
      Reviewed-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Link: https://lore.kernel.org/r/20210121171644.131059-2-ribalda@chromium.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      1d8fe064
    • Ricardo Ribalda's avatar
      ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete · c1c3ba1f
      Ricardo Ribalda authored
      If dobj->control is not initialized we end up in an OOPs during
      skl_tplg_complete:
      
      [   26.553358] BUG: kernel NULL pointer dereference, address:
      0000000000000078
      [   26.561151] #PF: supervisor read access in kernel mode
      [   26.566897] #PF: error_code(0x0000) - not-present page
      [   26.572642] PGD 0 P4D 0
      [   26.575479] Oops: 0000 [#1] PREEMPT SMP PTI
      [   26.580158] CPU: 2 PID: 2082 Comm: udevd Tainted: G         C
      5.4.81 #4
      [   26.588232] Hardware name: HP Soraka/Soraka, BIOS
      Google_Soraka.10431.106.0 12/03/2019
      [   26.597082] RIP: 0010:skl_tplg_complete+0x70/0x144 [snd_soc_skl]
      
      Fixes: 2d744ecf ("ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHL")
      Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
      Reviewed-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
      Tested-by: default avatarLukasz Majczak <lma@semihalf.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Link: https://lore.kernel.org/r/20210121171644.131059-1-ribalda@chromium.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      c1c3ba1f
    • Stephen Boyd's avatar
      ASoC: qcom: Fix number of HDMI RDMA channels on sc7180 · 7dfe20ee
      Stephen Boyd authored
      Suspending/resuming with an HDMI dongle attached leads to crashes from
      an audio regmap.
      
       Unable to handle kernel paging request at virtual address ffffffc018068000
       Mem abort info:
         ESR = 0x96000047
         EC = 0x25: DABT (current EL), IL = 32 bits
         SET = 0, FnV = 0
         EA = 0, S1PTW = 0
       Data abort info:
         ISV = 0, ISS = 0x00000047
         CM = 0, WnR = 1
       swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000081b12000
       [ffffffc018068000] pgd=0000000275d14003, pud=0000000275d14003, pmd=000000026365d003, pte=0000000000000000
       Internal error: Oops: 96000047 [#1] PREEMPT SMP
       Call trace:
        regmap_mmio_write32le+0x2c/0x40
        regmap_mmio_write+0x48/0x6c
        _regmap_bus_reg_write+0x34/0x44
        _regmap_write+0x100/0x150
        regcache_default_sync+0xc0/0x138
        regcache_sync+0x188/0x26c
        lpass_platform_pcmops_resume+0x48/0x54 [snd_soc_lpass_platform]
        snd_soc_component_resume+0x28/0x40
        soc_resume_deferred+0x6c/0x178
        process_one_work+0x208/0x3c8
        worker_thread+0x23c/0x3e8
        kthread+0x144/0x178
        ret_from_fork+0x10/0x18
       Code: d503201f d50332bf f94002a8 8b344108 (b9000113)
      
      I can reliably reproduce this problem by running 'tail' on the registers
      file in debugfs for the hdmi regmap.
      
       # tail /sys/kernel/debug/regmap/62d87000.lpass-lpass_hdmi/registers
       [   84.658733] Unable to handle kernel paging request at virtual address ffffffd0128e800c
      
      This crash happens because we're trying to read registers from the
      regmap beyond the length of the mapping created by ioremap().
      
      The number of hdmi_rdma_channels determines the size of the regmap via
      this code in sound/soc/qcom/lpass-cpu.c:
      
        lpass_hdmi_regmap_config.max_register = LPAIF_HDMI_RDMAPER_REG(variant, variant->hdmi_rdma_channels);
      
      According to debugfs the size of the regmap is 0x68010 but according to
      the DTS file posted in [1] the size is only 0x68000 (see the first reg
      property of the lpass_cpu node). Let's change the number of channels to
      be 3 instead of 4 so the math works out to have a max register of
      0x67010, nicely fitting inside of the region size of 0x68000.
      
      Note: I tried to bump up the size of the register region to the next
      page to include the 0x68010 register but then the tail command caused
      SErrors with an async abort, implying that the register region doesn't
      exist or it isn't clocked because the bus is telling us that the
      register read failed. I reduce the number of channels and played audio
      through the HDMI channel and it kept working so I think this is correct.
      
      Fixes: 2ad63dc8 ("ASoC: qcom: sc7180: Add support for audio over DP")
      Link: https://lore.kernel.org/r/1601448168-18396-2-git-send-email-srivasam@codeaurora.org [1]
      Cc: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
      Cc: Srinivasa Rao <srivasam@codeaurora.org>
      Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Cc: Cheng-Yi Chiang <cychiang@chromium.org>
      Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
      Link: https://lore.kernel.org/r/20210115203329.846824-1-swboyd@chromium.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      7dfe20ee
    • Mark Brown's avatar
      Merge series "ASoC: qcom: Fix broken lpass driver" from Srinivas Kandagatla... · 411fc208
      Mark Brown authored
      Merge series "ASoC: qcom: Fix broken lpass driver" from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:
      
      LPASS driver is partially broken on DragonBoard DB410c on 5.10 and
      its totally broken on other Supported Qualcomm SoCs.
      
      This was due to DAI ids being over written by the SoC specific header files
      in the dt-bindings.
      
      Idea of having SoC specific headers is not doable when we are dealing with
      a common driver. So this patchset attempts to fix this properly by creating
      a common dt-bindings header for lpass which can be updated with new entries
      if required. This patchset also add an simple of_xlate function to resolve
      the dai names and different SoCs might not have 1:1 mapping for the
      dai_driver array with dai ids.
      
      Changes since v1:
      	- removed array indexes as suggested by Stephan G.
      	- rebased to sound/for-next branch
      	- collected Srinivasa tested-by tag for sc7180 platform.
      
      Thanks,
      srini
      
      Srinivas Kandagatla (2):
        ASoC: dt-bindings: lpass: Fix and common up lpass dai ids
        ASoC: qcom: Fix broken support to MI2S TERTIARY and QUATERNARY
      
       include/dt-bindings/sound/apq8016-lpass.h |  7 +++----
       include/dt-bindings/sound/qcom,lpass.h    | 15 +++++++++++++++
       include/dt-bindings/sound/sc7180-lpass.h  |  6 ++----
       sound/soc/qcom/lpass-cpu.c                | 22 ++++++++++++++++++++++
       sound/soc/qcom/lpass-platform.c           | 12 ++++++++++++
       sound/soc/qcom/lpass-sc7180.c             |  9 +++------
       sound/soc/qcom/lpass.h                    |  2 +-
       7 files changed, 58 insertions(+), 15 deletions(-)
       create mode 100644 include/dt-bindings/sound/qcom,lpass.h
      
      --
      2.21.0
      411fc208
    • Mark Brown's avatar
      Merge series "ASoC: mediatek: mt8183: ignore TDM DAI link by by default" from... · d146c7b0
      Mark Brown authored
      Merge series "ASoC: mediatek: mt8183: ignore TDM DAI link by by default" from Tzung-Bi Shih <tzungbi@google.com>:
      
      hdmi-codec is an optional property.  The 2 patches fix DAI link binding
      error when the property doesn't exist in DTS.
      
      Tzung-Bi Shih (2):
        ASoC: mediatek: mt8183-mt6358: ignore TDM DAI link by default
        ASoC: mediatek: mt8183-da7219: ignore TDM DAI link by default
      
       sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c         | 5 ++++-
       sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c | 5 ++++-
       2 files changed, 8 insertions(+), 2 deletions(-)
      
      --
      2.30.0.284.gd98b1dd5eaa7-goog
      d146c7b0
    • Mark Brown's avatar
      Merge series "Add KUNIT tests for ASoC topology" from Amadeusz... · 29be3f02
      Mark Brown authored
      Merge series "Add KUNIT tests for ASoC topology" from Amadeusz Sławiński<amadeuszx.slawinski@linux.intel.com>:
      
      This series adds unit tests for ASoC topology.
      
      First fix problems found when developing and running test cases and
      then add tests implementation.
      
      Tests themselves are quite simple and just call
      snd_soc_tplg_component_load() with various parameters and check the
      result. Tests themselves are described in more detail in commits
      adding them.
      
      Goal is to expand the amount of test cases in following patches.
      
      Prerequisity for this patchset are 2 patches which have already been
      sent:
      https://lore.kernel.org/alsa-devel/20210114163602.911205-1-amadeuszx.slawinski@linux.intel.com/T/#t
      
      Description on how typical test case itself works:
      
      In order to load topology we need to have 3 things:
      card, codec component & platform component.
      
      In typical test case we register card and platform component and bind
      to dummy codec. There are of course execeptions, when we want to
      test behaviour of topology API when component or card is missing.
      Note that this is bit different from typical scenario (in SOF and skylake
      drivers) where card is registered by machine driver and component by
      platform driver, as we register both when setting up test.
      
      If you check the test case most of them have similar architecture of:
      1.
      	/* run test */
      	ret = snd_soc_register_card(&kunit_comp->card);
      	if (ret != 0 && ret != -EPROBE_DEFER)
      		KUNIT_FAIL(test, "Failed to register card");
      
      2.
      	ret = snd_soc_component_initialize(&kunit_comp->comp, &test_component, test_dev);
      	KUNIT_EXPECT_EQ(test, 0, ret);
      
      3.
      	ret = snd_soc_add_component(&kunit_comp->comp, NULL, 0);
      	KUNIT_EXPECT_EQ(test, 0, ret);
      
      Ad. 1.
      First we register card, which in most tests returns -EPROBE_DEFER
      (from snd_soc_bind_card()), as platform component is not yet created.
      I test for both 0 and -EPROBE_DEFER, as it makes it easier to reshuffle
      this code around if needed and there is one test case which does it in
      different order.
      
      Ad. 2.
      Then we initialize platform component with structure pointing at proper
      probe function, which calls snd_soc_tplg_component_load() with test
      parameters and checks expected result.
      
      Ad. 3.
      And then in follow up we call snd_soc_add_component() which creates
      platform component for us and calls snd_soc_try_rebind_card() which
      if everything is bound properly calls previously set probe function.
      
      Amadeusz Sławiński (5):
        ASoC: topology: Properly unregister DAI on removal
        Revert "ASoC: soc-devres: add devm_snd_soc_register_dai()"
        ASoC: topology: KUnit: Add KUnit tests passing various arguments to
          snd_soc_tplg_component_load
        ASoC: topology: KUnit: Add KUnit tests passing empty topology with
          variants to snd_soc_tplg_component_load
        ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to
          snd_soc_tplg_component_load
      
       include/sound/soc.h           |   4 -
       sound/soc/Kconfig             |  17 +
       sound/soc/Makefile            |   5 +
       sound/soc/soc-devres.c        |  37 --
       sound/soc/soc-topology-test.c | 843 ++++++++++++++++++++++++++++++++++
       sound/soc/soc-topology.c      |   9 +-
       6 files changed, 870 insertions(+), 45 deletions(-)
       create mode 100644 sound/soc/soc-topology-test.c
      
      --
      2.25.1
      29be3f02
  4. 20 Jan, 2021 8 commits
  5. 18 Jan, 2021 2 commits
  6. 15 Jan, 2021 2 commits
  7. 13 Jan, 2021 6 commits
  8. 10 Jan, 2021 7 commits
    • Linus Torvalds's avatar
      Linux 5.11-rc3 · 7c53f6b6
      Linus Torvalds authored
      7c53f6b6
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.11' of... · 20210a98
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Search for <ncurses.h> in the default header path of HOSTCC
      
       - Tweak the option order to be kind to old BSD awk
      
       - Remove 'kvmconfig' and 'xenconfig' shorthands
      
       - Fix documentation
      
      * tag 'kbuild-fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        Documentation: kbuild: Fix section reference
        kconfig: remove 'kvmconfig' and 'xenconfig' shorthands
        lib/raid6: Let $(UNROLL) rules work with macOS userland
        kconfig: Support building mconf with vendor sysroot ncurses
        kconfig: config script: add a little user help
        MAINTAINERS: adjust GCC PLUGINS after gcc-plugin.sh removal
      20210a98
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 688daed2
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is two driver fixes (megaraid_sas and hisi_sas).
      
        The megaraid one is a revert of a previous revert of a cpu hotplug fix
        which exposed a bug in the block layer which has been fixed in this
        merge window.
      
        The hisi_sas performance enhancement comes from switching to interrupt
        managed completion queues, which depended on the addition of
        devm_platform_get_irqs_affinity() which is now upstream via the irq
        tree in the last merge window"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: hisi_sas: Expose HW queues for v2 hw
        Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug""
      688daed2
    • Linus Torvalds's avatar
      Merge tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block · ed41fd07
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Missing CRC32 selections (Arnd)
      
       - Fix for a merge window regression with bdev inode init (Christoph)
      
       - bcache fixes
      
       - rnbd fixes
      
       - NVMe pull request from Christoph:
          - fix a race in the nvme-tcp send code (Sagi Grimberg)
          - fix a list corruption in an nvme-rdma error path (Israel Rukshin)
          - avoid a possible double fetch in nvme-pci (Lalithambika Krishnakumar)
          - add the susystem NQN quirk for a Samsung driver (Gopal Tiwari)
          - fix two compiler warnings in nvme-fcloop (James Smart)
          - don't call sleeping functions from irq context in nvme-fc (James Smart)
          - remove an unused argument (Max Gurtovoy)
          - remove unused exports (Minwoo Im)
      
       - Use-after-free fix for partition iteration (Ming)
      
       - Missing blk-mq debugfs flag annotation (John)
      
       - Bdev freeze regression fix (Satya)
      
       - blk-iocost NULL pointer deref fix (Tejun)
      
      * tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block: (26 commits)
        bcache: set bcache device into read-only mode for BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET
        bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
        bcache: check unsupported feature sets for bcache register
        bcache: fix typo from SUUP to SUPP in features.h
        bcache: set pdev_set_uuid before scond loop iteration
        blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED
        block/rnbd-clt: avoid module unload race with close confirmation
        block/rnbd: Adding name to the Contributors List
        block/rnbd-clt: Fix sg table use after free
        block/rnbd-srv: Fix use after free in rnbd_srv_sess_dev_force_close
        block/rnbd: Select SG_POOL for RNBD_CLIENT
        block: pre-initialize struct block_device in bdev_alloc_inode
        fs: Fix freeze_bdev()/thaw_bdev() accounting of bd_fsfreeze_sb
        nvme: remove the unused status argument from nvme_trace_bio_complete
        nvmet-rdma: Fix list_del corruption on queue establishment failure
        nvme: unexport functions with no external caller
        nvme: avoid possible double fetch in handling CQE
        nvme-tcp: Fix possible race of io_work and direct send
        nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN
        nvme-fcloop: Fix sscanf type and list_first_entry_or_null warnings
        ...
      ed41fd07
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.11-2021-01-10' of git://git.kernel.dk/linux-block · d430adfe
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A bit larger than I had hoped at this point, but it's all changes that
        will be directed towards stable anyway. In detail:
      
         - Fix a merge window regression on error return (Matthew)
      
         - Remove useless variable declaration/assignment (Ye Bin)
      
         - IOPOLL fixes (Pavel)
      
         - Exit and cancelation fixes (Pavel)
      
         - fasync lockdep complaint fix (Pavel)
      
         - Ensure SQPOLL is synchronized with creator life time (Pavel)"
      
      * tag 'io_uring-5.11-2021-01-10' of git://git.kernel.dk/linux-block:
        io_uring: stop SQPOLL submit on creator's death
        io_uring: add warn_once for io_uring_flush()
        io_uring: inline io_uring_attempt_task_drop()
        io_uring: io_rw_reissue lockdep annotations
        io_uring: synchronise ev_posted() with waitqueues
        io_uring: dont kill fasync under completion_lock
        io_uring: trigger eventfd for IOPOLL
        io_uring: Fix return value from alloc_fixed_file_ref_node
        io_uring: Delete useless variable ‘id’ in io_prep_async_work
        io_uring: cancel more aggressively in exit_work
        io_uring: drop file refs after task cancel
        io_uring: patch up IOPOLL overflow_flush sync
        io_uring: synchronise IOPOLL on task_submit fail
      d430adfe
    • Linus Torvalds's avatar
      Merge tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 28318f53
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of small USB driver fixes for 5.11-rc3.
      
        Include in here are:
      
         - USB gadget driver fixes for reported issues
      
         - new usb-serial driver ids
      
         - dma from stack bugfixes
      
         - typec bugfixes
      
         - dwc3 bugfixes
      
         - xhci driver bugfixes
      
         - other small misc usb driver bugfixes
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (35 commits)
        usb: dwc3: gadget: Clear wait flag on dequeue
        usb: typec: Send uevent for num_altmodes update
        usb: typec: Fix copy paste error for NVIDIA alt-mode description
        usb: gadget: enable super speed plus
        kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb
        usb: uas: Add PNY USB Portable SSD to unusual_uas
        usb: gadget: configfs: Preserve function ordering after bind failure
        usb: gadget: select CONFIG_CRC32
        usb: gadget: core: change the comment for usb_gadget_connect
        usb: gadget: configfs: Fix use-after-free issue with udc_name
        usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
        usb: usbip: vhci_hcd: protect shift size
        USB: usblp: fix DMA to stack
        USB: serial: iuu_phoenix: fix DMA from stack
        USB: serial: option: add LongSung M5710 module support
        USB: serial: option: add Quectel EM160R-GL
        USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
        usb: gadget: f_uac2: reset wMaxPacketSize
        usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
        usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
        ...
      28318f53
    • Linus Torvalds's avatar
      Merge tag 'staging-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 4ad9a28f
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some small staging driver fixes for 5.11-rc3. Nothing major,
        just resolving some reported issues:
      
         - cleanup some remaining mentions of the ION drivers that were
           removed in 5.11-rc1
      
         - comedi driver bugfix
      
         - two error path memory leak fixes
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'staging-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: ION: remove some references to CONFIG_ION
        staging: mt7621-dma: Fix a resource leak in an error handling path
        Staging: comedi: Return -EFAULT if copy_to_user() fails
        staging: spmi: hisi-spmi-controller: Fix some error handling paths
      4ad9a28f