1. 06 May, 2023 6 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0021b532
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes for rc1.
      
        The only (LOC-wise) dominant change was ASoC Qualcomm fix, but most of
        it was merely a code shuffling.
      
        Another significant change here is for ALSA PCM core; it received a
        revert and a series of fixes for PCM auto-silencing where it caused a
        regression in the previous PR for rc1.
      
        Others are all small: ASoC Intel fixes, various quirks for ASoC AMD,
        HD-audio and USB-audio, the continued legacy emu10k1 code cleanup, and
        some documentation updates"
      
      * tag 'sound-fix-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: pcm: use exit controlled loop in snd_pcm_playback_silence()
        ALSA: pcm: simplify top-up mode init in snd_pcm_playback_silence()
        ALSA: pcm: playback silence - move silence variable updates to separate function
        ALSA: pcm: playback silence - remove extra code
        ALSA: pcm: fix playback silence - correct incremental silencing
        ALSA: pcm: fix playback silence - use the actual new_hw_ptr for the threshold mode
        ALSA: pcm: Revert "ALSA: pcm: rewrite snd_pcm_playback_silence()"
        ALSA: hda/realtek: Fix mute and micmute LEDs for an HP laptop
        ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
        ALSA: usb-audio: Add quirk for Pioneer DDJ-800
        ALSA: hda/realtek: support HP Pavilion Aero 13-be0xxx Mute LED
        ASoC: Intel: soc-acpi-cht: Add quirk for Nextbook Ares 8A tablet
        ASoC: amd: yc: Add Asus VivoBook Pro 14 OLED M6400RC to the quirks list for acp6x
        ASoC: codecs: wcd938x: fix accessing regmap on unattached devices
        ALSA: docs: Fix code block indentation in ALSA driver example
        ALSA: docs: Extend module parameters description
        ALSA: hda/realtek: Add quirk for ASUS UM3402YAR using CS35L41
        ALSA: emu10k1: use more existing defines instead of open-coded numbers
        ASoC: amd: yc: Add ASUS M3402RA into DMI table
        ALSA: hda/realtek: Add quirk for ThinkPad P1 Gen 6
        ...
      0021b532
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 27e0c846
      Linus Torvalds authored
      Pull regulator fix from Mark Brown:
       "A trivial typo fix that came in during the merge window"
      
      * tag 'regulator-fix-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: consumer.rst: fix 'regulator_enable' typo.
      27e0c846
    • Linus Torvalds's avatar
      Merge tag '6.4-rc-ksmbd-server-fixes-part2' of git://git.samba.org/ksmbd · 2e1e1337
      Linus Torvalds authored
      Pull ksmbd server fixes from Steve French:
       "Ten ksmbd server fixes, including some important security fixes:
      
         - Two use after free fixes
      
         - Fix RCU callback race
      
         - Deadlock fix
      
         - Three patches to prevent session setup attacks
      
         - Prevent guest users from establishing multichannel sessions
      
         - Fix null pointer dereference in query FS info
      
         - Memleak fix"
      
      * tag '6.4-rc-ksmbd-server-fixes-part2' of git://git.samba.org/ksmbd:
        ksmbd: call rcu_barrier() in ksmbd_server_exit()
        ksmbd: fix racy issue under cocurrent smb2 tree disconnect
        ksmbd: fix racy issue from smb2 close and logoff with multichannel
        ksmbd: not allow guest user on multichannel
        ksmbd: fix deadlock in ksmbd_find_crypto_ctx()
        ksmbd: block asynchronous requests when making a delay on session setup
        ksmbd: destroy expired sessions
        ksmbd: fix racy issue from session setup and logoff
        ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem()
        ksmbd: fix memleak in session setup
      2e1e1337
    • Linus Torvalds's avatar
      Merge tag 'net-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ed23734c
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        Current release - regressions:
      
         - sched: act_pedit: free pedit keys on bail from offset check
      
        Current release - new code bugs:
      
         - pds_core:
            - Kconfig fixes (DEBUGFS and AUXILIARY_BUS)
            - fix mutex double unlock in error path
      
        Previous releases - regressions:
      
         - sched: cls_api: remove block_cb from driver_list before freeing
      
         - nf_tables: fix ct untracked match breakage
      
         - eth: mtk_eth_soc: drop generic vlan rx offload
      
         - sched: flower: fix error handler on replace
      
        Previous releases - always broken:
      
         - tcp: fix skb_copy_ubufs() vs BIG TCP
      
         - ipv6: fix skb hash for some RST packets
      
         - af_packet: don't send zero-byte data in packet_sendmsg_spkt()
      
         - rxrpc: timeout handling fixes after moving client call connection
           to the I/O thread
      
         - ixgbe: fix panic during XDP_TX with > 64 CPUs
      
         - igc: RMW the SRRCTL register to prevent losing timestamp config
      
         - dsa: mt7530: fix corrupt frames using TRGMII on 40 MHz XTAL MT7621
      
         - r8152:
            - fix flow control issue of RTL8156A
            - fix the poor throughput for 2.5G devices
            - move setting r8153b_rx_agg_chg_indicate() to fix coalescing
            - enable autosuspend
      
         - ncsi: clear Tx enable mode when handling a Config required AEN
      
         - octeontx2-pf: macsec: fixes for CN10KB ASIC rev
      
        Misc:
      
         - 9p: remove INET dependency"
      
      * tag 'net-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (69 commits)
        net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
        pds_core: fix mutex double unlock in error path
        net/sched: flower: fix error handler on replace
        Revert "net/sched: flower: Fix wrong handle assignment during filter change"
        net/sched: flower: fix filter idr initialization
        net: fec: correct the counting of XDP sent frames
        bonding: add xdp_features support
        net: enetc: check the index of the SFI rather than the handle
        sfc: Add back mailing list
        virtio_net: suppress cpu stall when free_unused_bufs
        ice: block LAN in case of VF to VF offload
        net: dsa: mt7530: fix network connectivity with multiple CPU ports
        net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
        9p: Remove INET dependency
        netfilter: nf_tables: fix ct untracked match breakage
        af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
        igc: read before write to SRRCTL register
        pds_core: add AUXILIARY_BUS and NET_DEVLINK to Kconfig
        pds_core: remove CONFIG_DEBUG_FS from makefile
        ionic: catch failure from devlink_alloc
        ...
      ed23734c
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · a5e21900
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
       "Some more driver bugfixes and a DT binding conversion"
      
      * tag 'i2c-for-6.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        dt-bindings: i2c: brcm,kona-i2c: convert to YAML
        i2c: gxp: fix build failure without CONFIG_I2C_SLAVE
        i2c: imx-lpi2c: avoid taking clk_prepare mutex in PM callbacks
        i2c: omap: Fix standard mode false ACK readings
        i2c: tegra: Fix PEC support for SMBUS block read
      a5e21900
    • Lukas Bulwahn's avatar
      s390: remove the unneeded select GCC12_NO_ARRAY_BOUNDS · c12753d5
      Lukas Bulwahn authored
      Commit 0da6e5fd ("gcc: disable '-Warray-bounds' for gcc-13 too") makes
      config GCC11_NO_ARRAY_BOUNDS to be for disabling -Warray-bounds in any gcc
      version 11 and upwards, and with that, removes the GCC12_NO_ARRAY_BOUNDS
      config as it is now covered by the semantics of GCC11_NO_ARRAY_BOUNDS.
      
      As GCC11_NO_ARRAY_BOUNDS is yes by default, there is no need for the s390
      architecture to explicitly select GCC11_NO_ARRAY_BOUNDS. Hence, the select
      GCC12_NO_ARRAY_BOUNDS in arch/s390/Kconfig can simply be dropped.
      
      Remove the unneeded "select GCC12_NO_ARRAY_BOUNDS".
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c12753d5
  2. 05 May, 2023 34 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 644bca1d
      Jakub Kicinski authored
      There's a fix which landed in net-next, pull it in along
      with the couple of minor cleanups.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      644bca1d
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 418d5c98
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Add Conor Dooley as a DT binding maintainer
      
       - Swap the order of parsing /memreserve/ and /reserved-memory nodes so
         that the /reserved-memory nodes which have more information are
         handled first
      
       - Fix some property dependencies in riscv,pmu binding
      
       - Update maintainers entries on a couple of bindings
      
      * tag 'devicetree-fixes-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        MAINTAINERS: add Conor as a dt-bindings maintainer
        dt-bindings: perf: riscv,pmu: fix property dependencies
        dt-bindings: xilinx: Remove Naga from memory and mtd bindings
        of: fdt: Scan /memreserve/ last
        dt-bindings: clock: r9a06g032-sysctrl: Change maintainer to Fabrizio Castro
        dt-bindings: pinctrl: renesas,rzv2m: Change maintainer to Fabrizio Castro
        dt-bindings: pinctrl: renesas,rzn1: Change maintainer to Fabrizio Castro
        dt-bindings: i2c: renesas,rzv2m: Change maintainer to Fabrizio Castro
      418d5c98
    • Linus Torvalds's avatar
      Merge tag 'docs-6.4-2' of git://git.lwn.net/linux · 647681bf
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "A handful of late-arriving documentation fixes, plus one Spanish
        translation that has been ready for some time but got applied late"
      
      * tag 'docs-6.4-2' of git://git.lwn.net/linux:
        docs/sp_SP: Add translation of process/adding-syscalls
        CREDITS: Update email address for Mat Martineau
        Documentation: update kernel stack for x86_64
        docs: Remove unnecessary unicode character
        docs: fix "Reviewd" typo
        Documentation: timers: hrtimers: Make hybrid union historical
        docs/admin-guide/mm/ksm.rst fix intraface -> interface typo
        doc:it_IT: fix some typos
      647681bf
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · e919a3f7
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - Make buffer_percent read/write.
      
         The buffer_percent file is how users can state how long to block on
         the tracing buffer depending on how much is in the buffer. When it
         hits the "buffer_percent" it will wake the task waiting on the
         buffer. For some reason it was set to read-only.
      
         This was not noticed because testing was done as root without
         SELinux, but with SELinux it will prevent even root to write to it
         without having CAP_DAC_OVERRIDE.
      
       - The "touched_functions" was added this merge window, but one of the
         reasons for adding it was not implemented.
      
         That was to show what functions were not only touched, but had either
         a direct trampoline attached to it, or a kprobe or live kernel
         patching that can "hijack" the function to run a different function.
         The point is to know if there's functions in the kernel that may not
         be behaving as the kernel code shows. This can be used for debugging.
      
         TODO: Add this information to kernel oops too.
      
      * tag 'trace-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ftrace: Add MODIFIED flag to show if IPMODIFY or direct was attached
        tracing: Fix permissions for the buffer_percent file
      e919a3f7
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b115d85a
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - Introduce local{,64}_try_cmpxchg() - a slightly more optimal
         primitive, which will be used in perf events ring-buffer code
      
       - Simplify/modify rwsems on PREEMPT_RT, to address writer starvation
      
       - Misc cleanups/fixes
      
      * tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/atomic: Correct (cmp)xchg() instrumentation
        locking/x86: Define arch_try_cmpxchg_local()
        locking/arch: Wire up local_try_cmpxchg()
        locking/generic: Wire up local{,64}_try_cmpxchg()
        locking/atomic: Add generic try_cmpxchg{,64}_local() support
        locking/rwbase: Mitigate indefinite writer starvation
        locking/arch: Rename all internal __xchg() names to __arch_xchg()
      b115d85a
    • Linus Torvalds's avatar
      Merge branch 'x86-uaccess-cleanup': x86 uaccess header cleanups · d5ed10bb
      Linus Torvalds authored
      Merge my x86 uaccess updates branch.
      
      The LAM ("Linear Address Masking") updates in this release made me
      unhappy about how "access_ok()" was done, and it actually turned out to
      have a couple of small bugs in it too.  This is my cleanup of the code:
      
       - use the sign bit of the __user pointer rather than masking the
         address and checking it against the TASK_SIZE range.
      
         We already did this part for the get/put_user() side, but
         'access_ok()' did the naïve "mask and range check" thing, which not
         only generates nasty code, but also ended up meaning that __access_ok
         itself didn't do a good job, and so copy_from_user_nmi() didn't get
         the check right.
      
       - move all the code that is 64-bit only into the 64-bit version of the
         header file, so that we don't unnecessarily pollute the shared x86
         code and make it look like LAM might work in 32-bit too.
      
       - fix a bug in the address masking (that doesn't end up mattering: in
         this case the fix was to just remove the buggy code entirely).
      
       - a couple of trivial cleanups and added commentary about the
         access_ok() rules.
      
      * x86-uaccess-cleanup:
        x86-64: mm: clarify the 'positive addresses' user address rules
        x86: mm: remove 'sign' games from LAM untagged_addr*() macros
        x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header
        x86: mm: remove architecture-specific 'access_ok()' define
        x86-64: make access_ok() independent of LAM
      d5ed10bb
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.4-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 982365a8
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for hibernation
      
       - The .rela.dyn section has been moved to the init area
      
       - A fix for the SBI probing to allow for implementation-defined
         behavior
      
       - Various other fixes and cleanups throughout the tree
      
      * tag 'riscv-for-linus-6.4-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: include cpufeature.h in cpufeature.c
        riscv: Move .rela.dyn to the init sections
        dt-bindings: riscv: explicitly mention assumption of Zicsr & Zifencei support
        riscv: compat_syscall_table: Fixup compile warning
        RISC-V: fixup in-flight collision with ARCH_WANT_OPTIMIZE_VMEMMAP rename
        RISC-V: fix sifive and thead section mismatches in errata
        RISC-V: Align SBI probe implementation with spec
        riscv: mm: remove redundant parameter of create_fdt_early_page_table
        riscv: Adjust dependencies of HAVE_DYNAMIC_FTRACE selection
        RISC-V: Add arch functions to support hibernation/suspend-to-disk
        RISC-V: mm: Enable huge page support to kernel_page_present() function
        RISC-V: Factor out common code of __cpu_resume_enter()
        RISC-V: Change suspend_save_csrs and suspend_restore_csrs to public function
      982365a8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 493804a6
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "This includes the 6.4 changes for RISC-V, and a few bugfix patches for
        other architectures. For x86, this closes a longstanding performance
        issue in the newer and (usually) more scalable page table management
        code.
      
        RISC-V:
         - ONE_REG interface to enable/disable SBI extensions
         - Zbb extension for Guest/VM
         - AIA CSR virtualization
      
        x86:
         - Fix a long-standing TDP MMU flaw, where unloading roots on a vCPU
           can result in the root being freed even though the root is
           completely valid and can be reused as-is (with a TLB flush).
      
        s390:
         - A couple of bugfixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: s390: fix race in gmap_make_secure()
        KVM: s390: pv: fix asynchronous teardown for small VMs
        KVM: x86: Preserve TDP MMU roots until they are explicitly invalidated
        RISC-V: KVM: Virtualize per-HART AIA CSRs
        RISC-V: KVM: Use bitmap for irqs_pending and irqs_pending_mask
        RISC-V: KVM: Add ONE_REG interface for AIA CSRs
        RISC-V: KVM: Implement subtype for CSR ONE_REG interface
        RISC-V: KVM: Initial skeletal support for AIA
        RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines
        RISC-V: Detect AIA CSRs from ISA string
        RISC-V: Add AIA related CSR defines
        RISC-V: KVM: Allow Zbb extension for Guest/VM
        RISC-V: KVM: Add ONE_REG interface to enable/disable SBI extensions
        RISC-V: KVM: Alphabetize selects
        KVM: RISC-V: Retry fault if vma_lookup() results become invalid
      493804a6
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7163a211
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Remove an ACPI backlight quirk for Lenovo ThinkPad W530, added during
        the 6.3 cycle, that turned out to do more harm than help (Hans de
        Goede)"
      
      * tag 'acpi-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: video: Remove acpi_backlight=video quirk for Lenovo ThinkPad W530
      7163a211
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 817e1af1
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix a NULL pointer dereference in the Intel powerclamp driver
        introduced during the 6.3 cycle and update MAINTAINERS to match recent
        code changes.
      
        Specifics:
      
         - Fix NULL pointer access in the Intel powerclamp thermal driver that
           occurs on attempts to set the cooling device state to 0 in the
           default configuration (Srinivas Pandruvada)
      
         - Drop the stale MAINTAINERS entry for the Intel Menlow thermal
           driver that has been removed recently (Lukas Bulwahn)"
      
      * tag 'thermal-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        MAINTAINERS: remove section INTEL MENLOW THERMAL DRIVER
        thermal: intel: powerclamp: Fix NULL pointer access issue
      817e1af1
    • Linus Torvalds's avatar
      Merge tag 'phy-fixes-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · b49178e6
      Linus Torvalds authored
      Pull phy fixes from Vinod Koul:
      
       - Fix for mediatek driver warning for variable used uninitialized and
         for wrong pll math
      
      * tag 'phy-fixes-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
        phy: mediatek: hdmi: mt8195: fix wrong pll calculus
        phy: mediatek: hdmi: mt8195: fix uninitialized variable usage in pll_calc
      b49178e6
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-05-05' of git://anongit.freedesktop.org/drm/drm · 084f51d4
      Linus Torvalds authored
      Pull more drm fixes from Dave Airlie:
       "This is the fixes for the last couple of weeks for i915 and last 3
        weeks for amdgpu, lots of them but pretty scattered around and all
        pretty small.
      
        amdgpu:
         - SR-IOV fixes
         - DCN 3.2 fixes
         - DC mclk handling fixes
         - eDP fixes
         - SubVP fixes
         - HDCP regression fix
         - DSC fixes
         - DC FP fixes
         - DCN 3.x fixes
         - Display flickering fix when switching between vram and gtt
         - Z8 power saving fix
         - Fix hang when skipping modeset
         - GPU reset fixes
         - Doorbell fix when resizing BARs
         - Fix spurious warnings in gmc
         - Locking fix for AMDGPU_SCHED IOCTL
         - SR-IOV fix
         - DCN 3.1.4 fix
         - DCN 3.2 fix
         - Fix job cleanup when CS is aborted
      
        i915:
         - skl pipe source size check
         - mtl transcoder mask fix
         - DSI power on sequence fix
         - GuC versioning corner case fix"
      
      * tag 'drm-next-2023-05-05' of git://anongit.freedesktop.org/drm/drm: (48 commits)
        drm/amdgpu: drop redundant sched job cleanup when cs is aborted
        drm/amd/display: filter out invalid bits in pipe_fuses
        drm/amd/display: Change default Z8 watermark values
        drm/amdgpu: disable SDMA WPTR_POLL_ENABLE for SR-IOV
        drm/amdgpu: add a missing lock for AMDGPU_SCHED
        drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
        drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini
        drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini
        drm/amdgpu: Enable doorbell selfring after resize FB BAR
        drm/amdgpu: Use the default reset when loading or reloading the driver
        drm/amdgpu: Fix mode2 reset for sienna cichlid
        drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep()
        drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info
        drm/i915/guc: Actually return an error if GuC version range check fails
        drm/amd/display: Lowering min Z8 residency time
        drm/amd/display: fix flickering caused by S/G mode
        drm/amd/display: Set min_width and min_height capability for DCN30
        drm/amd/display: Isolate remaining FPU code in DCN32
        drm/amd/display: Update bounding box values for DCN321
        drm/amd/display: Do not clear GPINT register when releasing DMUB from reset
        ...
      084f51d4
    • Oswald Buddenhagen's avatar
      ALSA: pcm: use exit controlled loop in snd_pcm_playback_silence() · ee2dd703
      Oswald Buddenhagen authored
      We already know that `frames` is greater than zero, because we just
      checked it. So we don't need to check the loop condition on the first
      iteration.
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Link: https://lore.kernel.org/r/20230505155244.2312199-7-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ee2dd703
    • Oswald Buddenhagen's avatar
      ALSA: pcm: simplify top-up mode init in snd_pcm_playback_silence() · 6ffa6f39
      Oswald Buddenhagen authored
      Inline the remaining call of snd_pcm_playback_hw_avail(). This makes
      the top-up branch more congruent with the thresholded one, and allows
      simplifying the handling of the corner cases.
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Link: https://lore.kernel.org/r/20230505155244.2312199-6-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6ffa6f39
    • Jaroslav Kysela's avatar
      ALSA: pcm: playback silence - move silence variable updates to separate function · 6d8d56db
      Jaroslav Kysela authored
      The code tracking the added samples in thresholded mode and the code
      tracking the just played samples in top-up mode are semantically
      identical, so factor it out to a common function to enhance readability.
      Co-developed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230505155244.2312199-5-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6d8d56db
    • Jaroslav Kysela's avatar
      ALSA: pcm: playback silence - remove extra code · 190cb66a
      Jaroslav Kysela authored
      The removed condition handles de facto only one situation where
      runtime->silence_filled variable is equal to runtime->buffer_size,
      because this variable cannot go over the buffer size. This case is
      implicitly caught by the required comparison of the noise distance
      with the threshold.
      Suggested-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Link: https://lore.kernel.org/r/20230505155244.2312199-4-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      190cb66a
    • Jaroslav Kysela's avatar
      ALSA: pcm: fix playback silence - correct incremental silencing · 781b4da6
      Jaroslav Kysela authored
      Commit 9a826ddb ("[ALSA] pcm core: fix silence_start calculations")
      came with exactly the right commit message, but the patch just made
      things broken in a different way: We'd fill at a too low address if the
      area was already partially zeroed, so we'd under-fill. This affected
      both thresholded mode (where it was somewhat less likely) and top-up
      mode (where it would be the case consistently).
      Co-developed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230505155244.2312199-3-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      781b4da6
    • Jaroslav Kysela's avatar
      ALSA: pcm: fix playback silence - use the actual new_hw_ptr for the threshold mode · 2fbaa44a
      Jaroslav Kysela authored
      The snd_pcm_playback_hw_avail() function uses runtime->status->hw_ptr.
      Unfortunately, in case when we call this function from snd_pcm_update_hw_ptr0(),
      this variable contains the previous hardware pointer. Use the new_hw_ptr
      argument to calculate hw_avail (filled samples by the user space) to
      correct the threshold comparison.
      
      The new_hw_ptr argument may also be set to ULONG_MAX which means the
      initialization phase. In this case, use runtime->status->hw_ptr.
      Suggested-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Link: https://lore.kernel.org/r/20230505155244.2312199-2-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2fbaa44a
    • Jaroslav Kysela's avatar
      ALSA: pcm: Revert "ALSA: pcm: rewrite snd_pcm_playback_silence()" · d7f5dd97
      Jaroslav Kysela authored
      This reverts commit 9f656705.
      
      There was a regression (in the top-up mode). Unfortunately, the patch
      provided from the author of this commit is not easy to review.
      
      Keep the updated and new comments in headers.
      Also add a new comment that documents the missed API constraint which
      led to the regression.
      Reported-by: default avatarJeff Chua <jeff.chua.linux@gmail.com>
      Link: https://lore.kernel.org/r/CAAJw_ZsbTVd3Es373x_wTNDF7RknGhCD0r+NKUSwAO7HpLAkYA@mail.gmail.comSigned-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
      Link: https://lore.kernel.org/r/20230505155244.2312199-1-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d7f5dd97
    • Kai-Heng Feng's avatar
      ALSA: hda/realtek: Fix mute and micmute LEDs for an HP laptop · 56fc217f
      Kai-Heng Feng authored
      There's another laptop that needs the fixup to enable mute and micmute
      LEDs. So do it accordingly.
      Signed-off-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20230505125925.543601-1-kai.heng.feng@canonical.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      56fc217f
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v6.4-rc1' of... · 4a224885
      Takashi Iwai authored
      Merge tag 'asoc-fix-v6.4-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v6.4
      
      A small set of fixes and device quirks that have come in during the
      merge window, the Qualcomm fix seems quite large but it's mainly code
      motion so looks larger than it is.
      4a224885
    • Steven Rostedt (Google)'s avatar
      ftrace: Add MODIFIED flag to show if IPMODIFY or direct was attached · 6ce2c04f
      Steven Rostedt (Google) authored
      If a function had ever had IPMODIFY or DIRECT attached to it, where this
      is how live kernel patching and BPF overrides work, mark them and display
      an "M" in the enabled_functions and touched_functions files. This can be
      used for debugging. If a function had been modified and later there's a bug
      in the code related to that function, this can be used to know if the cause
      is possibly from a live kernel patch or a BPF program that changed the
      behavior of the code.
      
      Also update the documentation on the enabled_functions and
      touched_functions output, as it was missing direct callers and CALL_OPS.
      And include this new modify attribute.
      
      Link: https://lore.kernel.org/linux-trace-kernel/20230502213233.004e3ae4@gandalf.local.home
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Acked-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      6ce2c04f
    • Lukas Bulwahn's avatar
      MAINTAINERS: remove section INTEL MENLOW THERMAL DRIVER · 2492ba4c
      Lukas Bulwahn authored
      Commit 2b6a7409 ("thermal: intel: menlow: Get rid of this driver")
      removes the driver drivers/thermal/intel/intel_menlow.c, but misses to
      remove its reference in MAINTAINERS.
      
      Hence, ./scripts/get_maintainer.pl --self-test=patterns complains about a
      broken reference.
      
      Remove the INTEL MENLOW THERMAL DRIVER section in MAINTAINERS.
      
      Fixes: 2b6a7409 ("thermal: intel: menlow: Get rid of this driver")
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      2492ba4c
    • Conor Dooley's avatar
      MAINTAINERS: add Conor as a dt-bindings maintainer · 6997f847
      Conor Dooley authored
      Rob asked if I would be interested in helping with the dt-bindings
      maintenance, and since I am a glutton for punishment I accepted.
      Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Link: https://lore.kernel.org/r/20230504-renderer-alive-1c01d431b2a7@spudSigned-off-by: default avatarRob Herring <robh@kernel.org>
      6997f847
    • Paolo Bonzini's avatar
      Merge tag 'kvm-s390-next-6.4-2' of... · 7a8016d9
      Paolo Bonzini authored
      Merge tag 'kvm-s390-next-6.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      
      For 6.4
      7a8016d9
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-mmu-6.4-2' of https://github.com/kvm-x86/linux into HEAD · 29b38e76
      Paolo Bonzini authored
      Fix a long-standing flaw in x86's TDP MMU where unloading roots on a vCPU can
      result in the root being freed even though the root is completely valid and
      can be reused as-is (with a TLB flush).
      29b38e76
    • Paolo Bonzini's avatar
      Merge tag 'kvm-riscv-6.4-1' of https://github.com/kvm-riscv/linux into HEAD · d4fba4df
      Paolo Bonzini authored
      KVM/riscv changes for 6.4
      
      - ONE_REG interface to enable/disable SBI extensions
      - Zbb extension for Guest/VM
      - AIA CSR virtualization
      d4fba4df
    • Florian Fainelli's avatar
      net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() · 93e0401e
      Florian Fainelli authored
      The call to phy_stop() races with the later call to phy_disconnect(),
      resulting in concurrent phy_suspend() calls being run from different
      CPUs. The final call to phy_disconnect() ensures that the PHY is
      stopped and suspended, too.
      
      Fixes: c96e731c ("net: bcmgenet: connect and disconnect from the PHY state machine")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93e0401e
    • Shannon Nelson's avatar
      pds_core: fix mutex double unlock in error path · 1e76f427
      Shannon Nelson authored
      Fix a double unlock in an error handling path by unlocking as soon as
      the error is seen and removing unlocks in the error cleanup path.
      
      Link: https://lore.kernel.org/kernel-janitors/209a09f6-5ec6-40c7-a5ec-6260d8f54d25@kili.mountain/
      Fixes: 523847df ("pds_core: add devcmd device interfaces")
      Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e76f427
    • David S. Miller's avatar
      Merge branch 'tc-action-fixes' · 1a304495
      David S. Miller authored
      Vlad Buslov says:
      
      ====================
      Fixes for miss to tc action series
      
      Changes V1 -> V2:
      
      - Added new patch reverting Ivan's fix for the same issue.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1a304495
    • Vlad Buslov's avatar
      net/sched: flower: fix error handler on replace · fd741f0d
      Vlad Buslov authored
      When replacing a filter (i.e. 'fold' pointer is not NULL) the insertion of
      new filter to idr is postponed until later in code since handle is already
      provided by the user. However, the error handling code in fl_change()
      always assumes that the new filter had been inserted into idr. If error
      handler is reached when replacing existing filter it may remove it from idr
      therefore making it unreachable for delete or dump afterwards. Fix the
      issue by verifying that 'fold' argument wasn't provided by caller before
      calling idr_remove().
      
      Fixes: 08a0063d ("net/sched: flower: Move filter handle initialization earlier")
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Reviewed-by: default avatarPedro Tammela <pctammela@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd741f0d
    • Vlad Buslov's avatar
      Revert "net/sched: flower: Fix wrong handle assignment during filter change" · 5110f3ff
      Vlad Buslov authored
      This reverts commit 32eff6ba.
      
      Superseded by the following commit in this series.
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5110f3ff
    • Vlad Buslov's avatar
      net/sched: flower: fix filter idr initialization · dd4f6bbf
      Vlad Buslov authored
      The cited commit moved idr initialization too early in fl_change() which
      allows concurrent users to access the filter that is still being
      initialized and is in inconsistent state, which, in turn, can cause NULL
      pointer dereference [0]. Since there is no obvious way to fix the ordering
      without reverting the whole cited commit, alternative approach taken to
      first insert NULL pointer into idr in order to allocate the handle but
      still cause fl_get() to return NULL and prevent concurrent users from
      seeing the filter while providing miss-to-action infrastructure with valid
      handle id early in fl_change().
      
      [  152.434728] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN
      [  152.436163] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
      [  152.437269] CPU: 4 PID: 3877 Comm: tc Not tainted 6.3.0-rc4+ #5
      [  152.438110] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
      [  152.439644] RIP: 0010:fl_dump_key+0x8b/0x1d10 [cls_flower]
      [  152.440461] Code: 01 f2 02 f2 c7 40 08 04 f2 04 f2 c7 40 0c 04 f3 f3 f3 65 48 8b 04 25 28 00 00 00 48 89 84 24 00 01 00 00 48 89 c8 48 c1 e8 03 <0f> b6 04 10 84 c0 74 08 3c 03 0f 8e 98 19 00 00 8b 13 85 d2 74 57
      [  152.442885] RSP: 0018:ffff88817a28f158 EFLAGS: 00010246
      [  152.443851] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      [  152.444826] RDX: dffffc0000000000 RSI: ffffffff8500ae80 RDI: ffff88810a987900
      [  152.445791] RBP: ffff888179d88240 R08: ffff888179d8845c R09: ffff888179d88240
      [  152.446780] R10: ffffed102f451e48 R11: 00000000fffffff2 R12: ffff88810a987900
      [  152.447741] R13: ffffffff8500ae80 R14: ffff88810a987900 R15: ffff888149b3c738
      [  152.448756] FS:  00007f5eb2a34800(0000) GS:ffff88881ec00000(0000) knlGS:0000000000000000
      [  152.449888] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  152.450685] CR2: 000000000046ad19 CR3: 000000010b0bd006 CR4: 0000000000370ea0
      [  152.451641] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  152.452628] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  152.453588] Call Trace:
      [  152.454032]  <TASK>
      [  152.454447]  ? netlink_sendmsg+0x7a1/0xcb0
      [  152.455109]  ? sock_sendmsg+0xc5/0x190
      [  152.455689]  ? ____sys_sendmsg+0x535/0x6b0
      [  152.456320]  ? ___sys_sendmsg+0xeb/0x170
      [  152.456916]  ? do_syscall_64+0x3d/0x90
      [  152.457529]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.458321]  ? ___sys_sendmsg+0xeb/0x170
      [  152.458958]  ? __sys_sendmsg+0xb5/0x140
      [  152.459564]  ? do_syscall_64+0x3d/0x90
      [  152.460122]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.460852]  ? fl_dump_key_options.part.0+0xea0/0xea0 [cls_flower]
      [  152.461710]  ? _raw_spin_lock+0x7a/0xd0
      [  152.462299]  ? _raw_read_lock_irq+0x30/0x30
      [  152.462924]  ? nla_put+0x15e/0x1c0
      [  152.463480]  fl_dump+0x228/0x650 [cls_flower]
      [  152.464112]  ? fl_tmplt_dump+0x210/0x210 [cls_flower]
      [  152.464854]  ? __kmem_cache_alloc_node+0x1a7/0x330
      [  152.465592]  ? nla_put+0x15e/0x1c0
      [  152.466160]  tcf_fill_node+0x515/0x9a0
      [  152.466766]  ? tc_setup_offload_action+0xf0/0xf0
      [  152.467463]  ? __alloc_skb+0x13c/0x2a0
      [  152.468067]  ? __build_skb_around+0x330/0x330
      [  152.468814]  ? fl_get+0x107/0x1a0 [cls_flower]
      [  152.469503]  tc_del_tfilter+0x718/0x1330
      [  152.470115]  ? is_bpf_text_address+0xa/0x20
      [  152.470765]  ? tc_ctl_chain+0xee0/0xee0
      [  152.471335]  ? __kernel_text_address+0xe/0x30
      [  152.471948]  ? unwind_get_return_address+0x56/0xa0
      [  152.472639]  ? __thaw_task+0x150/0x150
      [  152.473218]  ? arch_stack_walk+0x98/0xf0
      [  152.473839]  ? __stack_depot_save+0x35/0x4c0
      [  152.474501]  ? stack_trace_save+0x91/0xc0
      [  152.475119]  ? security_capable+0x51/0x90
      [  152.475741]  rtnetlink_rcv_msg+0x2c1/0x9d0
      [  152.476387]  ? rtnl_calcit.isra.0+0x2b0/0x2b0
      [  152.477042]  ? __sys_sendmsg+0xb5/0x140
      [  152.477664]  ? do_syscall_64+0x3d/0x90
      [  152.478255]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.479010]  ? __stack_depot_save+0x35/0x4c0
      [  152.479679]  ? __stack_depot_save+0x35/0x4c0
      [  152.480346]  netlink_rcv_skb+0x12c/0x360
      [  152.480929]  ? rtnl_calcit.isra.0+0x2b0/0x2b0
      [  152.481517]  ? do_syscall_64+0x3d/0x90
      [  152.482061]  ? netlink_ack+0x1550/0x1550
      [  152.482612]  ? rhashtable_walk_peek+0x170/0x170
      [  152.483262]  ? kmem_cache_alloc_node+0x1af/0x390
      [  152.483875]  ? _copy_from_iter+0x3d6/0xc70
      [  152.484528]  netlink_unicast+0x553/0x790
      [  152.485168]  ? netlink_attachskb+0x6a0/0x6a0
      [  152.485848]  ? unwind_next_frame+0x11cc/0x1a10
      [  152.486538]  ? arch_stack_walk+0x61/0xf0
      [  152.487169]  netlink_sendmsg+0x7a1/0xcb0
      [  152.487799]  ? netlink_unicast+0x790/0x790
      [  152.488355]  ? iovec_from_user.part.0+0x4d/0x220
      [  152.488990]  ? _raw_spin_lock+0x7a/0xd0
      [  152.489598]  ? netlink_unicast+0x790/0x790
      [  152.490236]  sock_sendmsg+0xc5/0x190
      [  152.490796]  ____sys_sendmsg+0x535/0x6b0
      [  152.491394]  ? import_iovec+0x7/0x10
      [  152.491964]  ? kernel_sendmsg+0x30/0x30
      [  152.492561]  ? __copy_msghdr+0x3c0/0x3c0
      [  152.493160]  ? do_syscall_64+0x3d/0x90
      [  152.493706]  ___sys_sendmsg+0xeb/0x170
      [  152.494283]  ? may_open_dev+0xd0/0xd0
      [  152.494858]  ? copy_msghdr_from_user+0x110/0x110
      [  152.495541]  ? __handle_mm_fault+0x2678/0x4ad0
      [  152.496205]  ? copy_page_range+0x2360/0x2360
      [  152.496862]  ? __fget_light+0x57/0x520
      [  152.497449]  ? mas_find+0x1c0/0x1c0
      [  152.498026]  ? sockfd_lookup_light+0x1a/0x140
      [  152.498703]  __sys_sendmsg+0xb5/0x140
      [  152.499306]  ? __sys_sendmsg_sock+0x20/0x20
      [  152.499951]  ? do_user_addr_fault+0x369/0xd80
      [  152.500595]  do_syscall_64+0x3d/0x90
      [  152.501185]  entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.501917] RIP: 0033:0x7f5eb294f887
      [  152.502494] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
      [  152.505008] RSP: 002b:00007ffd2c708f78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      [  152.506152] RAX: ffffffffffffffda RBX: 00000000642d9472 RCX: 00007f5eb294f887
      [  152.507134] RDX: 0000000000000000 RSI: 00007ffd2c708fe0 RDI: 0000000000000003
      [  152.508113] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
      [  152.509119] R10: 00007f5eb2808708 R11: 0000000000000246 R12: 0000000000000001
      [  152.510068] R13: 0000000000000000 R14: 00007ffd2c70d1b8 R15: 0000000000485400
      [  152.511031]  </TASK>
      [  152.511444] Modules linked in: cls_flower sch_ingress openvswitch nsh mlx5_vdpa vringh vhost_iotlb vdpa mlx5_ib mlx5_core rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm ib_cm ib_uverbs ib_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter overlay zram zsmalloc fuse [last unloaded: mlx5_core]
      [  152.515720] ---[ end trace 0000000000000000 ]---
      
      Fixes: 08a0063d ("net/sched: flower: Move filter handle initialization earlier")
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Reviewed-by: default avatarPedro Tammela <pctammela@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd4f6bbf
    • Shenwei Wang's avatar
      net: fec: correct the counting of XDP sent frames · 26312c68
      Shenwei Wang authored
      In the current xdp_xmit implementation, if any single frame fails to
      transmit due to insufficient buffer descriptors, the function nevertheless
      reports success in sending all frames. This results in erroneously
      indicating that frames were transmitted when in fact they were dropped.
      
      This patch fixes the issue by ensureing the return value properly
      indicates the actual number of frames successfully transmitted, rather than
      potentially reporting success for all frames when some could not transmit.
      
      Fixes: 6d6b39f1 ("net: fec: add initial XDP support")
      Signed-off-by: default avatarGagandeep Singh <g.singh@nxp.com>
      Signed-off-by: default avatarShenwei Wang <shenwei.wang@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26312c68