Skip to contentSkip to conversation

Linux 6.1.132

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Mar 28, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.1.132 kernel.

All users of the 6.1 kernel series must upgrade.

The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/timers/no_hz.rst                                |    7 
 Makefile                                                      |   13 
 arch/alpha/include/asm/elf.h                                  |    6 
 arch/alpha/include/asm/pgtable.h                              |    2 
 arch/alpha/include/asm/processor.h                            |    8 
 arch/alpha/kernel/osf_sys.c                                   |   11 
 arch/arm/boot/dts/bcm2711.dtsi                                |   11 
 arch/arm/mach-omap1/Kconfig                                   |    1 
 arch/arm/mach-shmobile/headsmp.S                              |    1 
 arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi       |    6 
 arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi           |   16 
 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts            |    2 
 arch/arm64/mm/mmu.c                                           |    5 
 arch/x86/events/intel/core.c                                  |   85 ++++
 arch/x86/kernel/cpu/microcode/amd.c                           |    2 
 arch/x86/kernel/cpu/mshyperv.c                                |   11 
 arch/x86/kernel/irq.c                                         |    2 
 block/bfq-cgroup.c                                            |    2 
 block/bio.c                                                   |    2 
 drivers/acpi/resource.c                                       |    6 
 drivers/clk/samsung/clk-pll.c                                 |    7 
 drivers/clocksource/i8253.c                                   |   36 +-
 drivers/firmware/efi/libstub/randomalloc.c                    |    4 
 drivers/firmware/imx/imx-scu.c                                |    1 
 drivers/firmware/iscsi_ibft.c                                 |    5 
 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c                        |   20 -
 drivers/gpu/drm/amd/amdgpu/nv.c                               |    2 
 drivers/gpu/drm/amd/amdgpu/soc15.c                            |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c             |   10 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c        |    1 
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c             |    7 
 drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c         |   12 
 drivers/gpu/drm/display/drm_dp_mst_topology.c                 |   40 +-
 drivers/gpu/drm/drm_atomic_uapi.c                             |    4 
 drivers/gpu/drm/drm_connector.c                               |    4 
 drivers/gpu/drm/gma500/mid_bios.c                             |    5 
 drivers/gpu/drm/hyperv/hyperv_drm_drv.c                       |    2 
 drivers/gpu/drm/mediatek/mtk_drm_gem.c                        |    9 
 drivers/gpu/drm/mediatek/mtk_drm_plane.c                      |   13 
 drivers/gpu/drm/nouveau/nouveau_connector.c                   |    1 
 drivers/gpu/drm/radeon/radeon_vce.c                           |    2 
 drivers/gpu/drm/v3d/v3d_sched.c                               |    9 
 drivers/hid/hid-apple.c                                       |   13 
 drivers/hid/hid-ids.h                                         |    2 
 drivers/hid/hid-quirks.c                                      |    1 
 drivers/hid/intel-ish-hid/ipc/ipc.c                           |   15 
 drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h                   |    2 
 drivers/hv/vmbus_drv.c                                        |   13 
 drivers/i2c/busses/i2c-ali1535.c                              |   12 
 drivers/i2c/busses/i2c-ali15x3.c                              |   12 
 drivers/i2c/busses/i2c-omap.c                                 |   26 -
 drivers/i2c/busses/i2c-sis630.c                               |   12 
 drivers/infiniband/hw/bnxt_re/qplib_fp.c                      |    2 
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h                    |    3 
 drivers/infiniband/hw/hns/hns_roce_hem.c                      |   16 
 drivers/infiniband/hw/hns/hns_roce_main.c                     |    2 
 drivers/infiniband/hw/hns/hns_roce_qp.c                       |   10 
 drivers/input/serio/i8042-acpipnpio.h                         |  111 +++---
 drivers/leds/leds-mlxreg.c                                    |   16 
 drivers/media/platform/mediatek/vcodec/vdec/vdec_vp8_req_if.c |   10 
 drivers/mmc/host/atmel-mci.c                                  |    4 
 drivers/mmc/host/sdhci-brcmstb.c                              |   10 
 drivers/net/bonding/bond_options.c                            |   55 ++-
 drivers/net/can/flexcan/flexcan-core.c                        |   18 -
 drivers/net/can/rcar/rcar_canfd.c                             |   28 -
 drivers/net/dsa/mv88e6xxx/chip.c                              |   59 ++-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                     |    3 
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c                 |   11 
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h                 |    3 
 drivers/net/ethernet/intel/ice/ice_arfs.c                     |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c       |   12 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c             |    6 
 drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c       |    5 
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c      |    8 
 drivers/net/mctp/mctp-i2c.c                                   |    5 
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c                   |    9 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c                  |   28 +
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h                  |    3 
 drivers/net/wwan/mhi_wwan_mbim.c                              |    2 
 drivers/nvme/host/core.c                                      |    2 
 drivers/nvme/host/fc.c                                        |    3 
 drivers/nvme/host/pci.c                                       |    2 
 drivers/nvme/host/tcp.c                                       |   43 ++
 drivers/nvme/target/rdma.c                                    |   33 +
 drivers/pinctrl/bcm/pinctrl-bcm281xx.c                        |    2 
 drivers/platform/x86/thinkpad_acpi.c                          |   50 ++
 drivers/powercap/powercap_sys.c                               |    3 
 drivers/regulator/core.c                                      |   12 
 drivers/s390/cio/chp.c                                        |    3 
 drivers/scsi/qla1280.c                                        |    2 
 drivers/scsi/scsi_scan.c                                      |    2 
 drivers/soc/imx/soc-imx8m.c                                   |  149 +++-----
 drivers/soc/qcom/pdr_interface.c                              |    8 
 drivers/thermal/cpufreq_cooling.c                             |    2 
 drivers/usb/serial/ftdi_sio.c                                 |   14 
 drivers/usb/serial/ftdi_sio_ids.h                             |   13 
 drivers/usb/serial/option.c                                   |   48 +-
 drivers/video/fbdev/hyperv_fb.c                               |    2 
 drivers/xen/swiotlb-xen.c                                     |    2 
 fs/fuse/dir.c                                                 |    2 
 fs/namei.c                                                    |   24 +
 fs/ntfs3/attrib.c                                             |  176 ++++++----
 fs/ntfs3/file.c                                               |  151 +-------
 fs/ntfs3/frecord.c                                            |    2 
 fs/ntfs3/index.c                                              |    4 
 fs/ntfs3/inode.c                                              |   12 
 fs/ntfs3/ntfs_fs.h                                            |    9 
 fs/ntfs3/super.c                                              |   68 ++-
 fs/proc/base.c                                                |    9 
 fs/proc/generic.c                                             |   10 
 fs/proc/inode.c                                               |    6 
 fs/proc/internal.h                                            |   14 
 fs/select.c                                                   |   11 
 fs/smb/client/asn1.c                                          |    2 
 fs/smb/client/cifs_spnego.c                                   |    4 
 fs/smb/client/cifsglob.h                                      |    4 
 fs/smb/client/connect.c                                       |   16 
 fs/smb/client/fs_context.c                                    |   14 
 fs/smb/client/ioctl.c                                         |    6 
 fs/smb/client/sess.c                                          |    3 
 fs/smb/client/smb2pdu.c                                       |    4 
 fs/smb/server/smbacl.c                                        |    5 
 fs/vboxsf/super.c                                             |    3 
 fs/xfs/libxfs/xfs_ag.c                                        |   45 +-
 fs/xfs/libxfs/xfs_ag.h                                        |    3 
 fs/xfs/libxfs/xfs_alloc.c                                     |   77 ++--
 fs/xfs/libxfs/xfs_alloc.h                                     |   24 -
 fs/xfs/libxfs/xfs_attr.c                                      |    6 
 fs/xfs/libxfs/xfs_bmap.c                                      |  121 +++---
 fs/xfs/libxfs/xfs_bmap.h                                      |    5 
 fs/xfs/libxfs/xfs_bmap_btree.c                                |    8 
 fs/xfs/libxfs/xfs_btree_staging.c                             |    4 
 fs/xfs/libxfs/xfs_btree_staging.h                             |    6 
 fs/xfs/libxfs/xfs_da_btree.c                                  |    7 
 fs/xfs/libxfs/xfs_format.h                                    |    2 
 fs/xfs/libxfs/xfs_ialloc.c                                    |   24 -
 fs/xfs/libxfs/xfs_ialloc_btree.c                              |    6 
 fs/xfs/libxfs/xfs_log_recover.h                               |   22 +
 fs/xfs/libxfs/xfs_refcount.c                                  |  116 +++---
 fs/xfs/libxfs/xfs_refcount.h                                  |    4 
 fs/xfs/libxfs/xfs_refcount_btree.c                            |    9 
 fs/xfs/libxfs/xfs_rtbitmap.c                                  |    2 
 fs/xfs/libxfs/xfs_rtbitmap.h                                  |   83 ++++
 fs/xfs/libxfs/xfs_sb.c                                        |   20 +
 fs/xfs/libxfs/xfs_sb.h                                        |    2 
 fs/xfs/libxfs/xfs_types.h                                     |   13 
 fs/xfs/scrub/repair.c                                         |    3 
 fs/xfs/scrub/rtbitmap.c                                       |    3 
 fs/xfs/xfs_attr_item.c                                        |   16 
 fs/xfs/xfs_bmap_item.c                                        |   85 +---
 fs/xfs/xfs_buf.c                                              |   44 ++
 fs/xfs/xfs_buf.h                                              |    1 
 fs/xfs/xfs_extfree_item.c                                     |  144 ++++----
 fs/xfs/xfs_fsmap.c                                            |    2 
 fs/xfs/xfs_fsops.c                                            |    5 
 fs/xfs/xfs_inode_item.c                                       |    3 
 fs/xfs/xfs_refcount_item.c                                    |   68 +--
 fs/xfs/xfs_reflink.c                                          |    7 
 fs/xfs/xfs_rmap_item.c                                        |    6 
 fs/xfs/xfs_rtalloc.c                                          |   14 
 fs/xfs/xfs_rtalloc.h                                          |   73 ----
 fs/xfs/xfs_trace.h                                            |   15 
 include/linux/fs.h                                            |    2 
 include/linux/i8253.h                                         |    1 
 include/linux/io_uring_types.h                                |    5 
 include/linux/nvme-tcp.h                                      |    2 
 include/linux/proc_fs.h                                       |    7 
 include/net/bluetooth/hci_core.h                              |  108 ++----
 include/sound/soc.h                                           |    5 
 include/uapi/linux/io_uring.h                                 |    1 
 init/Kconfig                                                  |    2 
 io_uring/io_uring.c                                           |  163 +++++++--
 io_uring/io_uring.h                                           |    2 
 kernel/sched/core.c                                           |   13 
 kernel/sys.c                                                  |    2 
 kernel/time/hrtimer.c                                         |   40 --
 lib/buildid.c                                                 |    5 
 mm/migrate.c                                                  |   16 
 mm/nommu.c                                                    |    7 
 net/atm/lec.c                                                 |    3 
 net/batman-adv/bat_iv_ogm.c                                   |    3 
 net/batman-adv/bat_v_ogm.c                                    |    3 
 net/bluetooth/6lowpan.c                                       |    7 
 net/bluetooth/hci_core.c                                      |   10 
 net/bluetooth/hci_event.c                                     |   37 +-
 net/bluetooth/iso.c                                           |    6 
 net/bluetooth/l2cap_core.c                                    |   12 
 net/bluetooth/rfcomm/core.c                                   |    6 
 net/bluetooth/sco.c                                           |   12 
 net/core/lwtunnel.c                                           |   65 +++
 net/core/neighbour.c                                          |    1 
 net/core/netpoll.c                                            |    9 
 net/ipv4/tcp.c                                                |   19 -
 net/ipv6/route.c                                              |    5 
 net/mptcp/options.c                                           |    6 
 net/mptcp/protocol.h                                          |    2 
 net/netfilter/ipvs/ip_vs_ctl.c                                |    8 
 net/netfilter/nf_conncount.c                                  |    6 
 net/netfilter/nft_counter.c                                   |   90 ++---
 net/netfilter/nft_ct.c                                        |    6 
 net/netfilter/nft_exthdr.c                                    |   10 
 net/openvswitch/flow_netlink.c                                |   15 
 net/sched/sch_api.c                                           |    6 
 net/sched/sch_gred.c                                          |    3 
 net/sctp/stream.c                                             |    2 
 net/switchdev/switchdev.c                                     |   25 +
 net/wireless/core.c                                           |    7 
 net/xdp/xsk_buff_pool.c                                       |    2 
 net/xfrm/xfrm_output.c                                        |    2 
 rust/Makefile                                                 |    7 
 scripts/generate_rust_analyzer.py                             |   64 ++-
 sound/pci/hda/patch_realtek.c                                 |    1 
 sound/soc/amd/yc/acp6x-mach.c                                 |    7 
 sound/soc/codecs/arizona.c                                    |   14 
 sound/soc/codecs/madera.c                                     |   10 
 sound/soc/codecs/tas2764.c                                    |   10 
 sound/soc/codecs/tas2764.h                                    |    8 
 sound/soc/codecs/tas2770.c                                    |    2 
 sound/soc/codecs/wm0010.c                                     |   13 
 sound/soc/codecs/wm5110.c                                     |    8 
 sound/soc/sh/rcar/core.c                                      |   14 
 sound/soc/sh/rcar/rsnd.h                                      |    1 
 sound/soc/sh/rcar/src.c                                       |  116 +++++-
 sound/soc/soc-ops.c                                           |   15 
 sound/soc/sof/intel/hda-codec.c                               |    1 
 225 files changed, 2536 insertions(+), 1520 deletions(-)

Acs, Jakub (1):
block, bfq: fix re-introduced UAF in bic_set_bfqq()

Alex Henrie (2):
HID: apple: fix up the F6 key on the Omoton KB066 keyboard
HID: apple: disable Fn key handling on the Omoton KB066

Alex Hung (1):
drm/amd/display: Assign normalized_pix_clk when color depth = 14

Alexander Stein (1):
arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply

Alexey Kashavkin (1):
netfilter: nft_exthdr: fix offset with ipv4_find_option()

Amit Cohen (1):
net: switchdev: Convert blocking notification chain to a raw one

Andreas Kemnade (1):
i2c: omap: fix IRQ storms

Andrey Albershteyn (1):
xfs: reset XFS_ATTR_INCOMPLETE filter on node removal

Andrii Nakryiko (1):
lib/buildid: Handle memfd_secret() files in build_id_parse()

Andy Shevchenko (1):
hrtimers: Mark is_migration_base() with __always_inline

Ard Biesheuvel (1):

      efi/libstub: Avoid physical address 0x0 when doing random allocation

Arnd Bergmann (2):
x86/irq: Define trace events conditionally
ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP

Arthur Mongodin (1):
mptcp: Fix data stream corruption in the address announcement

Artur Weber (1):
pinctrl: bcm281xx: Fix incorrect regmap max_registers value

Asahi Lina (1):
scripts: generate_rust_analyzer: Handle sub-modules with no Makefile

Benjamin Berg (1):
wifi: iwlwifi: mvm: ensure offloading TID queue exists

Biju Das (1):
can: rcar_canfd: Fix page entries in the AFL list

Boon Khai Ng (1):
USB: serial: ftdi_sio: add support for Altera USB Blaster 3

Brahmajit Das (1):
vboxsf: fix building with GCC 15

Breno Leitao (1):
netpoll: hold rcu read lock in __netpoll_send_skb()

Carolina Jubran (1):
net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices

Charles Keepax (1):
ASoC: ops: Consistently treat platform_max as control value

Chengen Du (1):
iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic()

Chia-Lin Kao (AceLan) (1):
HID: ignore non-functional sensor in HP 5MP Camera

Christian Eggers (1):
regulator: check that dummy regulator has been probed before using it

Christoph Hellwig (1):
xfs: consider minlen sized extents in xfs_rtallocate_extent_block

Christophe JAILLET (4):
ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
i2c: ali1535: Fix an error handling path in ali1535_probe()
i2c: ali15x3: Fix an error handling path in ali15x3_probe()
i2c: sis630: Fix an error handling path in sis630_probe()

Christopher Lentocha (1):
nvme-pci: quirk Acer FA100 for non-uniqueue identifiers

Cong Wang (1):
net_sched: Prevent creation of classes with TC_H_ROOT

