1. 14 Feb, 2024 8 commits
    • Frederic Weisbecker's avatar
      rcu/exp: Remove rcu_par_gp_wq · 23da2ad6
      Frederic Weisbecker authored
      TREE04 running on short iterations can produce writer stalls of the
      following kind:
      
       ??? Writer stall state RTWS_EXP_SYNC(4) g3968 f0x0 ->state 0x2 cpu 0
       task:rcu_torture_wri state:D stack:14568 pid:83    ppid:2      flags:0x00004000
       Call Trace:
        <TASK>
        __schedule+0x2de/0x850
        ? trace_event_raw_event_rcu_exp_funnel_lock+0x6d/0xb0
        schedule+0x4f/0x90
        synchronize_rcu_expedited+0x430/0x670
        ? __pfx_autoremove_wake_function+0x10/0x10
        ? __pfx_synchronize_rcu_expedited+0x10/0x10
        do_rtws_sync.constprop.0+0xde/0x230
        rcu_torture_writer+0x4b4/0xcd0
        ? __pfx_rcu_torture_writer+0x10/0x10
        kthread+0xc7/0xf0
        ? __pfx_kthread+0x10/0x10
        ret_from_fork+0x2f/0x50
        ? __pfx_kthread+0x10/0x10
        ret_from_fork_asm+0x1b/0x30
        </TASK>
      
      Waiting for an expedited grace period and polling for an expedited
      grace period both are operations that internally rely on the same
      workqueue performing necessary asynchronous work.
      
      However, a dependency chain is involved between those two operations,
      as depicted below:
      
             ====== CPU 0 =======                          ====== CPU 1 =======
      
                                                           synchronize_rcu_expedited()
                                                               exp_funnel_lock()
                                                                   mutex_lock(&rcu_state.exp_mutex);
          start_poll_synchronize_rcu_expedited
              queue_work(rcu_gp_wq, &rnp->exp_poll_wq);
                                                               synchronize_rcu_expedited_queue_work()
                                                                   queue_work(rcu_gp_wq, &rew->rew_work);
                                                               wait_event() // A, wait for &rew->rew_work completion
                                                               mutex_unlock() // B
          //======> switch to kworker
      
          sync_rcu_do_polled_gp() {
              synchronize_rcu_expedited()
                  exp_funnel_lock()
                      mutex_lock(&rcu_state.exp_mutex); // C, wait B
                      ....
          } // D
      
      Since workqueues are usually implemented on top of several kworkers
      handling the queue concurrently, the above situation wouldn't deadlock
      most of the time because A then doesn't depend on D. But in case of
      memory stress, a single kworker may end up handling alone all the works
      in a serialized way. In that case the above layout becomes a problem
      because A then waits for D, closing a circular dependency:
      
      	A -> D -> C -> B -> A
      
      This however only happens when CONFIG_RCU_EXP_KTHREAD=n. Indeed
      synchronize_rcu_expedited() is otherwise implemented on top of a kthread
      worker while polling still relies on rcu_gp_wq workqueue, breaking the
      above circular dependency chain.
      
      Fix this with making expedited grace period to always rely on kthread
      worker. The workqueue based implementation is essentially a duplicate
      anyway now that the per-node initialization is performed by per-node
      kthread workers.
      
      Meanwhile the CONFIG_RCU_EXP_KTHREAD switch is still kept around to
      manage the scheduler policy of these kthread workers.
      Reported-by: default avatarAnna-Maria Behnsen <anna-maria@linutronix.de>
      Reported-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Suggested-by: default avatarJoel Fernandes <joel@joelfernandes.org>
      Suggested-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Suggested-by: default avatarNeeraj upadhyay <Neeraj.Upadhyay@amd.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      23da2ad6
    • Frederic Weisbecker's avatar
      rcu/exp: Handle parallel exp gp kworkers affinity · b67cffcb
      Frederic Weisbecker authored
      Affine the parallel expedited gp kworkers to their respective RCU node
      in order to make them close to the cache their are playing with.
      
      This reuses the boost kthreads machinery that probe into CPU hotplug
      operations such that the kthreads become/stay affine to their respective
      node as soon/long as they contain online CPUs. Otherwise and if the
      current CPU going down was the last online on the leaf node, the related
      kthread is affine to the housekeeping CPUs.
      
      In the long run, this affinity VS CPU hotplug operation game should
      probably be implemented at the generic kthread level.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      [boqun: s/* rcu_boost_task/*rcu_boost_task as reported by checkpatch]
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      b67cffcb
    • Frederic Weisbecker's avatar
      rcu/exp: Make parallel exp gp kworker per rcu node · 8e5e6215
      Frederic Weisbecker authored
      When CONFIG_RCU_EXP_KTHREAD=n, the expedited grace period per node
      initialization is performed in parallel via workqueues (one work per
      node).
      
      However in CONFIG_RCU_EXP_KTHREAD=y, this per node initialization is
      performed by a single kworker serializing each node initialization (one
      work for all nodes).
      
      The second part is certainly less scalable and efficient beyond a single
      leaf node.
      
      To improve this, expand this single kworker into per-node kworkers. This
      new layout is eventually intended to remove the workqueues based
      implementation since it will essentially now become duplicate code.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      8e5e6215
    • Frederic Weisbecker's avatar
      rcu/exp: Move expedited kthread worker creation functions above rcutree_prepare_cpu() · c19e5d3b
      Frederic Weisbecker authored
      The expedited kthread worker performing the per node initialization is
      going to be split into per node kthreads. As such, the future per node
      kthread creation will need to be called from CPU hotplug callbacks
      instead of an initcall, right beside the per node boost kthread
      creation.
      
      To prepare for that, move the kthread worker creation above
      rcutree_prepare_cpu() as a first step to make the review smoother for
      the upcoming modifications.
      
      No intended functional change.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      c19e5d3b
    • Frederic Weisbecker's avatar
      rcu: s/boost_kthread_mutex/kthread_mutex · 7836b270
      Frederic Weisbecker authored
      This mutex is currently protecting per node boost kthreads creation and
      affinity setting across CPU hotplug operations.
      
      Since the expedited kworkers will soon be split per node as well, they
      will be subject to the same concurrency constraints against hotplug.
      
      Therefore their creation and affinity tuning operations will be grouped
      with those of boost kthreads and then rely on the same mutex.
      
      To prepare for that, generalize its name.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      7836b270
    • Frederic Weisbecker's avatar
      rcu/exp: Handle RCU expedited grace period kworker allocation failure · e7539ffc
      Frederic Weisbecker authored
      Just like is done for the kworker performing nodes initialization,
      gracefully handle the possible allocation failure of the RCU expedited
      grace period main kworker.
      
      While at it perform a rename of the related checking functions to better
      reflect the expedited specifics.
      Reviewed-by: default avatarKalesh Singh <kaleshsingh@google.com>
      Fixes: 9621fbee ("rcu: Move expedited grace period (GP) work to RT kthread_worker")
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      e7539ffc
    • Frederic Weisbecker's avatar
      rcu/exp: Fix RCU expedited parallel grace period kworker allocation failure recovery · a636c5e6
      Frederic Weisbecker authored
      Under CONFIG_RCU_EXP_KTHREAD=y, the nodes initialization for expedited
      grace periods is queued to a kworker. However if the allocation of that
      kworker failed, the nodes initialization is performed synchronously by
      the caller instead.
      
      Now the check for kworker initialization failure relies on the kworker
      pointer to be NULL while its value might actually encapsulate an
      allocation failure error.
      
      Make sure to handle this case.
      Reviewed-by: default avatarKalesh Singh <kaleshsingh@google.com>
      Fixes: 9621fbee ("rcu: Move expedited grace period (GP) work to RT kthread_worker")
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      a636c5e6
    • Frederic Weisbecker's avatar
      rcu/exp: Remove full barrier upon main thread wakeup · a7e4074d
      Frederic Weisbecker authored
      When an expedited grace period is ending, care must be taken so that all
      the quiescent states propagated up to the root are correctly ordered
      against the wake up of the main expedited grace period workqueue.
      
      This ordering is already carried through the root rnp locking augmented
      by an smp_mb__after_unlock_lock() barrier.
      
      Therefore the explicit smp_mb() placed before the wake up is not needed
      and can be removed.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      a7e4074d
  2. 29 Jan, 2024 1 commit
  3. 28 Jan, 2024 7 commits
  4. 27 Jan, 2024 9 commits
  5. 26 Jan, 2024 15 commits
    • Linus Torvalds's avatar
      Merge tag 'ata-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux · 3a5879d4
      Linus Torvalds authored
      Pull ata updates from Niklas Cassel:
      
       - Fix an incorrect link_power_management_policy sysfs attribute value.
      
         We were previously using the same attribute value for two different
         LPM policies (me)
      
       - Add a ASMedia ASM1166 quirk.
      
         The SATA host controller always reports that it has 32 ports, even
         though it only has six ports. Add a quirk that overrides the value
         reported by the controller (Conrad)
      
       - Add a ASMedia ASM1061 quirk.
      
         The SATA host controller completely ignores the upper 21 bits of the
         DMA address. This causes IOMMU error events when a (valid) DMA
         address actually has any of the upper 21 bits set. Add a quirk that
         limits the dma_mask to 43-bits (Lennert)
      
      * tag 'ata-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
        ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
        ahci: asm1166: correct count of reported ports
        ata: libata-sata: improve sysfs description for ATA_LPM_UNKNOWN
      3a5879d4
    • Linus Torvalds's avatar
      Merge tag 'block-6.8-2024-01-26' of git://git.kernel.dk/linux · 914e1708
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - RCU warning fix for md (Mikulas)
      
       - Fix for an aoe issue that lockdep rightfully complained about
         (Maksim)
      
       - Fix for an error code change in partitioning that caused a regression
         with some tools (Li)
      
       - Fix for a data direction warning with bi-direction commands
         (Christian)
      
      * tag 'block-6.8-2024-01-26' of git://git.kernel.dk/linux:
        md: fix a suspicious RCU usage warning
        aoe: avoid potential deadlock at set_capacity
        block: Fix WARNING in _copy_from_iter
        block: Move checking GENHD_FL_NO_PART to bdev_add_partition()
      914e1708
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.8-2024-01-26' of git://git.kernel.dk/linux · cced1c5e
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a single tweak to the newly added IORING_OP_FIXED_FD_INSTALL from
        Paul, ensuring it goes via the audit path and playing it safe by
        excluding it from using registered creds"
      
      * tag 'io_uring-6.8-2024-01-26' of git://git.kernel.dk/linux:
        io_uring: enable audit and restrict cred override for IORING_OP_FIXED_FD_INSTALL
      cced1c5e
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 667c8893
      Linus Torvalds authored
      Pull thermal control update from Rafael Wysocki:
       "Remove some dead code from the Intel powerclamp thermal control driver
        (Srinivas Pandruvada)"
      
      * tag 'thermal-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: intel: powerclamp: Remove dead code for target mwait value
      667c8893
    • Linus Torvalds's avatar
      Merge tag 'pm-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0c879d88
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix two cpufreq drivers and the cpupower utility.
      
        Specifics:
      
         - Fix the handling of scaling_max/min_freq sysfs attributes in the
           AMD P-state cpufreq driver (Mario Limonciello)
      
         - Make the intel_pstate cpufreq driver avoid unnecessary computation
           of the HWP performance level corresponding to a given frequency in
           the cases when it is known already, which also helps to avoid
           reducing the maximum CPU capacity artificially on some systems
           (Rafael J. Wysocki)
      
         - Fix compilation of the cpupower utility when CFLAGS is passed as a
           make argument for cpupower, but it does not take effect as expected
           due to mishandling (Stanley Chan)"
      
      * tag 'pm-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq/amd-pstate: Fix setting scaling max/min freq values
        cpufreq: intel_pstate: Refine computation of P-state for given frequency
        tools cpupower bench: Override CFLAGS assignments
      0c879d88
    • Linus Torvalds's avatar
      Merge tag 'docs-6.8-fixes' of git://git.lwn.net/linux · 70da22eb
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A handful of relatively boring documentation fixes"
      
      * tag 'docs-6.8-fixes' of git://git.lwn.net/linux:
        docs: admin-guide: remove obsolete advice related to SLAB allocator
        doc: admin-guide/kernel-parameters: remove useless comment
        docs/accel: correct links to mailing list archives
        docs/sphinx: Fix TOC scroll hack for the home page
      70da22eb
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-01-27' of git://anongit.freedesktop.org/drm/drm · 168174d7
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Lots going on for rc2, ivpu has a bunch of stabilisation and debugging
        work, then amdgpu and xe are the main fixes. i915, exynos have a few,
        then some misc panel and bridge fixes.
      
        Worth mentioning are three regressions. One of the nouveau fixes in
        6.7 for a serious deadlock had side effects, so I guess we will bring
        back the deadlock until I can figure out what should be done properly.
        There was a scheduler regression vs amdgpu which was reported in a few
        places and is now fixed. There was an i915 vs simpledrm problem
        resulting in black screens, that is reverted also.
      
        I'll be working on a proper nouveau fix, it kinda looks like one of
        those cases where someone tried to use an atomic where they should
        have probably used a lock, but I'll see.
      
        fb:
         - fix simpledrm/i915 regression by reverting change
      
        scheduler:
         - fix regression affecting amdgpu users due to sched draining
      
        nouveau:
         - revert 6.7 deadlock fix as it has side effects
      
        dp:
         - fix documentation warning
      
        ttm:
         - fix dummy page read on some platforms
      
        bridge:
         - anx7625 suspend fix
         - sii902x: fix probing and audio registration
         - parade-ps8640: fix suspend of bridge, aux fixes
         - samsung-dsim: avoid using FORCE_STOP_STATE
      
        panel:
         - simple add missing bus flags
         - fix samsung-s6d7aa0 flags
      
        amdgpu:
         - AC/DC power supply tracking fix
         - Don't show invalid vram vendor data
         - SMU 13.0.x fixes
         - GART fix for umr on systems without VRAM
         - GFX 10/11 UNORD_DISPATCH fixes
         - IPS display fixes (required for S0ix on some platforms)
         - Misc fixes
      
        i915:
         - DSI sequence revert to fix GitLab #10071 and DP test-pattern fix
         - Drop -Wstringop-overflow (broken on GCC11)
      
        ivpu:
         - fix recovery/reset support
         - improve submit ioctl stability
         - fix dev open/close races on unbind
         - PLL disable reset fix
         - deprecate context priority param
         - improve debug buffer logging
         - disable buffer sharing across VPU contexts
         - free buffer sgt on unbind
         - fix missing lock around shmem vmap
         - add better boot diagnostics
         - add more debug prints around mapping
         - dump MMU events in case of timeout
      
        v3d:
         - NULL ptr dereference fix
      
        exynos:
         - fix stack usage
         - fix incorrect type
         - fix dt typo
         - fix gsc runtime resume
      
        xe:
         - Make an ops struct static
         - Fix an implicit 0 to NULL conversion
         - A couple of 32-bit fixes
         - A migration coherency fix for Lunar Lake.
         - An error path vm id leak fix
         - Remove PVC references in kunit tests"
      
      * tag 'drm-fixes-2024-01-27' of git://anongit.freedesktop.org/drm/drm: (66 commits)
        Revert "nouveau: push event block/allowing out of the fence context"
        drm: bridge: samsung-dsim: Don't use FORCE_STOP_STATE
        drm/sched: Drain all entities in DRM sched run job worker
        drm/amd/display: "Enable IPS by default"
        drm/amd: Add a DC debug mask for IPS
        drm/amd/display: Disable ips before dc interrupt setting
        drm/amd/display: Replay + IPS + ABM in Full Screen VPB
        drm/amd/display: Add IPS checks before dcn register access
        drm/amd/display: Add Replay IPS register for DMUB command table
        drm/amd/display: Allow IPS2 during Replay
        drm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs
        drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs
        drm/amd/amdgpu: Assign GART pages to AMD device mapping
        drm/amd/pm: Fetch current power limit from FW
        drm/amdgpu: Fix null pointer dereference
        drm/amdgpu: Show vram vendor only if available
        drm/amd/pm: update the power cap setting
        drm/amdgpu: Avoid fetching vram vendor information
        drm/amdgpu/pm: Fix the power source flag error
        drm/amd/display: Fix uninitialized variable usage in core_link_ 'read_dpcd() & write_dpcd()' functions
        ...
      168174d7
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 2047b0b2
      Linus Torvalds authored
      Pull asm-generic update from Arnd Bergmann:
       "Just one patch this time, adding Andreas Larsson as co-maintainer for
        arch/sparc. He is volunteering to help since David Miller has become
        much less active over the past few years.
      
        In turn, I'm helping Andreas get set up as a new maintainer, starting
        with the entry in the MAINTAINERS file"
      
      * tag 'asm-generic-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        MAINTAINERS: Add Andreas Larsson as co-maintainer for arch/sparc
      2047b0b2
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ae971859
      Linus Torvalds authored
      Pull arm SoC fixes from Arnd Bergmann:
       "There are a couple of devicetree fixes for samsung, riscv/sophgo, and
        for TPM device nodes on a couple of platforms.
      
        Both the Arm FF-A and the SCMI firmware drivers get a number of code
        fixes, addressing minor implementation bugs and compatibility with
        firmware implementations. Most of these bugs relate to the usage of
        xarray and rwlock structures and are fixed by Cristian Marussi"
      
      * tag 'arm-fixes-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        riscv: dts: sophgo: separate sg2042 mtime and mtimecmp to fit aclint format
        arm64: dts: Fix TPM schema violations
        ARM: dts: Fix TPM schema violations
        ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd
        arm64: dts: exynos: gs101: comply with the new cmu_misc clock names
        firmware: arm_ffa: Handle partitions setup failures
        firmware: arm_ffa: Use xa_insert() and check for result
        firmware: arm_ffa: Simplify ffa_partitions_cleanup()
        firmware: arm_ffa: Check xa_load() return value
        firmware: arm_ffa: Add missing rwlock_init() for the driver partition
        firmware: arm_ffa: Add missing rwlock_init() in ffa_setup_partitions()
        firmware: arm_scmi: Fix the clock protocol supported version
        firmware: arm_scmi: Fix the clock protocol version for v3.2
        firmware: arm_scmi: Use xa_insert() when saving raw queues
        firmware: arm_scmi: Use xa_insert() to store opps
        firmware: arm_scmi: Replace asm-generic/bug.h with linux/bug.h
        firmware: arm_scmi: Check mailbox/SMT channel for consistency
      ae971859
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 48fa8ec6
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "As well as a few device IDs and the usual scattering of driver
        specific fixes this contains a couple of core things.
      
        One is a missed case in error handling, the other patch is a change
        from me raising the number of chip selects allowed by the newly added
        multi chip select support patches to resolve problems seen on several
        systems that exceeded the limit.
      
        This is not a real solution to the issue but rather just a change to
        avoid disruption to users, one of the options I am considering is just
        sending a revert of those changes if we can't come up with something
        sensible"
      
      * tag 'spi-fix-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: fix finalize message on error return
        spi: cs42l43: Handle error from devm_pm_runtime_enable
        spi: Raise limit on number of chip selects
        spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected
        spi: spi-cadence: Reverse the order of interleaved write and read operations
        spi: spi-imx: Use dev_err_probe for failed DMA channel requests
        spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
        spi: intel-pci: Add support for Arrow Lake SPI serial flash
        spi: intel-pci: Remove Meteor Lake-S SoC PCI ID from the list
      48fa8ec6
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 5f91b9ba
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - add a quirk to GPIO ACPI handling to ignore touchpad wakeups on GPD
         G1619-04
      
       - clear interrupt status bits (that may have been set before enabling
         the interrupts) after setting the interrupt type in gpio-eic-sprd
      
      * tag 'gpio-fixes-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: eic-sprd: Clear interrupt after set the interrupt type
        gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
      5f91b9ba
    • Linus Torvalds's avatar
      Merge tag 'media/v6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 4aeb0837
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - remove K3 DT prefix from wave5
      
       - vb2 core: fix missing caps on VIDIO_CREATE_BUFS under certain
         circumstances
      
       - videobuf2: Stop direct calls to queue num_buffers field
      
      * tag 'media/v6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: vb2: refactor setting flags and caps, fix missing cap
        media: media videobuf2: Stop direct calls to queue num_buffers field
        media: chips-media: wave5: Remove K3 References
        dt-bindings: media: Remove K3 Family Prefix from Compatible
      4aeb0837
    • Phoenix Chen's avatar
    • Jithu Joseph's avatar
      platform/x86/intel/ifs: Call release_firmware() when handling errors. · 8c898ec0
      Jithu Joseph authored
      Missing release_firmware() due to error handling blocked any future image
      loading.
      
      Fix the return code and release_fiwmare() to release the bad image.
      
      Fixes: 25a76dbb ("platform/x86/intel/ifs: Validate image size")
      Reported-by: default avatarPengfei Xu <pengfei.xu@intel.com>
      Signed-off-by: default avatarJithu Joseph <jithu.joseph@intel.com>
      Signed-off-by: default avatarAshok Raj <ashok.raj@intel.com>
      Tested-by: default avatarPengfei Xu <pengfei.xu@intel.com>
      Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
      Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      Link: https://lore.kernel.org/r/20240125082254.424859-2-ashok.raj@intel.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      8c898ec0
    • Cong Liu's avatar
      platform/x86/amd/pmf: Fix memory leak in amd_pmf_get_pb_data() · a692a86e
      Cong Liu authored
      amd_pmf_get_pb_data() will allocate memory for the policy buffer,
      but does not free it if copy_from_user() fails. This leads to a memory
      leak.
      
      Fixes: 10817f28 ("platform/x86/amd/pmf: Add capability to sideload of policy binary")
      Reviewed-by: default avatarShyam Sundar S K <Shyam-sundar.S-k@amd.com>
      Signed-off-by: default avatarCong Liu <liucong2@kylinos.cn>
      Link: https://lore.kernel.org/r/20240124012939.6550-1-liucong2@kylinos.cnReviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      a692a86e