Cosmin Ratiu (1):
xfrm_output: Force software GSO only in tunnel mode

Dan Carpenter (3):
ipvs: prevent integer overflow in do_ip_vs_get_ctl()
Bluetooth: Fix error code in chan_alloc_skb_cb()
net: atm: fix use after free in lec_send()

Daniel Lezcano (1):
thermal/cpufreq_cooling: Remove structure member documentation

Daniel Wagner (2):
nvme-fc: go straight to connecting state when initializing
nvme: only allow entering LIVE from CONNECTING state

Darrick J. Wong (17):
xfs: pass refcount intent directly through the log intent code
xfs: pass xfs_extent_free_item directly through the log intent code
xfs: fix confusing xfs_extent_item variable names
xfs: pass the xfs_bmbt_irec directly through the log intent code
xfs: pass per-ag references to xfs_free_extent
xfs: reserve less log space when recovering log intent items
xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h
xfs: convert rt bitmap extent lengths to xfs_rtbxlen_t
xfs: don't leak recovered attri intent items
xfs: make rextslog computation consistent with mkfs
xfs: fix 32-bit truncation in xfs_compute_rextslog
xfs: don't allow overly small or large realtime volumes
xfs: remove unused fields from struct xbtree_ifakeroot
xfs: recompute growfsrtfree transaction reservation while growing rt volume
xfs: force all buffers to be written during btree bulk load
xfs: remove conditional building of rt geometry validator functions
xfs: give xfs_extfree_intent its own perag reference

Dave Chinner (4):
xfs: validate block number being freed before adding to xefi
xfs: fix bounds check in xfs_defer_agfl_block()
xfs: use deferred frees for btree block freeing
xfs: initialise di_crc in xfs_log_dinode

David Rosca (1):
drm/amdgpu: Fix JPEG video caps max size for navi1x and raven

David Woodhouse (1):
clockevents/drivers/i8253: Fix stop sequence for timer 0

Edson Juliano Drosdeck (1):
ALSA: hda/realtek: Limit mic boost on Positivo ARN50

Eric Dumazet (1):
tcp: fix races in tcp_abort()

Eric W. Biederman (1):
alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support

Fabio Porcedda (2):
USB: serial: option: add Telit Cinterion FE990B compositions
USB: serial: option: fix Telit Cinterion FE990A name

Felix Moessbauer (1):
hrtimer: Use and report correct timerslack values for realtime tasks

Florent Revest (1):
x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes

Gannon Kolding (1):
ACPI: resource: IRQ override for Eluktronics MECH-17

Gavrilov Ilia (1):
xsk: fix an integer overflow in xp_create_and_assign_umem()

Geert Uytterhoeven (1):
ARM: shmobile: smp: Enforce shmobile_smp_* alignment

George Stark (1):
leds: mlxreg: Use devm_mutex_init() for mutex initialization

Greg Kroah-Hartman (1):

      Linux 6.1.132

Grzegorz Nitka (1):
ice: fix memory leak in aRFS after reset

Gu Bowen (1):
mmc: atmel-mci: Add missing clk_disable_unprepare()

Guillaume Nault (2):
gre: Fix IPv6 link-local address generation. Revert "gre: Fix IPv6 link-local address generation."

Haibo Chen (2):
can: flexcan: only change CAN state when link up in system PM
can: flexcan: disable transceiver during system PM

Hangbin Liu (1):
bonding: fix incorrect MAC address setting to receive NS messages

Haoxiang Li (1):
qlcnic: fix memory leak issues in qlcnic_sriov_common.c

Hector Martin (3):
ASoC: tas2770: Fix volume scale
ASoC: tas2764: Fix power control mask
ASoC: tas2764: Set the SDOUT polarity correctly

Henrique Carvalho (1):
smb: client: Fix match_session bug preventing session reuse

Ievgen Vovk (1):
HID: hid-apple: Apple Magic Keyboard a3203 USB-C support

Ilya Maximets (1):
net: openvswitch: remove misbehaving actions length check

Imre Deak (1):
drm/dp_mst: Fix locking when skipping CSN before topology probing

Ivan Abramov (1):
drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data()

Jan Beulich (1):
Xen/swiotlb: mark xen_swiotlb_fixup() __init

Jann Horn (1):

      sched: Clarify wake_up_q()'s write to task->wake_q.next

Jason-JH.Lin (1):
drm/mediatek: Fix coverity issue with unintentional integer overflow

Jens Axboe (5):
io_uring: return error pointer from io_mem_alloc()
io_uring: add ring freeing helper
mm: add nommu variant of vm_insert_pages()
io_uring: get rid of remap_pfn_range() for mapping rings/sqes
io_uring: don't attempt to mmap larger than what the user asks for

Jiachen Zhang (1):
xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real

Jianbo Liu (1):
net/mlx5: Bridge, fix the crash caused by LAG state check

Joe Hattori (2):
powercap: call put_device() on an error path in powercap_register_control_type()
firmware: imx-scu: fix OF node leak in .probe()

Johan Hovold (1):
USB: serial: option: match on interface class for Telit FN990B

Joseph Huang (1):
net: dsa: mv88e6xxx: Verify after ATU Load ops

Jun Yang (1):
sched: address a potential NULL pointer dereference in the GRED scheduler.

Junxian Huang (4):
RDMA/hns: Fix soft lockup during bt pages loop
RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db() RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common() RDMA/hns: Fix wrong value of max_sge_rd

Justin Iurman (1):
net: lwtunnel: fix recursion loops

Justin Klaassen (1):
arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S

Kamal Dasu (1):
mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops

Kan Liang (1):
perf/x86/intel: Use better start period for frequency mode

Kashyap Desai (1):
RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx

Kohei Enju (1):
netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()

Konstantin Komarov (2):
fs/ntfs3: Fix shift-out-of-bounds in ntfs_fill_super fs/ntfs3: Change new sparse cluster processing

Kuninori Morimoto (2):
ASoC: rsnd: don't indicate warning on rsnd_kctrl_accept_runtime()
ASoC: rsnd: adjust convert rate limitation

Kuniyuki Iwashima (2):
ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().

Lin Ma (1):
net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES

Long Li (2):
xfs: add lock protection when remove perag from radix tree
xfs: fix perag leak when growfs fails

Luiz Augusto von Dentz (2):
Bluetooth: hci_event: Fix enabling passive scanning
Revert "Bluetooth: hci_core: Fix sleeping function called from invalid context"

Magnus Lindholm (1):
scsi: qla1280: Fix kernel oops when debug level > 2

Marek Vasut (2):
soc: imx8m: Remove global soc_uid
soc: imx8m: Use devm_* to simplify probe failure handling

Mario Limonciello (3):
drm/amd/display: Restore correct backlight brightness after a GPU reset drm/amd/display: Fix slab-use-after-free on hdcp_work drm/amd/display: Use HW lock mgr for PSR1 when only one eDP

Mark Pearson (1):
platform/x86: thinkpad_acpi: Support for V9 DYTC platform profiles

Martin Rodriguez Reboredo (1):
scripts: generate_rust_analyzer: provide cfgs for core and alloc

Matt Johnston (1):
net: mctp i2c: Copy headers if cloned

Matthew Maurer (1):
rust: Disallow BTF generation with Rust + LTO

Matthieu Baerts (NGI0) (1):
mptcp: safety check before fallback

Maurizio Lombardi (2):
nvme-tcp: add basic support for the C2HTermReq PDU
nvme-tcp: Fix a C2HTermReq error message

Maíra Canal (1):
drm/v3d: Don't run jobs that have errors flagged in its fence

Michael Kelley (3):
fbdev: hyperv_fb: iounmap() the correct memory when removing a device drm/hyperv: Fix address space leak when Hyper-V DRM device is removed
Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio()

Miklos Szeredi (1):
fuse: don't truncate cached, mutated symlink

Ming Lei (1):
block: fix 'kmem_cache of name 'bio-108' already exists'

Miri Korenblit (1):
wifi: cfg80211: cancel wiphy_work before freeing wiphy

Murad Masimov (4):
cifs: Fix integer overflow while processing acregmax mount option
cifs: Fix integer overflow while processing acdirmax mount option
cifs: Fix integer overflow while processing actimeo mount option
cifs: Fix integer overflow while processing closetimeo mount option

Namjae Jeon (1):
ksmbd: fix incorrect validation for num_aces field of smb_acl

Nicklas Bo Jensen (1):
netfilter: nf_conncount: garbage collection is not skipped when jiffies wrap around

Nikita Zhandarovich (1):
drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()

Oleg Nesterov (1):
sched/isolation: Prevent boot crash when the boot CPU is nohz_full

Paulo Alcantara (2):
smb: client: fix noisy when tree connecting to DFS interlink targets
smb: client: fix potential UAF in cifs_dump_full_key()

Pavel Begunkov (1):
io_uring: fix corner case forgetting to vunmap

Peng Fan (1):
soc: imx8m: Unregister cpufreq and soc dev in cleanup path

Peter Oberparleiter (1):
s390/cio: Fix CHPID "configure" attribute caching

Phil Elwell (2):
ARM: dts: bcm2711: PL011 UARTs are actually r1p5
ARM: dts: bcm2711: Don't mark timer regs unconfigured

Rik van Riel (1):
scsi: core: Use GFP_NOIO to avoid circular locking dependency

Ruozhu Li (1):
nvmet-rdma: recheck queue state is LIVE in state lock in recv done

Saranya R (1):
soc: qcom: pdr: Fix the potential deadlock

Saravanan Vajravel (1):
RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path

Sebastian Andrzej Siewior (2):
netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template.
netfilter: nft_counter: Use u64_stats_t for statistic.

Stefan Eichenberger (1):
arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card

Stephan Gerhold (1):
net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors

Steve French (1):
smb3: add support for IAKerb

Sven Eckelmann (1):
batman-adv: Ignore own maximum aggregation size during RX

Sybil Isabel Dorsett (1):
platform/x86: thinkpad_acpi: Fix invalid fan speed on ThinkPad X120e

Taehee Yoo (1):
eth: bnxt: do not update checksum in bnxt_xdp_build_skb()

Tamir Duberstein (1):
scripts: generate_rust_analyzer: add missing macros deps

Terry Cheong (1):
ASoC: SOF: Intel: hda: add softdep pre to snd-hda-codec-hdmi module

Thomas Mizrahi (1):
ASoC: amd: yc: Support mic on another Lenovo ThinkPad E16 Gen 2 model

Thomas Zimmermann (1):
drm/nouveau: Do not override forced connector status

Varada Pavani (1):
clk: samsung: update PLL locktime for PLL142XX used on FSD platform

Ville Syrjälä (1):
drm/atomic: Filter out redundant DPMS calls

Vinay Varma (1):
scripts: make rust-analyzer for out-of-tree modules

Vitaly Prosyak (1):
drm/amdgpu: fix use-after-free bug

Vitaly Rodionov (1):
ASoC: arizona/madera: use fsleep() in up/down DAPM event delays.

Wentao Liang (1):
net/mlx5: handle errors in mlx5_chains_create_table()

Werner Sembach (4):
Input: i8042 - swap old quirk combination with new quirk for NHxxRZQ
Input: i8042 - add required quirks for missing old boardnames
Input: i8042 - swap old quirk combination with new quirk for several devices
Input: i8042 - swap old quirk combination with new quirk for more devices

Xueming Feng (1):
tcp: fix forever orphan socket caused by tcp_abort

Ye Bin (1):
proc: fix UAF in proc_get_inode()

Yu-Chun Lin (1):
sctp: Fix undefined behavior in left shift operation

Yunfei Dong (1):
media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning

Zhang Lixu (2):
HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell
HID: intel-ish-hid: Send clock sync message immediately after reset

Zhang Tianci (1):
xfs: update dir3 leaf block metadata after swap

Zhenhua Huang (1):
arm64: mm: Populate vmemmap at the page level if not section aligned

Zi Yan (1):
mm/migrate: fix shmem xarray update during migration

author maintainer
#1 lore raw
Documentation/timers/no_hz.rst +2 -5
index f8786be15183..7fe8ef9718d8 100644
@@ -129,11 +129,8 @@ adaptive-tick CPUs:  At least one non-adaptive-tick CPU must remain
 online to handle timekeeping tasks in order to ensure that system
 calls like gettimeofday() returns accurate values on adaptive-tick CPUs.
 (This is not an issue for CONFIG_NO_HZ_IDLE=y because there are no running
-user processes to observe slight drifts in clock rate.)  Therefore, the
-boot CPU is prohibited from entering adaptive-ticks mode.  Specifying a
-"nohz_full=" mask that includes the boot CPU will result in a boot-time
-error message, and the boot CPU will be removed from the mask.  Note that
-this means that your system must have at least two CPUs in order for
+user processes to observe slight drifts in clock rate.) Note that this
+means that your system must have at least two CPUs in order for
 CONFIG_NO_HZ_FULL=y to do anything for you.
 
 Finally, adaptive-ticks CPUs must have their RCU callbacks offloaded.
Makefile +7 -6
index 58d17d339578..5b9f26ae157d 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 1
-SUBLEVEL = 131
+SUBLEVEL = 132
 EXTRAVERSION =
 NAME = Curry Ramen
 
@@ -1851,11 +1851,6 @@ rustfmt:
 rustfmtcheck: rustfmt_flags = --check
 rustfmtcheck: rustfmt
 
-# IDE support targets
-PHONY += rust-analyzer
-rust-analyzer:
-	$(Q)$(MAKE) $(build)=rust $@
-
 # Misc
 # ---------------------------------------------------------------------------
 
@@ -1908,6 +1903,7 @@ help:
 	@echo  '  modules         - default target, build the module(s)'
 	@echo  '  modules_install - install the module'
 	@echo  '  clean           - remove generated files in module directory only'
+	@echo  '  rust-analyzer	  - generate rust-project.json rust-analyzer support file'
 	@echo  ''
 
 endif # KBUILD_EXTMOD
@@ -2044,6 +2040,11 @@ quiet_cmd_tags = GEN     $@
 tags TAGS cscope gtags: FORCE
 	$(call cmd,tags)
 
+# IDE support targets
+PHONY += rust-analyzer
+rust-analyzer:
+	$(Q)$(MAKE) $(build)=rust $@
+
 # Script to generate missing namespace dependencies
 # ---------------------------------------------------------------------------
 
arch/alpha/include/asm/elf.h +1 -5
index 8049997fa372..2039a8c8d547 100644
@@ -74,7 +74,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x)->e_machine == EM_ALPHA)
+#define elf_check_arch(x) (((x)->e_machine == EM_ALPHA) && !((x)->e_flags & EF_ALPHA_32BIT))
 
 /*
  * These are used to set parameters in the core dumps.
@@ -145,10 +145,6 @@ extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task);
 	: amask (AMASK_CIX) ? "ev6" : "ev67");	\
 })
 
-#define SET_PERSONALITY(EX)					\
-	set_personality(((EX).e_flags & EF_ALPHA_32BIT)		\
-	   ? PER_LINUX_32BIT : PER_LINUX)
-
 extern int alpha_l1i_cacheshape;
 extern int alpha_l1d_cacheshape;
 extern int alpha_l2_cacheshape;
arch/alpha/include/asm/pgtable.h +1 -1
index 9e45f6735d5d..6fe4e9deeb5e 100644
@@ -322,7 +322,7 @@ extern inline pte_t mk_swap_pte(unsigned long type, unsigned long offset)
 
 extern void paging_init(void);
 
-/* We have our own get_unmapped_area to cope with ADDR_LIMIT_32BIT.  */
+/* We have our own get_unmapped_area */
 #define HAVE_ARCH_UNMAPPED_AREA
 
 #endif /* _ALPHA_PGTABLE_H */
arch/alpha/include/asm/processor.h +2 -6
index 714abe494e5f..916a2dd782c1 100644
@@ -8,23 +8,19 @@
 #ifndef __ASM_ALPHA_PROCESSOR_H
 #define __ASM_ALPHA_PROCESSOR_H
 
-#include <linux/personality.h>	/* for ADDR_LIMIT_32BIT */
-
 /*
  * We have a 42-bit user address space: 4TB user VM...
  */
 #define TASK_SIZE (0x40000000000UL)
 
-#define STACK_TOP \
-  (current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL)
+#define STACK_TOP (0x00120000000UL)
 
 #define STACK_TOP_MAX	0x00120000000UL
 
 /* This decides where the kernel will search for a free chunk of vm
  * space during mmap's.
  */
-#define TASK_UNMAPPED_BASE \
-  ((current->personality & ADDR_LIMIT_32BIT) ? 0x40000000 : TASK_SIZE / 2)
+#define TASK_UNMAPPED_BASE (TASK_SIZE / 2)
 
 /* This is dead.  Everything has been moved to thread_info.  */
 struct thread_struct { };
arch/alpha/kernel/osf_sys.c +2 -9
index c54469b369cb..03b70b6c9250 100644
@@ -1213,8 +1213,7 @@ SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
 	return ret;
 }
 
-/* Get an address range which is currently unmapped.  Similar to the
-   generic version except that we know how to honor ADDR_LIMIT_32BIT.  */
+/* Get an address range which is currently unmapped. */
 
 static unsigned long
 arch_get_unmapped_area_1(unsigned long addr, unsigned long len,
@@ -1236,13 +1235,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
 		       unsigned long len, unsigned long pgoff,
 		       unsigned long flags)
 {
-	unsigned long limit;
-
-	/* "32 bit" actually means 31 bit, since pointers sign extend.  */
-	if (current->personality & ADDR_LIMIT_32BIT)
-		limit = 0x80000000;
-	else
-		limit = TASK_SIZE;
+	unsigned long limit = TASK_SIZE;
 
 	if (len > limit)
 		return -ENOMEM;
arch/arm/boot/dts/bcm2711.dtsi +5 -6
index 941c4d16791b..27b467219a40 100644
@@ -134,7 +134,7 @@ uart2: serial@7e201400 {
 			clocks = <&clocks BCM2835_CLOCK_UART>,
 				 <&clocks BCM2835_CLOCK_VPU>;
 			clock-names = "uartclk", "apb_pclk";
-			arm,primecell-periphid = <0x00241011>;
+			arm,primecell-periphid = <0x00341011>;
 			status = "disabled";
 		};
 
@@ -145,7 +145,7 @@ uart3: serial@7e201600 {
 			clocks = <&clocks BCM2835_CLOCK_UART>,
 				 <&clocks BCM2835_CLOCK_VPU>;
 			clock-names = "uartclk", "apb_pclk";
-			arm,primecell-periphid = <0x00241011>;
+			arm,primecell-periphid = <0x00341011>;
 			status = "disabled";
 		};
 
@@ -156,7 +156,7 @@ uart4: serial@7e201800 {
 			clocks = <&clocks BCM2835_CLOCK_UART>,
 				 <&clocks BCM2835_CLOCK_VPU>;
 			clock-names = "uartclk", "apb_pclk";
-			arm,primecell-periphid = <0x00241011>;
+			arm,primecell-periphid = <0x00341011>;
 			status = "disabled";
 		};
 
@@ -167,7 +167,7 @@ uart5: serial@7e201a00 {
 			clocks = <&clocks BCM2835_CLOCK_UART>,
 				 <&clocks BCM2835_CLOCK_VPU>;
 			clock-names = "uartclk", "apb_pclk";
-			arm,primecell-periphid = <0x00241011>;
+			arm,primecell-periphid = <0x00341011>;
 			status = "disabled";
 		};
 
@@ -451,8 +451,6 @@ IRQ_TYPE_LEVEL_LOW)>,
 					  IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
 					  IRQ_TYPE_LEVEL_LOW)>;
-		/* This only applies to the ARMv7 stub */
-		arm,cpu-registers-not-fw-configured;
 	};
 
 	cpus: cpus {
@@ -1154,6 +1152,7 @@ &txp {
 };
 
 &uart0 {
+	arm,primecell-periphid = <0x00341011>;
 	interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
 };
 
arch/arm/mach-omap1/Kconfig +1 -0
index 7ec7ada287e0..16bf3bed38fe 100644
@@ -9,6 +9,7 @@ menuconfig ARCH_OMAP1
 	select ARCH_OMAP
 	select CLKSRC_MMIO
 	select FORCE_PCI if PCCARD
+	select GENERIC_IRQ_CHIP
 	select GPIOLIB
 	help
 	  Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
arch/arm/mach-shmobile/headsmp.S +1 -0
index 9466ae61f56a..b45c68d88275 100644
@@ -136,6 +136,7 @@ ENDPROC(shmobile_smp_sleep)
 	.long	shmobile_smp_arg - 1b
 
 	.bss
+	.align	2
 	.globl	shmobile_smp_mpidr
 shmobile_smp_mpidr:
 	.space	NR_CPUS * 4
arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi +3 -3
index 7c3f5c54f040..d84ae7571d23 100644
@@ -16,10 +16,10 @@ sound_card: sound-card {
 			"Headphone Jack", "HPOUTR",
 			"IN2L", "Line In Jack",
 			"IN2R", "Line In Jack",
-			"Headphone Jack", "MICBIAS",
-			"IN1L", "Headphone Jack";
+			"Microphone Jack", "MICBIAS",
+			"IN1L", "Microphone Jack";
 		simple-audio-card,widgets =
-			"Microphone", "Headphone Jack",
+			"Microphone", "Microphone Jack",
 			"Headphone", "Headphone Jack",
 			"Line", "Line In Jack";
 
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi +4 -12
index 7bd680a926ce..c63144f2456e 100644
@@ -1,7 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2021-2022 TQ-Systems GmbH
- * Author: Alexander Stein <[email protected]>
+ * Copyright 2021-2025 TQ-Systems GmbH <[email protected]>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
  */
 
 #include "imx8mp.dtsi"
@@ -23,15 +24,6 @@ reg_vcc3v3: regulator-vcc3v3 {
 		regulator-max-microvolt = <3300000>;
 		regulator-always-on;
 	};
-
-	/* e-MMC IO, needed for HS modes */
-	reg_vcc1v8: regulator-vcc1v8 {
-		compatible = "regulator-fixed";
-		regulator-name = "VCC1V8";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-		regulator-always-on;
-	};
 };
 
 &A53_0 {
@@ -194,7 +186,7 @@ &usdhc3 {
 	no-sd;
 	no-sdio;
 	vmmc-supply = <&reg_vcc3v3>;
-	vqmmc-supply = <&reg_vcc1v8>;
+	vqmmc-supply = <&buck5_reg>;
 	status = "okay";
 };
 
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +1 -1
index fe5b52610010..6a6b36c36ce2 100644
@@ -117,7 +117,7 @@ &u2phy0_host {
 };
 
 &u2phy1_host {
-	status = "disabled";
+	phy-supply = <&vdd_5v>;
 };
 
 &uart0 {
arch/arm64/mm/mmu.c +4 -1
index 6a4f118fb25f..f095b99bb214 100644
@@ -1209,8 +1209,11 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
 	pmd_t *pmdp;
 
 	WARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));
+	/* [start, end] should be within one section */
+	WARN_ON_ONCE(end - start > PAGES_PER_SECTION * sizeof(struct page));
 
-	if (!ARM64_KERNEL_USES_PMD_MAPS)
+	if (!ARM64_KERNEL_USES_PMD_MAPS ||
+	    (end - start < PAGES_PER_SECTION * sizeof(struct page)))
 		return vmemmap_populate_basepages(start, end, node, altmap);
 
 	do {
arch/x86/events/intel/core.c +85 -0

97 lines not on this page · raw message

arch/x86/kernel/cpu/microcode/amd.c +1 -1
index 9a3092ec9b27..b8d6e616fc50 100644
@@ -867,7 +867,7 @@ static enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t siz
 		return ret;
 	}
 
-	for_each_node(nid) {
+	for_each_node_with_cpus(nid) {
 		cpu = cpumask_first(cpumask_of_node(nid));
 		c = &cpu_data(cpu);
 
arch/x86/kernel/cpu/mshyperv.c +0 -11
index 6090fe513d40..100fed2afbe7 100644
@@ -16,7 +16,6 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/kexec.h>
-#include <linux/i8253.h>
 #include <linux/random.h>
 #include <linux/swiotlb.h>
 #include <asm/processor.h>
@@ -461,16 +460,6 @@ static void __init ms_hyperv_init_platform(void)
 	if (efi_enabled(EFI_BOOT))
 		x86_platform.get_nmi_reason = hv_get_nmi_reason;
 
-	/*
-	 * Hyper-V VMs have a PIT emulation quirk such that zeroing the
-	 * counter register during PIT shutdown restarts the PIT. So it
-	 * continues to interrupt @18.2 HZ. Setting i8253_clear_counter
-	 * to false tells pit_shutdown() not to zero the counter so that
-	 * the PIT really is shutdown. Generation 2 VMs don't have a PIT,
-	 * and setting this value has no effect.
-	 */
-	i8253_clear_counter_on_shutdown = false;
-
 #if IS_ENABLED(CONFIG_HYPERV)
 	/*
 	 * Setup the hook to get control post apic initialization.
arch/x86/kernel/irq.c +2 -0
index 766ffe3ba313..439fdb3f5fdf 100644
@@ -23,8 +23,10 @@
 #include <asm/traps.h>
 #include <asm/thermal.h>
 
+#if defined(CONFIG_X86_LOCAL_APIC) || defined(CONFIG_X86_THERMAL_VECTOR)
 #define CREATE_TRACE_POINTS
 #include <asm/trace/irq_vectors.h>
+#endif
 
 DEFINE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
 EXPORT_PER_CPU_SYMBOL(irq_stat);
block/bfq-cgroup.c +1 -1
index 5d202b775beb..c202e2527d05 100644
@@ -739,8 +739,8 @@ static void bfq_sync_bfqq_move(struct bfq_data *bfqd,
 		 * old cgroup.
 		 */
 		bfq_put_cooperator(sync_bfqq);
-		bfq_release_process_ref(bfqd, sync_bfqq);
 		bic_set_bfqq(bic, NULL, true, act_idx);
+		bfq_release_process_ref(bfqd, sync_bfqq);
 	}
 }
 
block/bio.c +1 -1
index 3318e0022fdf..a7323d567c79 100644
@@ -73,7 +73,7 @@ struct bio_slab {
 	struct kmem_cache *slab;
 	unsigned int slab_ref;
 	unsigned int slab_size;
-	char name[8];
+	char name[12];
 };
 static DEFINE_MUTEX(bio_slab_lock);
 static DEFINE_XARRAY(bio_slabs);
drivers/acpi/resource.c +6 -0
index 34cb7894e54e..d4fb1436f9f5 100644
@@ -553,6 +553,12 @@ static const struct dmi_system_id maingear_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "RP-15"),
 		},
 	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Eluktronics Inc."),
+			DMI_MATCH(DMI_BOARD_NAME, "MECH-17"),
+		},
+	},
 	{
 		/* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */
 		.matches = {
drivers/clk/samsung/clk-pll.c +6 -1
index 0ff28938943f..d636a6b80830 100644
@@ -206,6 +206,7 @@ static const struct clk_ops samsung_pll3000_clk_ops = {
  */
 /* Maximum lock time can be 270 * PDIV cycles */
 #define PLL35XX_LOCK_FACTOR	(270)
+#define PLL142XX_LOCK_FACTOR	(150)
 
 #define PLL35XX_MDIV_MASK       (0x3FF)
 #define PLL35XX_PDIV_MASK       (0x3F)
@@ -272,7 +273,11 @@ static int samsung_pll35xx_set_rate(struct clk_hw *hw, unsigned long drate,
 	}
 
 	/* Set PLL lock time. */
-	writel_relaxed(rate->pdiv * PLL35XX_LOCK_FACTOR,
+	if (pll->type == pll_142xx)
+		writel_relaxed(rate->pdiv * PLL142XX_LOCK_FACTOR,
+			pll->lock_reg);
+	else
+		writel_relaxed(rate->pdiv * PLL35XX_LOCK_FACTOR,
 			pll->lock_reg);
 
 	/* Change PLL PMS values */
drivers/clocksource/i8253.c +25 -11
index cb215e6f2e83..39f7c2d736d1 100644
@@ -20,13 +20,6 @@
 DEFINE_RAW_SPINLOCK(i8253_lock);
 EXPORT_SYMBOL(i8253_lock);
 
-/*
- * Handle PIT quirk in pit_shutdown() where zeroing the counter register
- * restarts the PIT, negating the shutdown. On platforms with the quirk,
- * platform specific code can set this to false.
- */
-bool i8253_clear_counter_on_shutdown __ro_after_init = true;
-
 #ifdef CONFIG_CLKSRC_I8253
 /*
  * Since the PIT overflows every tick, its not very useful
@@ -112,12 +105,33 @@ void clockevent_i8253_disable(void)
 {
 	raw_spin_lock(&i8253_lock);
 
+	/*
+	 * Writing the MODE register should stop the counter, according to
+	 * the datasheet. This appears to work on real hardware (well, on
+	 * modern Intel and AMD boxes; I didn't dig the Pegasos out of the
+	 * shed).
+	 *
+	 * However, some virtual implementations differ, and the MODE change
+	 * doesn't have any effect until either the counter is written (KVM
+	 * in-kernel PIT) or the next interrupt (QEMU). And in those cases,
+	 * it may not stop the *count*, only the interrupts. Although in
+	 * the virt case, that probably doesn't matter, as the value of the
+	 * counter will only be calculated on demand if the guest reads it;
+	 * it's the interrupts which cause steal time.
+	 *
+	 * Hyper-V apparently has a bug where even in mode 0, the IRQ keeps
+	 * firing repeatedly if the counter is running. But it *does* do the
+	 * right thing when the MODE register is written.
+	 *
+	 * So: write the MODE and then load the counter, which ensures that
+	 * the IRQ is stopped on those buggy virt implementations. And then
+	 * write the MODE again, which is the right way to stop it.
+	 */
 	outb_p(0x30, PIT_MODE);
+	outb_p(0, PIT_CH0);
+	outb_p(0, PIT_CH0);
 
-	if (i8253_clear_counter_on_shutdown) {
-		outb_p(0, PIT_CH0);
-		outb_p(0, PIT_CH0);
-	}
+	outb_p(0x30, PIT_MODE);
 
 	raw_spin_unlock(&i8253_lock);
 }
drivers/firmware/efi/libstub/randomalloc.c +4 -0
index 5d88a5a46b09..fc076055a215 100644
@@ -75,6 +75,10 @@ efi_status_t efi_random_alloc(unsigned long size,
 	if (align < EFI_ALLOC_ALIGN)
 		align = EFI_ALLOC_ALIGN;
 
+	/* Avoid address 0x0, as it can be mistaken for NULL */
+	if (alloc_min == 0)
+		alloc_min = align;
+
 	size = round_up(size, EFI_ALLOC_ALIGN);
 
 	/* count the suitable slots in each memory map entry */
drivers/firmware/imx/imx-scu.c +1 -0
index dca79caccd01..fa25c082109a 100644
@@ -279,6 +279,7 @@ static int imx_scu_probe(struct platform_device *pdev)
 		return ret;
 
 	sc_ipc->fast_ipc = of_device_is_compatible(args.np, "fsl,imx8-mu-scu");
+	of_node_put(args.np);
 
 	num_channel = sc_ipc->fast_ipc ? 2 : SCU_MU_CHAN_NUM;
 	for (i = 0; i < num_channel; i++) {
drivers/firmware/iscsi_ibft.c +4 -1
index 6e9788324fea..371f24569b3b 100644
@@ -310,7 +310,10 @@ static ssize_t ibft_attr_show_nic(void *data, int type, char *buf)
 		str += sprintf_ipaddr(str, nic->ip_addr);
 		break;
 	case ISCSI_BOOT_ETH_SUBNET_MASK:
-		val = cpu_to_be32(~((1 << (32-nic->subnet_mask_prefix))-1));
+		if (nic->subnet_mask_prefix > 32)
+			val = cpu_to_be32(~0);
+		else
+			val = cpu_to_be32(~((1 << (32-nic->subnet_mask_prefix))-1));
 		str += sprintf(str, "%pI4", &val);
 		break;
 	case ISCSI_BOOT_ETH_PREFIX_LEN:
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c +16 -4
index b86c0b8252a5..031b6d974f26 100644
@@ -132,13 +132,25 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_hsa_ops = {
  */
 int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr)
 {
+	int r;
+
 	if (bo->kfd_bo)
-		return mmu_interval_notifier_insert(&bo->notifier, current->mm,
+		r = mmu_interval_notifier_insert(&bo->notifier, current->mm,
 						    addr, amdgpu_bo_size(bo),
 						    &amdgpu_mn_hsa_ops);
-	return mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
-					    amdgpu_bo_size(bo),
-					    &amdgpu_mn_gfx_ops);
+	else
+		r = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
+							amdgpu_bo_size(bo),
+							&amdgpu_mn_gfx_ops);
+	if (r)
+		/*
+		 * Make sure amdgpu_hmm_unregister() doesn't call
+		 * mmu_interval_notifier_remove() when the notifier isn't properly
+		 * initialized.
+		 */
+		bo->notifier.mm = NULL;
+
+	return r;
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/nv.c +1 -1
index 877989278290..0d4d6acae994 100644
@@ -87,7 +87,7 @@ static const struct amdgpu_video_codec_info nv_video_codecs_decode_array[] =
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
-	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
+	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 8192, 8192, 0)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 };
 
drivers/gpu/drm/amd/amdgpu/soc15.c +1 -1
index c373a2a3248e..9c16fff40f2c 100644
@@ -125,7 +125,7 @@ static const struct amdgpu_video_codec_info rv_video_codecs_decode_array[] =
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)},
-	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
+	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 8192, 8192, 0)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 4096, 4096, 0)},
 };
 
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +10 -0
index 8dc0f70df24f..9b3f5f76d52d 100644
@@ -230,6 +230,10 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector);
 static void handle_hpd_rx_irq(void *param);
 
+static void amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm,
+					 int bl_idx,
+					 u32 user_brightness);
+
 static bool
 is_timing_unchanged_for_freesync(struct drm_crtc_state *old_crtc_state,
 				 struct drm_crtc_state *new_crtc_state);
@@ -2885,6 +2889,12 @@ static int dm_resume(void *handle)
 
 		mutex_unlock(&dm->dc_lock);
 
+		/* set the backlight after a reset */
+		for (i = 0; i < dm->num_of_edps; i++) {
+			if (dm->backlight_dev[i])
+				amdgpu_dm_backlight_set_level(dm, i, dm->brightness[i]);
+		}
+
 		return 0;
 	}
 	/* Recreate dc_state - DC invalidates it when setting power state to S3. */
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c +1 -0
index 6202e31c7e3a..3f211c0308a2 100644
@@ -404,6 +404,7 @@ void hdcp_destroy(struct kobject *kobj, struct hdcp_workqueue *hdcp_work)
 	for (i = 0; i < hdcp_work->max_link; i++) {
 		cancel_delayed_work_sync(&hdcp_work[i].callback_dwork);
 		cancel_delayed_work_sync(&hdcp_work[i].watchdog_timer_dwork);
+		cancel_delayed_work_sync(&hdcp_work[i].property_validate_dwork);
 	}
 
 	sysfs_remove_bin_file(kobj, &hdcp_work[0].attr);
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +5 -2
index 87a6d6a4ddf4..f036e9988a0d 100644
@@ -2328,10 +2328,13 @@ static int get_norm_pix_clk(const struct dc_crtc_timing *timing)
 			break;
 		case COLOR_DEPTH_121212:
 			normalized_pix_clk = (pix_clk * 36) / 24;
-		break;
+			break;
+		case COLOR_DEPTH_141414:
+			normalized_pix_clk = (pix_clk * 42) / 24;
+			break;
 		case COLOR_DEPTH_161616:
 			normalized_pix_clk = (pix_clk * 48) / 24;
-		break;
+			break;
 		default:
 			ASSERT(0);
 		break;
drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c +12 -0
index 3f32e9c3fbaf..13995b6fb865 100644
@@ -67,5 +67,17 @@ bool should_use_dmub_lock(struct dc_link *link)
 {
 	if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1)
 		return true;
+
+	/* only use HW lock for PSR1 on single eDP */
+	if (link->psr_settings.psr_version == DC_PSR_VERSION_1) {
+		struct dc_link *edp_links[MAX_NUM_EDP];
+		int edp_num;
+
+		get_edp_links(link->dc, edp_links, &edp_num);
+
+		if (edp_num == 1)
+			return true;
+	}
+
 	return false;
 }
drivers/gpu/drm/display/drm_dp_mst_topology.c +24 -16
index d8cbb4eadc5b..6f41c752844b 100644
@@ -3959,6 +3959,22 @@ static int drm_dp_mst_handle_down_rep(struct drm_dp_mst_topology_mgr *mgr)
 	return 0;
 }
 
+static bool primary_mstb_probing_is_done(struct drm_dp_mst_topology_mgr *mgr)
+{
+	bool probing_done = false;
+
+	mutex_lock(&mgr->lock);
+
+	if (mgr->mst_primary && drm_dp_mst_topology_try_get_mstb(mgr->mst_primary)) {
+		probing_done = mgr->mst_primary->link_address_sent;
+		drm_dp_mst_topology_put_mstb(mgr->mst_primary);
+	}
+
+	mutex_unlock(&mgr->lock);
+
+	return probing_done;
+}
+
 static inline bool
 drm_dp_mst_process_up_req(struct drm_dp_mst_topology_mgr *mgr,
 			  struct drm_dp_pending_up_req *up_req)
@@ -3989,8 +4005,12 @@ drm_dp_mst_process_up_req(struct drm_dp_mst_topology_mgr *mgr,
 
 	/* TODO: Add missing handler for DP_RESOURCE_STATUS_NOTIFY events */
 	if (msg->req_type == DP_CONNECTION_STATUS_NOTIFY) {
-		dowork = drm_dp_mst_handle_conn_stat(mstb, &msg->u.conn_stat);
-		hotplug = true;
+		if (!primary_mstb_probing_is_done(mgr)) {
+			drm_dbg_kms(mgr->dev, "Got CSN before finish topology probing. Skip it.\n");
+		} else {
+			dowork = drm_dp_mst_handle_conn_stat(mstb, &msg->u.conn_stat);
+			hotplug = true;
+		}
 	}
 
 	drm_dp_mst_topology_put_mstb(mstb);
@@ -4069,10 +4089,11 @@ static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr)
 	drm_dp_send_up_ack_reply(mgr, mst_primary, up_req->msg.req_type,
 				 false);
 
+	drm_dp_mst_topology_put_mstb(mst_primary);
+
 	if (up_req->msg.req_type == DP_CONNECTION_STATUS_NOTIFY) {
 		const struct drm_dp_connection_status_notify *conn_stat =
 			&up_req->msg.u.conn_stat;
-		bool handle_csn;
 
 		drm_dbg_kms(mgr->dev, "Got CSN: pn: %d ldps:%d ddps: %d mcs: %d ip: %d pdt: %d\n",
 			    conn_stat->port_number,
@@ -4081,16 +4102,6 @@ static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr)
 			    conn_stat->message_capability_status,
 			    conn_stat->input_port,
 			    conn_stat->peer_device_type);
-
-		mutex_lock(&mgr->probe_lock);
-		handle_csn = mst_primary->link_address_sent;
-		mutex_unlock(&mgr->probe_lock);
-
-		if (!handle_csn) {
-			drm_dbg_kms(mgr->dev, "Got CSN before finish topology probing. Skip it.");
-			kfree(up_req);
-			goto out_put_primary;
-		}
 	} else if (up_req->msg.req_type == DP_RESOURCE_STATUS_NOTIFY) {
 		const struct drm_dp_resource_status_notify *res_stat =
 			&up_req->msg.u.resource_stat;
@@ -4105,9 +4116,6 @@ static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr)
 	list_add_tail(&up_req->next, &mgr->up_req_list);
 	mutex_unlock(&mgr->up_req_lock);
 	queue_work(system_long_wq, &mgr->up_req_work);
-
-out_put_primary:
-	drm_dp_mst_topology_put_mstb(mst_primary);
 out_clear_reply:
 	memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx));
 	return 0;
drivers/gpu/drm/drm_atomic_uapi.c +4 -0
index b620a0da2d02..55b78b027e09 100644
@@ -932,6 +932,10 @@ int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state,
 
 	if (mode != DRM_MODE_DPMS_ON)
 		mode = DRM_MODE_DPMS_OFF;
+
+	if (connector->dpms == mode)
+		goto out;
+
 	connector->dpms = mode;
 
 	crtc = connector->state->crtc;
drivers/gpu/drm/drm_connector.c +4 -0
index 3d18d840ef3b..e5c1572f720b 100644
@@ -1100,6 +1100,10 @@ static const struct drm_prop_enum_list dp_colorspaces[] = {
  * 	callback. For atomic drivers the remapping to the "ACTIVE" property is
  * 	implemented in the DRM core.
  *
+ * 	On atomic drivers any DPMS setproperty ioctl where the value does not
+ * 	change is completely skipped, otherwise a full atomic commit will occur.
+ * 	On legacy drivers the exact behavior is driver specific.
+ *
  * 	Note that this property cannot be set through the MODE_ATOMIC ioctl,
  * 	userspace must use "ACTIVE" on the CRTC instead.
  *
drivers/gpu/drm/gma500/mid_bios.c +5 -0
index 7e76790c6a81..cba97d7db131 100644
@@ -279,6 +279,11 @@ static void mid_get_vbt_data(struct drm_psb_private *dev_priv)
 					    0, PCI_DEVFN(2, 0));
 	int ret = -1;
 
+	if (pci_gfx_root == NULL) {
+		WARN_ON(1);
+		return;
+	}
+
 	/* Get the address of the platform config vbt */
 	pci_read_config_dword(pci_gfx_root, 0xFC, &addr);
 	pci_dev_put(pci_gfx_root);
drivers/gpu/drm/hyperv/hyperv_drm_drv.c +2 -0
index 68050409dd26..499c7c8916df 100644
@@ -157,6 +157,7 @@ static int hyperv_vmbus_probe(struct hv_device *hdev,
 	return 0;
 
 err_free_mmio:
+	iounmap(hv->vram);
 	vmbus_free_mmio(hv->mem->start, hv->fb_size);
 err_vmbus_close:
 	vmbus_close(hdev->channel);
@@ -175,6 +176,7 @@ static int hyperv_vmbus_remove(struct hv_device *hdev)
 	vmbus_close(hdev->channel);
 	hv_set_drvdata(hdev, NULL);
 
+	iounmap(hv->vram);
 	vmbus_free_mmio(hv->mem->start, hv->fb_size);
 
 	return 0;
drivers/gpu/drm/mediatek/mtk_drm_gem.c +8 -1
index 21e584038581..336a6ee792c6 100644
@@ -119,7 +119,14 @@ int mtk_drm_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
 	int ret;
 
 	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-	args->size = args->pitch * args->height;
+
+	/*
+	 * Multiply 2 variables of different types,
+	 * for example: args->size = args->spacing * args->height;
+	 * may cause coverity issue with unintentional overflow.
+	 */
+	args->size = args->pitch;
+	args->size *= args->height;
 
 	mtk_gem = mtk_drm_gem_create(dev, args->size, false);
 	if (IS_ERR(mtk_gem))
drivers/gpu/drm/mediatek/mtk_drm_plane.c +11 -2
index 30d361671aa9..fb062e52eb12 100644
@@ -120,6 +120,7 @@ static void mtk_plane_update_new_state(struct drm_plane_state *new_state,
 	struct mtk_drm_gem_obj *mtk_gem;
 	unsigned int pitch, format;
 	dma_addr_t addr;
+	int offset;
 
 	gem = fb->obj[0];
 	mtk_gem = to_mtk_gem_obj(gem);
@@ -127,8 +128,16 @@ static void mtk_plane_update_new_state(struct drm_plane_state *new_state,
 	pitch = fb->pitches[0];
 	format = fb->format->format;
 
-	addr += (new_state->src.x1 >> 16) * fb->format->cpp[0];
-	addr += (new_state->src.y1 >> 16) * pitch;
+	/*
+	 * Using dma_addr_t variable to calculate with multiplier of different types,
+	 * for example: addr += (new_state->src.x1 >> 16) * fb->format->cpp[0];
+	 * may cause coverity issue with unintentional overflow.
+	 */
+	offset = (new_state->src.x1 >> 16) * fb->format->cpp[0];
+	addr += offset;
+	offset = (new_state->src.y1 >> 16) * pitch;
+	addr += offset;
+
 
 	mtk_plane_state->pending.enable = true;
 	mtk_plane_state->pending.pitch = pitch;
drivers/gpu/drm/nouveau/nouveau_connector.c +0 -1
index bdf5262ebd35..5a30d115525a 100644
@@ -755,7 +755,6 @@ nouveau_connector_force(struct drm_connector *connector)
 	if (!nv_encoder) {
 		NV_ERROR(drm, "can't find encoder to force %s on!\n",
 			 connector->name);
-		connector->status = connector_status_disconnected;
 		return;
 	}
 
drivers/gpu/drm/radeon/radeon_vce.c +1 -1
index ca4a36464340..cb01dc36b4b5 100644
@@ -557,7 +557,7 @@ int radeon_vce_cs_parse(struct radeon_cs_parser *p)
 {
 	int session_idx = -1;
 	bool destroyed = false, created = false, allocated = false;
-	uint32_t tmp, handle = 0;
+	uint32_t tmp = 0, handle = 0;
 	uint32_t *size = &tmp;
 	int i, r = 0;
 
drivers/gpu/drm/v3d/v3d_sched.c +8 -1
index 06238e6d7f5c..5b729013fd26 100644
@@ -179,11 +179,15 @@ v3d_tfu_job_run(struct drm_sched_job *sched_job)
 	struct drm_device *dev = &v3d->drm;
 	struct dma_fence *fence;
 
+	if (unlikely(job->base.base.s_fence->finished.error))
+		return NULL;
+
+	v3d->tfu_job = job;
+
 	fence = v3d_fence_create(v3d, V3D_TFU);
 	if (IS_ERR(fence))
 		return NULL;
 
-	v3d->tfu_job = job;
 	if (job->base.irq_fence)
 		dma_fence_put(job->base.irq_fence);
 	job->base.irq_fence = dma_fence_get(fence);
@@ -217,6 +221,9 @@ v3d_csd_job_run(struct drm_sched_job *sched_job)
 	struct dma_fence *fence;
 	int i;
 
+	if (unlikely(job->base.base.s_fence->finished.error))
+		return NULL;
+
 	v3d->csd_job = job;
 
 	v3d_invalidate_caches(v3d);
drivers/hid/hid-apple.c +12 -1
index 37b2ce9b50fe..746b2abfc8fd 100644
@@ -339,6 +339,12 @@ static bool apple_is_non_apple_keyboard(struct hid_device *hdev)
 	return false;
 }
 
+static bool apple_is_omoton_kb066(struct hid_device *hdev)
+{
+	return hdev->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI &&
+		strcmp(hdev->name, "Bluetooth Keyboard") == 0;
+}
+
 static inline void apple_setup_key_translation(struct input_dev *input,
 		const struct apple_key_translation *table)
 {
@@ -425,6 +431,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
 			 hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2015)
 			table = magic_keyboard_2015_fn_keys;
 		else if (hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 ||
+			 hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024 ||
 			 hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 ||
 			 hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021)
 			table = apple2021_fn_keys;
@@ -675,7 +682,7 @@ static int apple_input_configured(struct hid_device *hdev,
 {
 	struct apple_sc *asc = hid_get_drvdata(hdev);
 
-	if ((asc->quirks & APPLE_HAS_FN) && !asc->fn_found) {
+	if (((asc->quirks & APPLE_HAS_FN) && !asc->fn_found) || apple_is_omoton_kb066(hdev)) {
 		hid_info(hdev, "Fn key not found (Apple Wireless Keyboard clone?), disabling Fn key handling\n");
 		asc->quirks &= ~APPLE_HAS_FN;
 	}
@@ -1030,6 +1037,10 @@ static const struct hid_device_id apple_devices[] = {
 		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY },
 	{ HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021),
 		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024),
+		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY },
+	{ HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024),
+		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021),
 		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY },
 	{ HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021),
drivers/hid/hid-ids.h +2 -0
index d8c5e24e7d44..4187d890bcc1 100644
@@ -184,6 +184,7 @@
 #define USB_DEVICE_ID_APPLE_IRCONTROL4	0x8242
 #define USB_DEVICE_ID_APPLE_IRCONTROL5	0x8243
 #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021   0x029c
+#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024   0x0320
 #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021   0x029a
 #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021   0x029f
 #define USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT 0x8102
@@ -1072,6 +1073,7 @@
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001		0x3001
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3003		0x3003
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008		0x3008
+#define USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473		0x5473
 
 #define I2C_VENDOR_ID_RAYDIUM		0x2386
 #define I2C_PRODUCT_ID_RAYDIUM_4B33	0x4b33
drivers/hid/hid-quirks.c +1 -0
index debc49272a5c..875c44e5cf6c 100644
@@ -882,6 +882,7 @@ static const struct hid_device_id hid_ignore_list[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) },
 #endif
 	{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) },
 	{ }
 };
 
drivers/hid/intel-ish-hid/ipc/ipc.c +9 -6
index dd5fc60874ba..42141a78bdb4 100644
@@ -517,6 +517,10 @@ static int ish_fw_reset_handler(struct ishtp_device *dev)
 	/* ISH FW is dead */
 	if (!ish_is_input_ready(dev))
 		return	-EPIPE;
+
+	/* Send clock sync at once after reset */
+	ishtp_dev->prev_sync = 0;
+
 	/*
 	 * Set HOST2ISH.ILUP. Apparently we need this BEFORE sending
 	 * RESET_NOTIFY_ACK - FW will be checking for it
@@ -576,15 +580,14 @@ static void fw_reset_work_fn(struct work_struct *unused)
  */
 static void _ish_sync_fw_clock(struct ishtp_device *dev)
 {
-	static unsigned long	prev_sync;
-	uint64_t	usec;
+	struct ipc_time_update_msg time = {};
 
-	if (prev_sync && time_before(jiffies, prev_sync + 20 * HZ))
+	if (dev->prev_sync && time_before(jiffies, dev->prev_sync + 20 * HZ))
 		return;
 
-	prev_sync = jiffies;
-	usec = ktime_to_us(ktime_get_boottime());
-	ipc_send_mng_msg(dev, MNG_SYNC_FW_CLOCK, &usec, sizeof(uint64_t));
+	dev->prev_sync = jiffies;
+	/* The fields of time would be updated while sending message */
+	ipc_send_mng_msg(dev, MNG_SYNC_FW_CLOCK, &time, sizeof(time));
 }
 
 /**
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h +2 -0
index 32142c7d9a04..9b2ee3fe04b8 100644
@@ -212,6 +212,8 @@ struct ishtp_device {
 	unsigned int	ipc_tx_cnt;
 	unsigned long long	ipc_tx_bytes_cnt;
 
+	/* Time of the last clock sync */
+	unsigned long prev_sync;
 	const struct ishtp_hw_ops *ops;
 	size_t	mtu;
 	uint32_t	ishtp_msg_hdr;
drivers/hv/vmbus_drv.c +13 -0
index a2191bc5c153..dfbfdbf9cbd7 100644
@@ -2409,12 +2409,25 @@ void vmbus_free_mmio(resource_size_t start, resource_size_t size)
 	struct resource *iter;
 
 	mutex_lock(&hyperv_mmio_lock);
+
+	/*
+	 * If all bytes of the MMIO range to be released are within the
+	 * special case fb_mmio shadow region, skip releasing the shadow
+	 * region since no corresponding __request_region() was done
+	 * in vmbus_allocate_mmio().
+	 */
+	if (fb_mmio && start >= fb_mmio->start &&
+	    (start + size - 1 <= fb_mmio->end))
+		goto skip_shadow_release;
+
 	for (iter = hyperv_mmio; iter; iter = iter->sibling) {
 		if ((iter->start >= start + size) || (iter->end <= start))
 			continue;
 
 		__release_region(iter, start, size);
 	}
+
+skip_shadow_release:
 	release_mem_region(start, size);
 	mutex_unlock(&hyperv_mmio_lock);
 
drivers/i2c/busses/i2c-ali1535.c +11 -1
index ee83c4581bce..cd2c8afebe79 100644
@@ -490,6 +490,8 @@ MODULE_DEVICE_TABLE(pci, ali1535_ids);
 
 static int ali1535_probe(struct pci_dev *dev, const struct pci_device_id *id)
 {
+	int ret;
+
 	if (ali1535_setup(dev)) {
 		dev_warn(&dev->dev,
 			"ALI1535 not detected, module not inserted.\n");
@@ -501,7 +503,15 @@ static int ali1535_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
 	snprintf(ali1535_adapter.name, sizeof(ali1535_adapter.name),
 		"SMBus ALI1535 adapter at %04x", ali1535_offset);
-	return i2c_add_adapter(&ali1535_adapter);
+	ret = i2c_add_adapter(&ali1535_adapter);
+	if (ret)
+		goto release_region;
+
+	return 0;
+
+release_region:
+	release_region(ali1535_smba, ALI1535_SMB_IOSIZE);
+	return ret;
 }
 
 static void ali1535_remove(struct pci_dev *dev)
drivers/i2c/busses/i2c-ali15x3.c +11 -1
index cc58feacd082..28a57cb6efb9 100644
@@ -473,6 +473,8 @@ MODULE_DEVICE_TABLE (pci, ali15x3_ids);
 
 static int ali15x3_probe(struct pci_dev *dev, const struct pci_device_id *id)
 {
+	int ret;
+
 	if (ali15x3_setup(dev)) {
 		dev_err(&dev->dev,
 			"ALI15X3 not detected, module not inserted.\n");
@@ -484,7 +486,15 @@ static int ali15x3_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
 	snprintf(ali15x3_adapter.name, sizeof(ali15x3_adapter.name),
 		"SMBus ALI15X3 adapter at %04x", ali15x3_smba);
-	return i2c_add_adapter(&ali15x3_adapter);
+	ret = i2c_add_adapter(&ali15x3_adapter);
+	if (ret)
+		goto release_region;
+
+	return 0;
+
+release_region:
+	release_region(ali15x3_smba, ALI15X3_SMB_IOSIZE);
+	return ret;
 }
 
 static void ali15x3_remove(struct pci_dev *dev)
drivers/i2c/busses/i2c-omap.c +7 -19
index 7ec252199706..256fa766b1d3 100644
@@ -1049,23 +1049,6 @@ static int omap_i2c_transmit_data(struct omap_i2c_dev *omap, u8 num_bytes,
 	return 0;
 }
 
-static irqreturn_t
-omap_i2c_isr(int irq, void *dev_id)
-{
-	struct omap_i2c_dev *omap = dev_id;
-	irqreturn_t ret = IRQ_HANDLED;
-	u16 mask;
-	u16 stat;
-
-	stat = omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG);
-	mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG) & ~OMAP_I2C_STAT_NACK;
-
-	if (stat & mask)
-		ret = IRQ_WAKE_THREAD;
-
-	return ret;
-}
-
 static int omap_i2c_xfer_data(struct omap_i2c_dev *omap)
 {
 	u16 bits;
@@ -1096,8 +1079,13 @@ static int omap_i2c_xfer_data(struct omap_i2c_dev *omap)
 		}
 
 		if (stat & OMAP_I2C_STAT_NACK) {
-			err |= OMAP_I2C_STAT_NACK;
+			omap->cmd_err |= OMAP_I2C_STAT_NACK;
 			omap_i2c_ack_stat(omap, OMAP_I2C_STAT_NACK);
+
+			if (!(stat & ~OMAP_I2C_STAT_NACK)) {
+				err = -EAGAIN;
+				break;
+			}
 		}
 
 		if (stat & OMAP_I2C_STAT_AL) {
@@ -1475,7 +1463,7 @@ omap_i2c_probe(struct platform_device *pdev)
 				IRQF_NO_SUSPEND, pdev->name, omap);
 	else
 		r = devm_request_threaded_irq(&pdev->dev, omap->irq,
-				omap_i2c_isr, omap_i2c_isr_thread,
+				NULL, omap_i2c_isr_thread,
 				IRQF_NO_SUSPEND | IRQF_ONESHOT,
 				pdev->name, omap);
 
drivers/i2c/busses/i2c-sis630.c +11 -1
index 87d56250d78a..c42ecadac4f2 100644
@@ -509,6 +509,8 @@ MODULE_DEVICE_TABLE(pci, sis630_ids);
 
 static int sis630_probe(struct pci_dev *dev, const struct pci_device_id *id)
 {
+	int ret;
+
 	if (sis630_setup(dev)) {
 		dev_err(&dev->dev,
 			"SIS630 compatible bus not detected, "
@@ -522,7 +524,15 @@ static int sis630_probe(struct pci_dev *dev, const struct pci_device_id *id)
 	snprintf(sis630_adapter.name, sizeof(sis630_adapter.name),
 		 "SMBus SIS630 adapter at %04x", smbus_base + SMB_STS);
 
-	return i2c_add_adapter(&sis630_adapter);
+	ret = i2c_add_adapter(&sis630_adapter);
+	if (ret)
+		goto release_region;
+
+	return 0;
+
+release_region:
+	release_region(smbus_base + SMB_STS, SIS630_SMB_IOREGION);
+	return ret;
 }
 
 static void sis630_remove(struct pci_dev *dev)
drivers/infiniband/hw/bnxt_re/qplib_fp.c +0 -2
index 23f9a48828dc..15a62d0d243c 100644
@@ -1186,8 +1186,6 @@ static void __modify_flags_from_init_state(struct bnxt_qplib_qp *qp)
 			qp->path_mtu =
 				CMDQ_MODIFY_QP_PATH_MTU_MTU_2048;
 		}
-		qp->modify_flags &=
-			~CMDQ_MODIFY_QP_MODIFY_MASK_VLAN_ID;
 		/* Bono FW require the max_dest_rd_atomic to be >= 1 */
 		if (qp->max_dest_rd_atomic < 1)
 			qp->max_dest_rd_atomic = 1;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h +2 -1
index 9c28f4625c92..9d4f744b001a 100644
@@ -220,9 +220,10 @@ int bnxt_qplib_deinit_rcfw(struct bnxt_qplib_rcfw *rcfw);
 int bnxt_qplib_init_rcfw(struct bnxt_qplib_rcfw *rcfw,
 			 struct bnxt_qplib_ctx *ctx, int is_virtfn);
 void bnxt_qplib_mark_qp_error(void *qp_handle);
+
 static inline u32 map_qp_id_to_tbl_indx(u32 qid, struct bnxt_qplib_rcfw *rcfw)
 {
 	/* Last index of the qp_tbl is for QP1 ie. qp_tbl_size - 1*/
-	return (qid == 1) ? rcfw->qp_tbl_size - 1 : qid % rcfw->qp_tbl_size - 2;
+	return (qid == 1) ? rcfw->qp_tbl_size - 1 : (qid % (rcfw->qp_tbl_size - 2));
 }
 #endif /* __BNXT_QPLIB_RCFW_H__ */
drivers/infiniband/hw/hns/hns_roce_hem.c +15 -1
index f1de497fc977..173ab794fa78 100644
@@ -1416,6 +1416,11 @@ static int hem_list_alloc_root_bt(struct hns_roce_dev *hr_dev,
 	return ret;
 }
 
+/* This is the bottom bt pages number of a 100G MR on 4K OS, assuming
+ * the bt page size is not expanded by cal_best_bt_pg_sz()
+ */
+#define RESCHED_LOOP_CNT_THRESHOLD_ON_4K 12800
+
 /* construct the base address table and link them by address hop config */
 int hns_roce_hem_list_request(struct hns_roce_dev *hr_dev,
 			      struct hns_roce_hem_list *hem_list,
@@ -1424,6 +1429,7 @@ int hns_roce_hem_list_request(struct hns_roce_dev *hr_dev,
 {
 	const struct hns_roce_buf_region *r;
 	int ofs, end;
+	int loop;
 	int unit;
 	int ret;
 	int i;
@@ -1441,7 +1447,10 @@ int hns_roce_hem_list_request(struct hns_roce_dev *hr_dev,
 			continue;
 
 		end = r->offset + r->count;
-		for (ofs = r->offset; ofs < end; ofs += unit) {
+		for (ofs = r->offset, loop = 1; ofs < end; ofs += unit, loop++) {
+			if (!(loop % RESCHED_LOOP_CNT_THRESHOLD_ON_4K))
+				cond_resched();
+
 			ret = hem_list_alloc_mid_bt(hr_dev, r, unit, ofs,
 						    hem_list->mid_bt[i],
 						    &hem_list->btm_bt);
@@ -1498,9 +1507,14 @@ void *hns_roce_hem_list_find_mtt(struct hns_roce_dev *hr_dev,
 	struct list_head *head = &hem_list->btm_bt;
 	struct hns_roce_hem_item *hem, *temp_hem;
 	void *cpu_base = NULL;
+	int loop = 1;
 	int nr = 0;
 
 	list_for_each_entry_safe(hem, temp_hem, head, sibling) {
+		if (!(loop % RESCHED_LOOP_CNT_THRESHOLD_ON_4K))
+			cond_resched();
+		loop++;
+
 		if (hem_list_page_is_in_range(hem, offset)) {
 			nr = offset - hem->start;
 			cpu_base = hem->addr + nr * BA_BYTE_LEN;
drivers/infiniband/hw/hns/hns_roce_main.c +1 -1
index afe7523eca90..5106b3ce89f0 100644
@@ -182,7 +182,7 @@ static int hns_roce_query_device(struct ib_device *ib_dev,
 				  IB_DEVICE_RC_RNR_NAK_GEN;
 	props->max_send_sge = hr_dev->caps.max_sq_sg;
 	props->max_recv_sge = hr_dev->caps.max_rq_sg;
-	props->max_sge_rd = 1;
+	props->max_sge_rd = hr_dev->caps.max_sq_sg;
 	props->max_cq = hr_dev->caps.num_cqs;
 	props->max_cqe = hr_dev->caps.max_cqes;
 	props->max_mr = hr_dev->caps.num_mtpts;
drivers/infiniband/hw/hns/hns_roce_qp.c +6 -4
index 19136cb16960..0f0351abe9b4 100644
@@ -924,12 +924,14 @@ static int alloc_user_qp_db(struct hns_roce_dev *hr_dev,
 			    struct hns_roce_ib_create_qp *ucmd,
 			    struct hns_roce_ib_create_qp_resp *resp)
 {
+	bool has_sdb = user_qp_has_sdb(hr_dev, init_attr, udata, resp, ucmd);
 	struct hns_roce_ucontext *uctx = rdma_udata_to_drv_context(udata,
 		struct hns_roce_ucontext, ibucontext);
+	bool has_rdb = user_qp_has_rdb(hr_dev, init_attr, udata, resp);
 	struct ib_device *ibdev = &hr_dev->ib_dev;
 	int ret;
 
-	if (user_qp_has_sdb(hr_dev, init_attr, udata, resp, ucmd)) {
+	if (has_sdb) {
 		ret = hns_roce_db_map_user(uctx, ucmd->sdb_addr, &hr_qp->sdb);
 		if (ret) {
 			ibdev_err(ibdev,
@@ -940,7 +942,7 @@ static int alloc_user_qp_db(struct hns_roce_dev *hr_dev,
 		hr_qp->en_flags |= HNS_ROCE_QP_CAP_SQ_RECORD_DB;
 	}
 
-	if (user_qp_has_rdb(hr_dev, init_attr, udata, resp)) {
+	if (has_rdb) {
 		ret = hns_roce_db_map_user(uctx, ucmd->db_addr, &hr_qp->rdb);
 		if (ret) {
 			ibdev_err(ibdev,
@@ -954,7 +956,7 @@ static int alloc_user_qp_db(struct hns_roce_dev *hr_dev,
 	return 0;
 
 err_sdb:
-	if (hr_qp->en_flags & HNS_ROCE_QP_CAP_SQ_RECORD_DB)
+	if (has_sdb)
 		hns_roce_db_unmap_user(uctx, &hr_qp->sdb);
 err_out:
 	return ret;
@@ -1211,7 +1213,7 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev,
 				       min(udata->outlen, sizeof(resp)));
 		if (ret) {
 			ibdev_err(ibdev, "copy qp resp failed!\n");
-			goto err_store;
+			goto err_flow_ctrl;
 		}
 	}
 
drivers/input/serio/i8042-acpipnpio.h +55 -56

240 lines not on this page · raw message

drivers/leds/leds-mlxreg.c +5 -11
index b7855c93bd72..31eca8394a26 100644
@@ -258,6 +258,7 @@ static int mlxreg_led_probe(struct platform_device *pdev)
 {
 	struct mlxreg_core_platform_data *led_pdata;
 	struct mlxreg_led_priv_data *priv;
+	int err;
 
 	led_pdata = dev_get_platdata(&pdev->dev);
 	if (!led_pdata) {
@@ -269,28 +270,21 @@ static int mlxreg_led_probe(struct platform_device *pdev)
 	if (!priv)
 		return -ENOMEM;
 
-	mutex_init(&priv->access_lock);
+	err = devm_mutex_init(&pdev->dev, &priv->access_lock);
+	if (err)
+		return err;
+
 	priv->pdev = pdev;
 	priv->pdata = led_pdata;
 
 	return mlxreg_led_config(priv);
 }
 
-static int mlxreg_led_remove(struct platform_device *pdev)
-{
-	struct mlxreg_led_priv_data *priv = dev_get_drvdata(&pdev->dev);
-
-	mutex_destroy(&priv->access_lock);
-
-	return 0;
-}
-
 static struct platform_driver mlxreg_led_driver = {
 	.driver = {
 	    .name = "leds-mlxreg",
 	},
 	.probe = mlxreg_led_probe,
-	.remove = mlxreg_led_remove,
 };
 
 module_platform_driver(mlxreg_led_driver);
drivers/media/platform/mediatek/vcodec/vdec/vdec_vp8_req_if.c +7 -3
index e1fe2603e92e..22d8f178b04d 100644
@@ -336,14 +336,18 @@ static int vdec_vp8_slice_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
 	src_buf_info = container_of(bs, struct mtk_video_dec_buf, bs_buffer);
 
 	fb = inst->ctx->dev->vdec_pdata->get_cap_buffer(inst->ctx);
-	dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
+	if (!fb) {
+		mtk_vcodec_err(inst, "fb buffer is NULL");
+		return -ENOMEM;
+	}
 
-	y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
+	dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
+	y_fb_dma = fb->base_y.dma_addr;
 	if (inst->ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
 		c_fb_dma = y_fb_dma +
 			inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
 	else
-		c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
+		c_fb_dma = fb->base_c.dma_addr;
 
 	inst->vsi->dec.bs_dma = (u64)bs->dma_addr;
 	inst->vsi->dec.bs_sz = bs->size;
drivers/mmc/host/atmel-mci.c +3 -1
index dd18440a90c5..914c0e84b5cc 100644
@@ -2506,8 +2506,10 @@ static int atmci_probe(struct platform_device *pdev)
 	/* Get MCI capabilities and set operations according to it */
 	atmci_get_cap(host);
 	ret = atmci_configure_dma(host);
-	if (ret == -EPROBE_DEFER)
+	if (ret == -EPROBE_DEFER) {
+		clk_disable_unprepare(host->mck);
 		goto err_dma_probe_defer;
+	}
 	if (ret == 0) {
 		host->prepare_data = &atmci_prepare_data_dma;
 		host->submit_data = &atmci_submit_data_dma;
drivers/mmc/host/sdhci-brcmstb.c +10 -0
index 5b650d5dd0ae..5a7ee8a390b0 100644
@@ -396,8 +396,15 @@ static int sdhci_brcmstb_suspend(struct device *dev)
 	struct sdhci_host *host = dev_get_drvdata(dev);
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 	struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host);
+	int ret;
 
 	clk_disable_unprepare(priv->base_clk);
+	if (host->mmc->caps2 & MMC_CAP2_CQE) {
+		ret = cqhci_suspend(host->mmc);
+		if (ret)
+			return ret;
+	}
+
 	return sdhci_pltfm_suspend(dev);
 }
 
@@ -422,6 +429,9 @@ static int sdhci_brcmstb_resume(struct device *dev)
 			ret = clk_set_rate(priv->base_clk, priv->base_freq_hz);
 	}
 
+	if (host->mmc->caps2 & MMC_CAP2_CQE)
+		ret = cqhci_resume(host->mmc);
+
 	return ret;
 }
 #endif
drivers/net/bonding/bond_options.c +47 -8

87 lines not on this page · raw message

drivers/net/can/flexcan/flexcan-core.c +15 -3
index 9bdadd716f4e..c25ecf608335 100644
@@ -2230,14 +2230,19 @@ static int __maybe_unused flexcan_suspend(struct device *device)
 
 			flexcan_chip_interrupts_disable(dev);
 
+			err = flexcan_transceiver_disable(priv);
+			if (err)
+				return err;
+
 			err = pinctrl_pm_select_sleep_state(device);
 			if (err)
 				return err;
 		}
 		netif_stop_queue(dev);
 		netif_device_detach(dev);
+
+		priv->can.state = CAN_STATE_SLEEPING;
 	}
-	priv->can.state = CAN_STATE_SLEEPING;
 
 	return 0;
 }
@@ -2248,7 +2253,6 @@ static int __maybe_unused flexcan_resume(struct device *device)
 	struct flexcan_priv *priv = netdev_priv(dev);
 	int err;
 
-	priv->can.state = CAN_STATE_ERROR_ACTIVE;
 	if (netif_running(dev)) {
 		netif_device_attach(dev);
 		netif_start_queue(dev);
@@ -2262,12 +2266,20 @@ static int __maybe_unused flexcan_resume(struct device *device)
 			if (err)
 				return err;
 
-			err = flexcan_chip_start(dev);
+			err = flexcan_transceiver_enable(priv);
 			if (err)
 				return err;
 
+			err = flexcan_chip_start(dev);
+			if (err) {
+				flexcan_transceiver_disable(priv);
+				return err;
+			}
+
 			flexcan_chip_interrupts_enable(dev);
 		}
+
+		priv->can.state = CAN_STATE_ERROR_ACTIVE;
 	}
 
 	return 0;
drivers/net/can/rcar/rcar_canfd.c +11 -17
index e68291697c33..a1f68b74229e 100644
@@ -772,22 +772,14 @@ static void rcar_canfd_configure_controller(struct rcar_canfd_global *gpriv)
 }
 
 static void rcar_canfd_configure_afl_rules(struct rcar_canfd_global *gpriv,
-					   u32 ch)
+					   u32 ch, u32 rule_entry)
 {
-	u32 cfg;
-	int offset, start, page, num_rules = RCANFD_CHANNEL_NUMRULES;
+	int offset, page, num_rules = RCANFD_CHANNEL_NUMRULES;
+	u32 rule_entry_index = rule_entry % 16;
 	u32 ridx = ch + RCANFD_RFFIFO_IDX;
 
-	if (ch == 0) {
-		start = 0; /* Channel 0 always starts from 0th rule */
-	} else {
-		/* Get number of Channel 0 rules and adjust */
-		cfg = rcar_canfd_read(gpriv->base, RCANFD_GAFLCFG(ch));
-		start = RCANFD_GAFLCFG_GETRNC(gpriv, 0, cfg);
-	}
-
 	/* Enable write access to entry */
-	page = RCANFD_GAFL_PAGENUM(start);
+	page = RCANFD_GAFL_PAGENUM(rule_entry);
 	rcar_canfd_set_bit(gpriv->base, RCANFD_GAFLECTR,
 			   (RCANFD_GAFLECTR_AFLPN(gpriv, page) |
 			    RCANFD_GAFLECTR_AFLDAE));
@@ -803,13 +795,13 @@ static void rcar_canfd_configure_afl_rules(struct rcar_canfd_global *gpriv,
 		offset = RCANFD_C_GAFL_OFFSET;
 
 	/* Accept all IDs */
-	rcar_canfd_write(gpriv->base, RCANFD_GAFLID(offset, start), 0);
+	rcar_canfd_write(gpriv->base, RCANFD_GAFLID(offset, rule_entry_index), 0);
 	/* IDE or RTR is not considered for matching */
-	rcar_canfd_write(gpriv->base, RCANFD_GAFLM(offset, start), 0);
+	rcar_canfd_write(gpriv->base, RCANFD_GAFLM(offset, rule_entry_index), 0);
 	/* Any data length accepted */
-	rcar_canfd_write(gpriv->base, RCANFD_GAFLP0(offset, start), 0);
+	rcar_canfd_write(gpriv->base, RCANFD_GAFLP0(offset, rule_entry_index), 0);
 	/* Place the msg in corresponding Rx FIFO entry */
-	rcar_canfd_set_bit(gpriv->base, RCANFD_GAFLP1(offset, start),
+	rcar_canfd_set_bit(gpriv->base, RCANFD_GAFLP1(offset, rule_entry_index),
 			   RCANFD_GAFLP1_GAFLFDP(ridx));
 
 	/* Disable write access to page */
@@ -1825,6 +1817,7 @@ static int rcar_canfd_probe(struct platform_device *pdev)
 	unsigned long channels_mask = 0;
 	int err, ch_irq, g_irq;
 	int g_err_irq, g_recc_irq;
+	u32 rule_entry = 0;
 	bool fdmode = true;			/* CAN FD only mode - default */
 	enum rcanfd_chip_id chip_id;
 	int max_channels;
@@ -2003,7 +1996,8 @@ static int rcar_canfd_probe(struct platform_device *pdev)
 		rcar_canfd_configure_tx(gpriv, ch);
 
 		/* Configure receive rules */
-		rcar_canfd_configure_afl_rules(gpriv, ch);
+		rcar_canfd_configure_afl_rules(gpriv, ch, rule_entry);
+		rule_entry += RCANFD_CHANNEL_NUMRULES;
 	}
 
 	/* Configure common interrupts */
drivers/net/dsa/mv88e6xxx/chip.c +48 -11

94 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -1
index 7d9677d0f730..393a983f6d69 100644
@@ -1994,7 +1994,8 @@ static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
 			if (!skb)
 				goto oom_next_rx;
 		} else {
-			skb = bnxt_xdp_build_skb(bp, skb, agg_bufs, rxr->page_pool, &xdp, rxcmp1);
+			skb = bnxt_xdp_build_skb(bp, skb, agg_bufs,
+						 rxr->page_pool, &xdp);
 			if (!skb) {
 				/* we should be able to free the old skb here */
 				bnxt_xdp_buff_frags_free(rxr, &xdp);
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +2 -9
index aa56db138d6b..d9a7b85343a4 100644
@@ -462,20 +462,13 @@ int bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp)
 
 struct sk_buff *
 bnxt_xdp_build_skb(struct bnxt *bp, struct sk_buff *skb, u8 num_frags,
-		   struct page_pool *pool, struct xdp_buff *xdp,
-		   struct rx_cmp_ext *rxcmp1)
+		   struct page_pool *pool, struct xdp_buff *xdp)
 {
 	struct skb_shared_info *sinfo = xdp_get_shared_info_from_buff(xdp);
 
 	if (!skb)
 		return NULL;
-	skb_checksum_none_assert(skb);
-	if (RX_CMP_L4_CS_OK(rxcmp1)) {
-		if (bp->dev->features & NETIF_F_RXCSUM) {
-			skb->ip_summed = CHECKSUM_UNNECESSARY;
-			skb->csum_level = RX_CMP_ENCAP(rxcmp1);
-		}
-	}
+
 	xdp_update_skb_shared_info(skb, num_frags,
 				   sinfo->xdp_frags_size,
 				   BNXT_RX_PAGE_SIZE * sinfo->nr_frags,
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h +1 -2
index ea430d6961df..ae8159c5f56c 100644
@@ -33,6 +33,5 @@ void bnxt_xdp_buff_frags_free(struct bnxt_rx_ring_info *rxr,
 			      struct xdp_buff *xdp);
 struct sk_buff *bnxt_xdp_build_skb(struct bnxt *bp, struct sk_buff *skb,
 				   u8 num_frags, struct page_pool *pool,
-				   struct xdp_buff *xdp,
-				   struct rx_cmp_ext *rxcmp1);
+				   struct xdp_buff *xdp);
 #endif
drivers/net/ethernet/intel/ice/ice_arfs.c +1 -1
index fba178e07600..79074f041e39 100644
@@ -510,7 +510,7 @@ void ice_init_arfs(struct ice_vsi *vsi)
 	struct hlist_head *arfs_fltr_list;
 	unsigned int i;
 
-	if (!vsi || vsi->type != ICE_VSI_PF)
+	if (!vsi || vsi->type != ICE_VSI_PF || ice_is_arfs_active(vsi))
 		return;
 
 	arfs_fltr_list = kcalloc(ICE_MAX_ARFS_LIST, sizeof(*arfs_fltr_list),
drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c +5 -7
index ce85b48d327d..6748c92941b1 100644
@@ -48,15 +48,10 @@ mlx5_esw_bridge_lag_rep_get(struct net_device *dev, struct mlx5_eswitch *esw)
 	struct list_head *iter;
 
 	netdev_for_each_lower_dev(dev, lower, iter) {
-		struct mlx5_core_dev *mdev;
-		struct mlx5e_priv *priv;
-
 		if (!mlx5e_eswitch_rep(lower))
 			continue;
 
-		priv = netdev_priv(lower);
-		mdev = priv->mdev;
-		if (mlx5_lag_is_shared_fdb(mdev) && mlx5_esw_bridge_dev_same_esw(lower, esw))
+		if (mlx5_esw_bridge_dev_same_esw(lower, esw))
 			return lower;
 	}
 
@@ -121,7 +116,7 @@ static bool mlx5_esw_bridge_is_local(struct net_device *dev, struct net_device *
 	priv = netdev_priv(rep);
 	mdev = priv->mdev;
 	if (netif_is_lag_master(dev))
-		return mlx5_lag_is_shared_fdb(mdev) && mlx5_lag_is_master(mdev);
+		return mlx5_lag_is_master(mdev);
 	return true;
 }
 
@@ -436,6 +431,9 @@ static int mlx5_esw_bridge_switchdev_event(struct notifier_block *nb,
 	if (!rep)
 		return NOTIFY_DONE;
 
+	if (netif_is_lag_master(dev) && !mlx5_lag_is_shared_fdb(esw->dev))
+		return NOTIFY_DONE;
+
 	switch (event) {
 	case SWITCHDEV_FDB_ADD_TO_BRIDGE:
 		fdb_info = container_of(info,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c +2 -4
index 8ee6a81b42b4..f520949b2024 100644
@@ -4791,11 +4791,9 @@ static int mlx5e_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
 	struct mlx5e_priv *priv = netdev_priv(dev);
 	struct mlx5_core_dev *mdev = priv->mdev;
 	u8 mode, setting;
-	int err;
 
-	err = mlx5_eswitch_get_vepa(mdev->priv.eswitch, &setting);
-	if (err)
-		return err;
+	if (mlx5_eswitch_get_vepa(mdev->priv.eswitch, &setting))
+		return -EOPNOTSUPP;
 	mode = setting ? BRIDGE_MODE_VEPA : BRIDGE_MODE_VEB;
 	return ndo_dflt_bridge_getlink(skb, pid, seq, dev,
 				       mode,
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c +5 -0
index df58cba37930..64c1071bece8 100644
@@ -196,6 +196,11 @@ mlx5_chains_create_table(struct mlx5_fs_chains *chains,
 		ns = mlx5_get_flow_namespace(chains->dev, chains->ns);
 	}
 
+	if (!ns) {
+		mlx5_core_warn(chains->dev, "Failed to get flow namespace\n");
+		return ERR_PTR(-EOPNOTSUPP);
+	}
+
 	ft_attr.autogroup.num_reserved_entries = 2;
 	ft_attr.autogroup.max_num_groups = chains->group_num;
 	ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c +6 -2
index f9dd50152b1e..28d24d59efb8 100644
@@ -454,8 +454,10 @@ static int qlcnic_sriov_set_guest_vlan_mode(struct qlcnic_adapter *adapter,
 
 	num_vlans = sriov->num_allowed_vlans;
 	sriov->allowed_vlans = kcalloc(num_vlans, sizeof(u16), GFP_KERNEL);
-	if (!sriov->allowed_vlans)
+	if (!sriov->allowed_vlans) {
+		qlcnic_sriov_free_vlans(adapter);
 		return -ENOMEM;
+	}
 
 	vlans = (u16 *)&cmd->rsp.arg[3];
 	for (i = 0; i < num_vlans; i++)
@@ -2167,8 +2169,10 @@ int qlcnic_sriov_alloc_vlans(struct qlcnic_adapter *adapter)
 		vf = &sriov->vf_info[i];
 		vf->sriov_vlans = kcalloc(sriov->num_allowed_vlans,
 					  sizeof(*vf->sriov_vlans), GFP_KERNEL);
-		if (!vf->sriov_vlans)
+		if (!vf->sriov_vlans) {
+			qlcnic_sriov_free_vlans(adapter);
 			return -ENOMEM;
+		}
 	}
 
 	return 0;
drivers/net/mctp/mctp-i2c.c +5 -0
index 7635a8b3c35c..17619d011689 100644
@@ -543,6 +543,7 @@ static int mctp_i2c_header_create(struct sk_buff *skb, struct net_device *dev,
 	struct mctp_i2c_hdr *hdr;
 	struct mctp_hdr *mhdr;
 	u8 lldst, llsrc;
+	int rc;
 
 	if (len > MCTP_I2C_MAXMTU)
 		return -EMSGSIZE;
@@ -553,6 +554,10 @@ static int mctp_i2c_header_create(struct sk_buff *skb, struct net_device *dev,
 	lldst = *((u8 *)daddr);
 	llsrc = *((u8 *)saddr);
 
+	rc = skb_cow_head(skb, sizeof(struct mctp_i2c_hdr));
+	if (rc)
+		return rc;
+
 	skb_push(skb, sizeof(struct mctp_i2c_hdr));
 	skb_reset_mac_header(skb);
 	hdr = (void *)skb_mac_header(skb);
drivers/net/wireless/intel/iwlwifi/mvm/d3.c +8 -1
index 53302c29c229..f8af851474e5 100644
@@ -1286,7 +1286,9 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
 
 		mvm->net_detect = true;
 	} else {
-		struct iwl_wowlan_config_cmd wowlan_config_cmd = {};
+		struct iwl_wowlan_config_cmd wowlan_config_cmd = {
+			.offloading_tid = 0,
+		};
 
 		wowlan_config_cmd.sta_id = mvmvif->ap_sta_id;
 
@@ -1298,6 +1300,11 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
 			goto out_noreset;
 		}
 
+		ret = iwl_mvm_sta_ensure_queue(
+			mvm, ap_sta->txq[wowlan_config_cmd.offloading_tid]);
+		if (ret)
+			goto out_noreset;
+
 		ret = iwl_mvm_get_wowlan_config(mvm, wowlan, &wowlan_config_cmd,
 						vif, mvmvif, ap_sta);
 		if (ret)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c +28 -0
index 6b52afcf0272..46bf158eb4b3 100644
@@ -1419,6 +1419,34 @@ static int iwl_mvm_sta_alloc_queue(struct iwl_mvm *mvm,
 	return ret;
 }
 
+int iwl_mvm_sta_ensure_queue(struct iwl_mvm *mvm,
+			     struct ieee80211_txq *txq)
+{
+	struct iwl_mvm_txq *mvmtxq = iwl_mvm_txq_from_mac80211(txq);
+	int ret = -EINVAL;
+
+	lockdep_assert_held(&mvm->mutex);
+
+	if (likely(test_bit(IWL_MVM_TXQ_STATE_READY, &mvmtxq->state)) ||
+	    !txq->sta) {
+		return 0;
+	}
+
+	if (!iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, txq->tid)) {
+		set_bit(IWL_MVM_TXQ_STATE_READY, &mvmtxq->state);
+		ret = 0;
+	}
+
+	local_bh_disable();
+	spin_lock(&mvm->add_stream_lock);
+	if (!list_empty(&mvmtxq->list))
+		list_del_init(&mvmtxq->list);
+	spin_unlock(&mvm->add_stream_lock);
+	local_bh_enable();
+
+	return ret;
+}
+
 void iwl_mvm_add_new_dqa_stream_wk(struct work_struct *wk)
 {
 	struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm,
drivers/net/wireless/intel/iwlwifi/mvm/sta.h +2 -1
index f1a4fc3e4038..5f7e9311e7e5 100644
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
 /*
- * Copyright (C) 2012-2014, 2018-2021 Intel Corporation
+ * Copyright (C) 2012-2014, 2018-2024 Intel Corporation
  * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
  * Copyright (C) 2015-2016 Intel Deutschland GmbH
  */
@@ -544,6 +544,7 @@ void iwl_mvm_modify_all_sta_disable_tx(struct iwl_mvm *mvm,
 				       struct iwl_mvm_vif *mvmvif,
 				       bool disable);
 void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
+int iwl_mvm_sta_ensure_queue(struct iwl_mvm *mvm, struct ieee80211_txq *txq);
 void iwl_mvm_add_new_dqa_stream_wk(struct work_struct *wk);
 int iwl_mvm_add_pasn_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 			 struct iwl_mvm_int_sta *sta, u8 *addr, u32 cipher,
drivers/net/wwan/mhi_wwan_mbim.c +1 -1
index ef70bb7c88ad..43c20deab318 100644
@@ -209,7 +209,7 @@ static int mbim_rx_verify_nth16(struct mhi_mbim_context *mbim, struct sk_buff *s
 	if (mbim->rx_seq + 1 != le16_to_cpu(nth16->wSequence) &&
 	    (mbim->rx_seq || le16_to_cpu(nth16->wSequence)) &&
 	    !(mbim->rx_seq == 0xffff && !le16_to_cpu(nth16->wSequence))) {
-		net_err_ratelimited("sequence number glitch prev=%d curr=%d\n",
+		net_dbg_ratelimited("sequence number glitch prev=%d curr=%d\n",
 				    mbim->rx_seq, le16_to_cpu(nth16->wSequence));
 	}
 	mbim->rx_seq = le16_to_cpu(nth16->wSequence);
drivers/nvme/host/core.c +0 -2
index ba76cd3b5f85..6a636fe6506b 100644
@@ -501,8 +501,6 @@ bool nvme_change_ctrl_state(struct nvme_ctrl *ctrl,
 	switch (new_state) {
 	case NVME_CTRL_LIVE:
 		switch (old_state) {
-		case NVME_CTRL_NEW:
-		case NVME_CTRL_RESETTING:
 		case NVME_CTRL_CONNECTING:
 			changed = true;
 			fallthrough;
drivers/nvme/host/fc.c +1 -2
index 3dbf926fd99f..2b0f15de7711 100644
@@ -3525,8 +3525,7 @@ nvme_fc_init_ctrl(struct device *dev, struct nvmf_ctrl_options *opts,
 	list_add_tail(&ctrl->ctrl_list, &rport->ctrl_list);
 	spin_unlock_irqrestore(&rport->lock, flags);
 
-	if (!nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_RESETTING) ||
-	    !nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_CONNECTING)) {
+	if (!nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_CONNECTING)) {
 		dev_err(ctrl->ctrl.device,
 			"NVME-FC{%d}: failed to init ctrl state\n", ctrl->cnum);
 		goto fail_ctrl;
drivers/nvme/host/pci.c +2 -0
index f939b6dc295e..afcb9668dad9 100644
@@ -3577,6 +3577,8 @@ static const struct pci_device_id nvme_id_table[] = {
 		.driver_data = NVME_QUIRK_BOGUS_NID, },
 	{ PCI_DEVICE(0x1cc1, 0x5350),   /* ADATA XPG GAMMIX S50 */
 		.driver_data = NVME_QUIRK_BOGUS_NID, },
+	{ PCI_DEVICE(0x1dbe, 0x5216),   /* Acer/INNOGRIT FA100/5216 NVMe SSD */
+		.driver_data = NVME_QUIRK_BOGUS_NID, },
 	{ PCI_DEVICE(0x1dbe, 0x5236),   /* ADATA XPG GAMMIX S70 */
 		.driver_data = NVME_QUIRK_BOGUS_NID, },
 	{ PCI_DEVICE(0x1e49, 0x0021),   /* ZHITAI TiPro5000 NVMe SSD */
drivers/nvme/host/tcp.c +43 -0

55 lines not on this page · raw message

drivers/nvme/target/rdma.c +23 -10
index a6d55ebb8238..298c46834a53 100644
@@ -997,6 +997,27 @@ static void nvmet_rdma_handle_command(struct nvmet_rdma_queue *queue,
 	nvmet_req_complete(&cmd->req, status);
 }
 
+static bool nvmet_rdma_recv_not_live(struct nvmet_rdma_queue *queue,
+		struct nvmet_rdma_rsp *rsp)
+{
+	unsigned long flags;
+	bool ret = true;
+
+	spin_lock_irqsave(&queue->state_lock, flags);
+	/*
+	 * recheck queue state is not live to prevent a race condition
+	 * with RDMA_CM_EVENT_ESTABLISHED handler.
+	 */
+	if (queue->state == NVMET_RDMA_Q_LIVE)
+		ret = false;
+	else if (queue->state == NVMET_RDMA_Q_CONNECTING)
+		list_add_tail(&rsp->wait_list, &queue->rsp_wait_list);
+	else
+		nvmet_rdma_put_rsp(rsp);
+	spin_unlock_irqrestore(&queue->state_lock, flags);
+	return ret;
+}
+
 static void nvmet_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc)
 {
 	struct nvmet_rdma_cmd *cmd =
@@ -1038,17 +1059,9 @@ static void nvmet_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc)
 	rsp->req.port = queue->port;
 	rsp->n_rdma = 0;
 
-	if (unlikely(queue->state != NVMET_RDMA_Q_LIVE)) {
-		unsigned long flags;
-
-		spin_lock_irqsave(&queue->state_lock, flags);
-		if (queue->state == NVMET_RDMA_Q_CONNECTING)
-			list_add_tail(&rsp->wait_list, &queue->rsp_wait_list);
-		else
-			nvmet_rdma_put_rsp(rsp);
-		spin_unlock_irqrestore(&queue->state_lock, flags);
+	if (unlikely(queue->state != NVMET_RDMA_Q_LIVE) &&
+	    nvmet_rdma_recv_not_live(queue, rsp))
 		return;
-	}
 
 	nvmet_rdma_handle_command(queue, rsp);
 }
drivers/pinctrl/bcm/pinctrl-bcm281xx.c +1 -1
index fd52a83387ef..bba5496335ee 100644
@@ -971,7 +971,7 @@ static const struct regmap_config bcm281xx_pinctrl_regmap_config = {
 	.reg_bits = 32,
 	.reg_stride = 4,
 	.val_bits = 32,
-	.max_register = BCM281XX_PIN_VC_CAM3_SDA,
+	.max_register = BCM281XX_PIN_VC_CAM3_SDA * 4,
 };
 
 static int bcm281xx_pinctrl_get_groups_count(struct pinctrl_dev *pctldev)
drivers/platform/x86/thinkpad_acpi.c +36 -14

144 lines not on this page · raw message

drivers/powercap/powercap_sys.c +1 -2
index ff736b006198..fd475e463d1f 100644
@@ -626,8 +626,7 @@ struct powercap_control_type *powercap_register_control_type(
 	dev_set_name(&control_type->dev, "%s", name);
 	result = device_register(&control_type->dev);
 	if (result) {
-		if (control_type->allocated)
-			kfree(control_type);
+		put_device(&control_type->dev);
 		return ERR_PTR(result);
 	}
 	idr_init(&control_type->idr);
drivers/regulator/core.c +11 -1
index fc52551aa265..29c9171e923a 100644
@@ -2091,6 +2091,10 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
 
 		if (have_full_constraints()) {
 			r = dummy_regulator_rdev;
+			if (!r) {
+				ret = -EPROBE_DEFER;
+				goto out;
+			}
 			get_device(&r->dev);
 		} else {
 			dev_err(dev, "Failed to resolve %s-supply for %s\n",
@@ -2108,6 +2112,10 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
 			goto out;
 		}
 		r = dummy_regulator_rdev;
+		if (!r) {
+			ret = -EPROBE_DEFER;
+			goto out;
+		}
 		get_device(&r->dev);
 	}
 
@@ -2216,8 +2224,10 @@ struct regulator *_regulator_get(struct device *dev, const char *id,
 			 * enabled, even if it isn't hooked up, and just
 			 * provide a dummy.
 			 */
-			dev_warn(dev, "supply %s not found, using dummy regulator\n", id);
 			rdev = dummy_regulator_rdev;
+			if (!rdev)
+				return ERR_PTR(-EPROBE_DEFER);
+			dev_warn(dev, "supply %s not found, using dummy regulator\n", id);
 			get_device(&rdev->dev);
 			break;
 
drivers/s390/cio/chp.c +2 -1
index 5440f285f349..7e00c061538d 100644
@@ -661,7 +661,8 @@ static int info_update(void)
 	if (time_after(jiffies, chp_info_expires)) {
 		/* Data is too old, update. */
 		rc = sclp_chp_read_info(&chp_info);
-		chp_info_expires = jiffies + CHP_INFO_UPDATE_INTERVAL ;
+		if (!rc)
+			chp_info_expires = jiffies + CHP_INFO_UPDATE_INTERVAL;
 	}
 	mutex_unlock(&info_lock);
 
drivers/scsi/qla1280.c +1 -1
index 1e7f4d138e06..0bb80d135f56 100644
@@ -2866,7 +2866,7 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
 			dprintk(3, "S/G Segment phys_addr=%x %x, len=0x%x\n",
 				cpu_to_le32(upper_32_bits(dma_handle)),
 				cpu_to_le32(lower_32_bits(dma_handle)),
-				cpu_to_le32(sg_dma_len(sg_next(s))));
+				cpu_to_le32(sg_dma_len(s)));
 			remseg--;
 		}
 		dprintk(5, "qla1280_64bit_start_scsi: Scatter/gather "
drivers/scsi/scsi_scan.c +1 -1
index 852d509b19b2..69288303e600 100644
@@ -245,7 +245,7 @@ static int scsi_realloc_sdev_budget_map(struct scsi_device *sdev,
 	}
 	ret = sbitmap_init_node(&sdev->budget_map,
 				scsi_device_max_queue_depth(sdev),
-				new_shift, GFP_KERNEL,
+				new_shift, GFP_NOIO,
 				sdev->request_queue->node, false, true);
 	if (!ret)
 		sbitmap_resize(&sdev->budget_map, depth);
drivers/soc/imx/soc-imx8m.c +68 -81

273 lines not on this page · raw message

drivers/soc/qcom/pdr_interface.c +1 -7
index c7cd4daa10b0..f83491a7510e 100644
@@ -74,7 +74,6 @@ static int pdr_locator_new_server(struct qmi_handle *qmi,
 {
 	struct pdr_handle *pdr = container_of(qmi, struct pdr_handle,
 					      locator_hdl);
-	struct pdr_service *pds;
 
 	mutex_lock(&pdr->lock);
 	/* Create a local client port for QMI communication */
@@ -86,12 +85,7 @@ static int pdr_locator_new_server(struct qmi_handle *qmi,
 	mutex_unlock(&pdr->lock);
 
 	/* Service pending lookup requests */
-	mutex_lock(&pdr->list_lock);
-	list_for_each_entry(pds, &pdr->lookups, node) {
-		if (pds->need_locator_lookup)
-			schedule_work(&pdr->locator_work);
-	}
-	mutex_unlock(&pdr->list_lock);
+	schedule_work(&pdr->locator_work);
 
 	return 0;
 }
drivers/thermal/cpufreq_cooling.c +0 -2
index 9f8b438fcf8f..bac0f52a361b 100644
@@ -57,8 +57,6 @@ struct time_in_idle {
  * @max_level: maximum cooling level. One less than total number of valid
  *	cpufreq frequencies.
  * @em: Reference on the Energy Model of the device
- * @cdev: thermal_cooling_device pointer to keep track of the
- *	registered cooling device.
  * @policy: cpufreq policy.
  * @cooling_ops: cpufreq callbacks to thermal cooling device ops
  * @idle_time: idle time stats
drivers/usb/serial/ftdi_sio.c +14 -0
index 248cbc9c48fd..f1498b511a81 100644
@@ -1079,6 +1079,20 @@ static const struct usb_device_id id_table_combined[] = {
 		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
 	/* GMC devices */
 	{ USB_DEVICE(GMC_VID, GMC_Z216C_PID) },
+	/* Altera USB Blaster 3 */
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6022_PID, 1) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6025_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6026_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6026_PID, 3) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6029_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602A_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602A_PID, 3) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602C_PID, 1) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602D_PID, 1) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602D_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 1) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 2) },
+	{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 3) },
 	{ }					/* Terminating entry */
 };
 
drivers/usb/serial/ftdi_sio_ids.h +13 -0
index 5ee60ba2a73c..52be47d684ea 100644
@@ -1612,3 +1612,16 @@
  */
 #define GMC_VID				0x1cd7
 #define GMC_Z216C_PID			0x0217 /* GMC Z216C Adapter IR-USB */
+
+/*
+ *  Altera USB Blaster 3 (http://www.altera.com).
+ */
+#define ALTERA_VID			0x09fb
+#define ALTERA_UB3_6022_PID		0x6022
+#define ALTERA_UB3_6025_PID		0x6025
+#define ALTERA_UB3_6026_PID		0x6026
+#define ALTERA_UB3_6029_PID		0x6029
+#define ALTERA_UB3_602A_PID		0x602a
+#define ALTERA_UB3_602C_PID		0x602c
+#define ALTERA_UB3_602D_PID		0x602d
+#define ALTERA_UB3_602E_PID		0x602e
drivers/usb/serial/option.c +32 -16

73 lines not on this page · raw message

drivers/video/fbdev/hyperv_fb.c +1 -1
index d3d643cf7506..41c496ff55cc 100644
@@ -1106,7 +1106,7 @@ static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info)
 
 	if (par->need_docopy) {
 		vfree(par->dio_vp);
-		iounmap(info->screen_base);
+		iounmap(par->mmio_vp);
 		vmbus_free_mmio(par->mem->start, screen_fb_size);
 	} else {
 		hvfb_release_phymem(hdev, info->fix.smem_start,
drivers/xen/swiotlb-xen.c +1 -1
index 0893c1012de6..fe52c8cbf136 100644
@@ -112,7 +112,7 @@ static int is_xen_swiotlb_buffer(struct device *dev, dma_addr_t dma_addr)
 }
 
 #ifdef CONFIG_X86
-int xen_swiotlb_fixup(void *buf, unsigned long nslabs)
+int __init xen_swiotlb_fixup(void *buf, unsigned long nslabs)
 {
 	int rc;
 	unsigned int order = get_order(IO_TLB_SEGSIZE << IO_TLB_SHIFT);
fs/fuse/dir.c +1 -1
index aa2be4c1ea8f..de31cb8eb720 100644
@@ -1445,7 +1445,7 @@ static const char *fuse_get_link(struct dentry *dentry, struct inode *inode,
 		goto out_err;
 
 	if (fc->cache_symlinks)
-		return page_get_link(dentry, inode, callback);
+		return page_get_link_raw(dentry, inode, callback);
 
 	err = -ECHILD;
 	if (!dentry)
fs/namei.c +19 -5
index 166d71c82d7a..6ce07cde1c27 100644
@@ -5156,10 +5156,9 @@ const char *vfs_get_link(struct dentry *dentry, struct delayed_call *done)
 EXPORT_SYMBOL(vfs_get_link);
 
 /* get the link contents into pagecache */
-const char *page_get_link(struct dentry *dentry, struct inode *inode,
-			  struct delayed_call *callback)
+static char *__page_get_link(struct dentry *dentry, struct inode *inode,
+			     struct delayed_call *callback)
 {
-	char *kaddr;
 	struct page *page;
 	struct address_space *mapping = inode->i_mapping;
 
@@ -5178,8 +5177,23 @@ const char *page_get_link(struct dentry *dentry, struct inode *inode,
 	}
 	set_delayed_call(callback, page_put_link, page);
 	BUG_ON(mapping_gfp_mask(mapping) & __GFP_HIGHMEM);
-	kaddr = page_address(page);
-	nd_terminate_link(kaddr, inode->i_size, PAGE_SIZE - 1);
+	return page_address(page);
+}
+
+const char *page_get_link_raw(struct dentry *dentry, struct inode *inode,
+			      struct delayed_call *callback)
+{
+	return __page_get_link(dentry, inode, callback);
+}
+EXPORT_SYMBOL_GPL(page_get_link_raw);
+
+const char *page_get_link(struct dentry *dentry, struct inode *inode,
+					struct delayed_call *callback)
+{
+	char *kaddr = __page_get_link(dentry, inode, callback);
+
+	if (!IS_ERR(kaddr))
+		nd_terminate_link(kaddr, inode->i_size, PAGE_SIZE - 1);
 	return kaddr;
 }
 
fs/ntfs3/attrib.c +122 -54

178 lines not on this page · raw message

fs/ntfs3/file.c +33 -118

151 lines not on this page · raw message

fs/ntfs3/frecord.c +1 -1
index d41ddc06f207..fb572688f919 100644

Lines of this file are not shown. View the raw message.

fs/ntfs3/index.c +2 -2
index 2589f6d1215f..2dfe74a3de75 100644

Lines of this file are not shown. View the raw message.

fs/ntfs3/inode.c +5 -7
index 057aa3cec902..5baf6a2b3d48 100644

Lines of this file are not shown. View the raw message.

fs/ntfs3/ntfs_fs.h +5 -4
index 26dbe1b46fdd..f2f32e304b3d 100644

Lines of this file are not shown. View the raw message.

fs/ntfs3/super.c +46 -22

68 lines not on this page · raw message

fs/proc/base.c +5 -4
index ecc45389ea79..82e4a8805bae 100644

Lines of this file are not shown. View the raw message.

fs/proc/generic.c +9 -1
index 587b91d9d998..b721bb88b4a6 100644

Lines of this file are not shown. View the raw message.

fs/proc/inode.c +3 -3
index f495fdb39151..025490480be1 100644

Lines of this file are not shown. View the raw message.

fs/proc/internal.h +14 -0
index 6b921826d85b..d115d22c01d4 100644

Lines of this file are not shown. View the raw message.

fs/select.c +4 -7
index 3f730b8581f6..e66b6189845e 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/asn1.c +2 -0
index b5724ef9f182..214a44509e7b 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/cifs_spnego.c +3 -1
index 1e6819daaaa7..8b58f494235f 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/cifsglob.h +4 -0
index 71e519bf65e2..17fce0afb297 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/connect.c +12 -4
index db30c4b8a221..01ce81f77e89 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/fs_context.c +7 -7
index ca39d01077cd..de2366d05767 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/ioctl.c +5 -1
index ae9905e2b9d4..7402070b7a06 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/sess.c +2 -1
index b8e14bcd2c68..c8f7ae0a2006 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/smb2pdu.c +2 -2
index 217d381eb9fe..96faa22b9cb6 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/smbacl.c +4 -1
index 6fd3560028d3..3adab8e10a21 100644

Lines of this file are not shown. View the raw message.

fs/vboxsf/super.c +2 -1
index 74952e58cca0..48f33d4994dc 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_ag.c +33 -12

45 lines not on this page · raw message

fs/xfs/libxfs/xfs_ag.h +3 -0
index 191b22b9a35b..eb84af1c8628 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_alloc.c +45 -32

77 lines not on this page · raw message

fs/xfs/libxfs/xfs_alloc.h +16 -8
index 2c3f762dfb58..2dd93d62150f 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_attr.c +3 -3
index e28d93d232de..32d350e97e0f 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_bmap.c +58 -63

121 lines not on this page · raw message

fs/xfs/libxfs/xfs_bmap.h +1 -4
index 08c16e4edc0f..524912f276f8 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_bmap_btree.c +6 -2
index 18de4fbfef4e..57f401f2492d 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_btree_staging.c +1 -3
index dd75e208b543..29e3f8ccb185 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_btree_staging.h +0 -6
index f0d2976050ae..5f638f711246 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_da_btree.c +7 -0
index e576560b46e9..282c7cf032f4 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_format.h +1 -1
index 371dc07233e0..20acb8573d7a 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_ialloc.c +16 -8
index 120dbec16f5c..d1472cbd48ff 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_ialloc_btree.c +4 -2
index 8c83e265770c..7125447cde1a 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_log_recover.h +22 -0
index 2420865f3007..a5100a11faf9 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_refcount.c +58 -58

116 lines not on this page · raw message

fs/xfs/libxfs/xfs_refcount.h +1 -3
index 452f30556f5a..c633477ce3ce 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_refcount_btree.c +2 -7
index e1f789866683..fbd53b6951a9 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_rtbitmap.c +2 -0
index 655108a4cd05..760172a65aff 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_rtbitmap.h new file +83 -0

83 lines not on this page · raw message

fs/xfs/libxfs/xfs_sb.c +18 -2
index d214233ef532..90ed55cd3d10 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_sb.h +2 -0
index 19134b23c10b..2e8e8d63d4eb 100644

Lines of this file are not shown. View the raw message.

fs/xfs/libxfs/xfs_types.h +13 -0
index 5ebdda7e1078..42fed04f038d 100644

Lines of this file are not shown. View the raw message.

fs/xfs/scrub/repair.c +2 -1
index c18bd039fce9..e0ed0ebfdaea 100644

Lines of this file are not shown. View the raw message.

fs/xfs/scrub/rtbitmap.c +2 -1
index 0a3bde64c675..fad7c353ada6 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_attr_item.c +11 -5
index 2788a6f2edcd..11e88a76a33c 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_bmap_item.c +33 -52

85 lines not on this page · raw message

fs/xfs/xfs_buf.c +40 -4

44 lines not on this page · raw message

fs/xfs/xfs_buf.h +1 -0
index 549c60942208..6cf0332ba62c 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_extfree_item.c +87 -57

144 lines not on this page · raw message

fs/xfs/xfs_fsmap.c +1 -1
index 062e5dc5db9f..a5b9754c62d1 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_fsops.c +4 -1
index 77b14f788214..96e9d64fbe62 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_inode_item.c +3 -0
index 91c847a84e10..2ec23c9af760 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_refcount_item.c +30 -38

68 lines not on this page · raw message

fs/xfs/xfs_reflink.c +5 -2
index cbdc23217a42..1bac6a8af970 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_rmap_item.c +4 -2
index 534504ede1a3..2043cea261c0 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_rtalloc.c +11 -3
index 0bfbbc1dd0da..7c5134899634 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_rtalloc.h +0 -73

73 lines not on this page · raw message

fs/xfs/xfs_trace.h +4 -11
index 0cd62031e53f..20e2ec8b73aa 100644

Lines of this file are not shown. View the raw message.

include/linux/fs.h +2 -0
index 0d32634c5cf0..08fba309ddc7 100644

Lines of this file are not shown. View the raw message.

include/linux/i8253.h +0 -1
index bf169cfef7f1..56c280eb2d4f 100644

Lines of this file are not shown. View the raw message.

include/linux/io_uring_types.h +5 -0
index 37aeea266ebb..2bd01109e0ec 100644

Lines of this file are not shown. View the raw message.

include/linux/nvme-tcp.h +2 -0
index 57ebe1267f7f..0278ce3ad1fb 100644

Lines of this file are not shown. View the raw message.

include/linux/proc_fs.h +5 -2
index 0260f5ea98fe..39532c19aa28 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/hci_core.h +38 -70

108 lines not on this page · raw message

include/sound/soc.h +4 -1
index 108617cea9c6..d63ac6d9fbdc 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/io_uring.h +1 -0
index 9eff86acdfec..8f8e39cd183e 100644

Lines of this file are not shown. View the raw message.

init/Kconfig +1 -1
index 2825c8cfde3b..b6786ddc88a8 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +139 -24

163 lines not on this page · raw message

io_uring/io_uring.h +2 -0
index a1f679b8199e..886921d2d58d 100644

Lines of this file are not shown. View the raw message.

kernel/sched/core.c +11 -2
index 0a483fd9f5de..9b01fdceb622 100644

Lines of this file are not shown. View the raw message.

kernel/sys.c +2 -0
index d06eda1387b6..06a9a87a8d3e 100644

Lines of this file are not shown. View the raw message.

kernel/time/hrtimer.c +15 -25
index 8db65e2db14c..e60863ab74b5 100644

Lines of this file are not shown. View the raw message.

lib/buildid.c +5 -0
index cc5da016b235..391382bd0541 100644

Lines of this file are not shown. View the raw message.

mm/migrate.c +7 -9
index 209078154a46..e37b18376714 100644

Lines of this file are not shown. View the raw message.

mm/nommu.c +7 -0
index 859ba6bdeb9c..6f4025d1b52b 100644

Lines of this file are not shown. View the raw message.

net/atm/lec.c +2 -1
index 6257bf12e5a0..ac3cfc1ae510 100644

Lines of this file are not shown. View the raw message.

net/batman-adv/bat_iv_ogm.c +1 -2
index 7f6a7c96ac92..02e084b44053 100644

Lines of this file are not shown. View the raw message.

net/batman-adv/bat_v_ogm.c +1 -2
index 9f4815f4c8e8..deef817b28f0 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/6lowpan.c +6 -1
index 4eb1b3ced0d2..db119071a0ea 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_core.c +7 -3
index 496dac042b9c..3cd7c212375f 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_event.c +22 -15
index b6fe5e15981f..6cfd61628cd7 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/iso.c +0 -6
index f62df9097f5e..437cbeaa9619 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +6 -6
index 36d6122f2e12..21a79ef7092d 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/rfcomm/core.c +0 -6
index 1686fa60e278..4f54c7df3a94 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/sco.c +6 -6
index 127479bf475b..fe8728041ad0 100644

Lines of this file are not shown. View the raw message.

net/core/lwtunnel.c +53 -12

65 lines not on this page · raw message

net/core/neighbour.c +1 -0
index 2e2c009b5a2d..bcc3950638b9 100644

Lines of this file are not shown. View the raw message.

net/core/netpoll.c +7 -2
index 681eeb2b7399..657abbb7d0d7 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +9 -10
index 7d591a0cf0c7..b64d53590f25 100644

Lines of this file are not shown. View the raw message.

net/ipv6/route.c +4 -1
index 17918f411386..5cf6e824c0df 100644

Lines of this file are not shown. View the raw message.

net/mptcp/options.c +4 -2
index f04fa61a6323..929074f08713 100644

Lines of this file are not shown. View the raw message.

net/mptcp/protocol.h +2 -0
index 77e727d81cc2..25c1cda5c1bc 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_ctl.c +4 -4
index 18e37b32a5d6..6cc50f05c46c 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conncount.c +4 -2
index 5885810da412..6156c0751056 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_counter.c +46 -44

90 lines not on this page · raw message

net/netfilter/nft_ct.c +4 -2
index 6157f8b4a3ce..3641043ca8cc 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_exthdr.c +4 -6
index de588f7b69c4..60d18bd60d82 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/flow_netlink.c +1 -14
index e3c85ceb1f0a..5ebbec656895 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_api.c +6 -0
index cb379849c51a..c395e7a98232 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_gred.c +2 -1
index 872d127c9db4..fa7a1b69c0f3 100644

Lines of this file are not shown. View the raw message.

net/sctp/stream.c +1 -1
index ee6514af830f..0527728aee98 100644

Lines of this file are not shown. View the raw message.

net/switchdev/switchdev.c +18 -7
index 2e14d4c37e2d..9aec24490e8f 100644

Lines of this file are not shown. View the raw message.

net/wireless/core.c +7 -0
index 2bed30621fa6..74904f88edfa 100644

Lines of this file are not shown. View the raw message.

net/xdp/xsk_buff_pool.c +1 -1
index 3321ca7eb76c..21d5fdba47c4 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_output.c +1 -1
index 07a7ee43b8ae..c59c548d8fc1 100644

Lines of this file are not shown. View the raw message.

rust/Makefile +5 -2
index 28ba3b9ee18d..ec737bad7fbb 100644

Lines of this file are not shown. View the raw message.

scripts/generate_rust_analyzer.py +50 -14

64 lines not on this page · raw message

sound/pci/hda/patch_realtek.c +1 -0
index e5e222e74d78..102af43f7442 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/yc/acp6x-mach.c +7 -0
index b45ff8f65f5e..77ea8a6c2d6d 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/arizona.c +7 -7
index 7434aeeda292..7a74941c608f 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/madera.c +5 -5
index b9f19fbd2911..30e680ee1069 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/tas2764.c +9 -1
index 2e0ed3e68fa5..fc8479d3d285 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/tas2764.h +7 -1
index 168af772a898..9490f2686e38 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/tas2770.c +1 -1
index 8557759acb1f..e284a3a85459 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm0010.c +11 -2
index 034a4e858c7e..602fa7cc2c5e 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm5110.c +4 -4
index e0b971620d0f..6db17349484c 100644

Lines of this file are not shown. View the raw message.

sound/soc/sh/rcar/core.c +0 -14
index 7e380d71b0f8..0964b4e3fbdf 100644

Lines of this file are not shown. View the raw message.

sound/soc/sh/rcar/rsnd.h +0 -1
index f8ef6836ef84..690f4932357c 100644

Lines of this file are not shown. View the raw message.

sound/soc/sh/rcar/src.c +93 -23

116 lines not on this page · raw message

sound/soc/soc-ops.c +7 -8
index b27e89ff6a16..b4cfc34d00ee 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/intel/hda-codec.c +1 -0
index a0dfd7de431f..a75f81116643 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.