Skip to contentSkip to conversation

Linux 6.12.53

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Oct 15, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.12.53 kernel.

All users of the 6.12 kernel series must upgrade.

The updated 6.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.12.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/trace/histogram-design.rst                             |    4 
 Makefile                                                             |    2 
 arch/arm/boot/dts/renesas/r8a7791-porter.dts                         |    2 
 arch/arm/boot/dts/ti/omap/am335x-baltos.dtsi                         |    2 
 arch/arm/boot/dts/ti/omap/am335x-cm-t335.dts                         |    2 
 arch/arm/boot/dts/ti/omap/omap3-devkit8000-lcd-common.dtsi           |    2 
 arch/arm/mach-at91/pm_suspend.S                                      |    4 
 arch/arm64/boot/dts/apple/t8103-j457.dts                             |   12 
 arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts             |   32 -
 arch/arm64/boot/dts/freescale/imx95.dtsi                             |    4 
 arch/arm64/boot/dts/mediatek/mt6331.dtsi                             |   10 
 arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts               |    2 
 arch/arm64/boot/dts/mediatek/mt8186-corsola-krabby.dtsi              |    8 
 arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262144.dts |    4 
 arch/arm64/boot/dts/mediatek/mt8195.dtsi                             |    3 
 arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts        |   16 
 arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts                      |    2 
 arch/arm64/boot/dts/qcom/qcm2290.dtsi                                |    1 
 arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi                        |    5 
 arch/arm64/net/bpf_jit_comp.c                                        |    3 
 arch/loongarch/kernel/relocate.c                                     |    4 
 arch/powerpc/include/asm/book3s/32/pgalloc.h                         |   10 
 arch/powerpc/include/asm/nohash/pgalloc.h                            |    2 
 arch/powerpc/kernel/head_8xx.S                                       |    9 
 arch/riscv/net/bpf_jit_comp64.c                                      |   42 +
 arch/sparc/lib/M7memcpy.S                                            |   20 
 arch/sparc/lib/Memcpy_utils.S                                        |    9 
 arch/sparc/lib/NG4memcpy.S                                           |    2 
 arch/sparc/lib/NGmemcpy.S                                            |   29 -
 arch/sparc/lib/U1memcpy.S                                            |   19 
 arch/sparc/lib/U3memcpy.S                                            |    2 
 arch/x86/include/asm/segment.h                                       |    8 
 arch/x86/kvm/svm/svm.c                                               |   12 
 block/blk-mq-sysfs.c                                                 |    6 
 block/blk-settings.c                                                 |    3 
 crypto/asymmetric_keys/x509_cert_parser.c                            |   16 
 drivers/acpi/acpica/aclocal.h                                        |    2 
 drivers/acpi/nfit/core.c                                             |    2 
 drivers/acpi/processor_idle.c                                        |    3 
 drivers/base/node.c                                                  |    4 
 drivers/base/power/main.c                                            |   14 
 drivers/base/regmap/regmap.c                                         |    2 
 drivers/block/nbd.c                                                  |    8 
 drivers/block/null_blk/main.c                                        |    2 
 drivers/bus/fsl-mc/fsl-mc-bus.c                                      |    3 
 drivers/char/hw_random/Kconfig                                       |    1 
 drivers/char/hw_random/ks-sa-rng.c                                   |    4 
 drivers/char/tpm/Kconfig                                             |    2 
 drivers/cpufreq/scmi-cpufreq.c                                       |   10 
 drivers/cpuidle/cpuidle-qcom-spm.c                                   |    7 
 drivers/crypto/hisilicon/debugfs.c                                   |    1 
 drivers/crypto/hisilicon/hpre/hpre_main.c                            |    3 
 drivers/crypto/hisilicon/qm.c                                        |    7 
 drivers/crypto/hisilicon/sec2/sec_main.c                             |   80 +--
 drivers/crypto/hisilicon/zip/zip_main.c                              |   17 
 drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c                  |    5 
 drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c                  |    2 
 drivers/devfreq/event/rockchip-dfi.c                                 |    7 
 drivers/devfreq/mtk-cci-devfreq.c                                    |    3 
 drivers/edac/i10nm_base.c                                            |   14 
 drivers/firmware/arm_scmi/transports/virtio.c                        |    3 
 drivers/firmware/meson/Kconfig                                       |    2 
 drivers/gpu/drm/amd/amdgpu/uvd_v3_1.c                                |   29 +
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c                                 |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_rq_dlg_calc_32.c    |    1 
 drivers/gpu/drm/amd/pm/amdgpu_dpm_internal.c                         |    7 
 drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c                           |   92 ++--
 drivers/gpu/drm/bridge/Kconfig                                       |    1 
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c                  |    2 
 drivers/gpu/drm/panel/panel-novatek-nt35560.c                        |    2 
 drivers/gpu/drm/radeon/r600_cs.c                                     |    4 
 drivers/hid/hidraw.c                                                 |  224 +++++-----
 drivers/hwmon/mlxreg-fan.c                                           |   24 -
 drivers/hwtracing/coresight/coresight-catu.c                         |   22 
 drivers/hwtracing/coresight/coresight-catu.h                         |    1 
 drivers/hwtracing/coresight/coresight-core.c                         |    5 
 drivers/hwtracing/coresight/coresight-etm4x-core.c                   |   31 +
 drivers/hwtracing/coresight/coresight-etm4x.h                        |    6 
 drivers/hwtracing/coresight/coresight-tmc-core.c                     |   22 
 drivers/hwtracing/coresight/coresight-tmc.h                          |    2 
 drivers/hwtracing/coresight/coresight-tpda.c                         |    3 
 drivers/hwtracing/coresight/coresight-trbe.c                         |   11 
 drivers/i2c/busses/i2c-designware-platdrv.c                          |    5 
 drivers/i2c/busses/i2c-mt65xx.c                                      |   17 
 drivers/i3c/master/svc-i3c-master.c                                  |   31 +
 drivers/iio/inkern.c                                                 |   30 -
 drivers/infiniband/core/addr.c                                       |   10 
 drivers/infiniband/core/cm.c                                         |    4 
 drivers/infiniband/core/sa_query.c                                   |    6 
 drivers/infiniband/hw/mlx5/main.c                                    |   67 ++
 drivers/infiniband/hw/mlx5/mlx5_ib.h                                 |    1 
 drivers/infiniband/sw/rxe/rxe_task.c                                 |    8 
 drivers/infiniband/sw/siw/siw_verbs.c                                |   25 -
 drivers/input/misc/uinput.c                                          |    1 
 drivers/input/touchscreen/atmel_mxt_ts.c                             |    2 
 drivers/iommu/intel/debugfs.c                                        |   17 
 drivers/iommu/intel/iommu.h                                          |    3 
 drivers/leds/flash/leds-qcom-flash.c                                 |   62 +-
 drivers/leds/leds-lp55xx-common.c                                    |    2 
 drivers/md/dm-core.h                                                 |    1 
 drivers/md/dm-vdo/indexer/volume-index.c                             |    4 
 drivers/md/dm.c                                                      |   13 
 drivers/media/i2c/rj54n1cb0c.c                                       |    9 
 drivers/media/pci/zoran/zoran.h                                      |    6 
 drivers/media/pci/zoran/zoran_driver.c                               |    3 
 drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c                |   20 
 drivers/mfd/rz-mtu3.c                                                |    2 
 drivers/mfd/vexpress-sysreg.c                                        |    6 
 drivers/misc/fastrpc.c                                               |   89 ++-
 drivers/misc/genwqe/card_ddcb.c                                      |    2 
 drivers/mmc/core/block.c                                             |    6 
 drivers/mtd/nand/raw/atmel/nand-controller.c                         |    4 
 drivers/net/ethernet/amazon/ena/ena_ethtool.c                        |    5 
 drivers/net/ethernet/dlink/dl2k.c                                    |    7 
 drivers/net/ethernet/intel/idpf/idpf_txrx.c                          |    8 
 drivers/net/ethernet/intel/idpf/idpf_virtchnl.c                      |    6 
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c                        |    6 
 drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.h             |   12 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c                    |   17 
 drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c                   |   24 +
 drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c                  |    7 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c                 |    2 
 drivers/net/usb/asix_devices.c                                       |   29 +
 drivers/net/usb/rtl8150.c                                            |    2 
 drivers/net/wireless/ath/ath10k/wmi.c                                |   39 -
 drivers/net/wireless/ath/ath12k/ce.c                                 |    2 
 drivers/net/wireless/ath/ath12k/debug.h                              |    1 
 drivers/net/wireless/intel/iwlwifi/fw/regulatory.h                   |    1 
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                      |    7 
 drivers/net/wireless/mediatek/mt76/mt7603/soc.c                      |    2 
 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h                   |    6 
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c                      |   29 -
 drivers/net/wireless/mediatek/mt76/mt7996/init.c                     |    8 
 drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h                   |   11 
 drivers/net/wireless/mediatek/mt76/mt7996/pci.c                      |    2 
 drivers/net/wireless/realtek/rtw89/ser.c                             |    3 
 drivers/nvme/target/fc.c                                             |   19 
 drivers/pci/controller/cadence/pci-j721e.c                           |    2 
 drivers/pci/controller/dwc/pcie-rcar-gen4.c                          |   26 +
 drivers/pci/controller/dwc/pcie-tegra194.c                           |    4 
 drivers/pci/controller/pci-tegra.c                                   |    2 
 drivers/pci/pci-acpi.c                                               |    6 
 drivers/perf/arm_spe_pmu.c                                           |    3 
 drivers/phy/rockchip/phy-rockchip-naneng-combphy.c                   |   12 
 drivers/pinctrl/meson/pinctrl-meson-gxl.c                            |   10 
 drivers/pinctrl/pinmux.c                                             |    2 
 drivers/pinctrl/renesas/pinctrl-rzg2l.c                              |    2 
 drivers/pinctrl/renesas/pinctrl.c                                    |    3 
 drivers/power/supply/cw2015_battery.c                                |    3 
 drivers/pps/kapi.c                                                   |    5 
 drivers/pps/pps.c                                                    |    5 
 drivers/ptp/ptp_private.h                                            |    1 
 drivers/ptp/ptp_sysfs.c                                              |    2 
 drivers/pwm/pwm-tiehrpwm.c                                           |  154 ++----
 drivers/regulator/scmi-regulator.c                                   |    3 
 drivers/remoteproc/pru_rproc.c                                       |    3 
 drivers/remoteproc/qcom_q6v5.c                                       |    3 
 drivers/scsi/mpt3sas/mpt3sas_transport.c                             |    8 
 drivers/scsi/myrs.c                                                  |    8 
 drivers/scsi/pm8001/pm8001_sas.c                                     |    9 
 drivers/scsi/qla2xxx/qla_edif.c                                      |    4 
 drivers/scsi/qla2xxx/qla_init.c                                      |    4 
 drivers/scsi/qla2xxx/qla_nvme.c                                      |    2 
 drivers/soc/mediatek/mtk-svs.c                                       |   23 +
 drivers/soc/qcom/rpmh-rsc.c                                          |    7 
 drivers/spi/spi.c                                                    |    2 
 drivers/tee/tee_shm.c                                                |    8 
 drivers/thermal/qcom/Kconfig                                         |    3 
 drivers/thermal/qcom/lmh.c                                           |    2 
 drivers/tty/n_gsm.c                                                  |   25 +
 drivers/tty/serial/max310x.c                                         |    2 
 drivers/uio/uio_hv_generic.c                                         |    7 
 drivers/usb/cdns3/cdnsp-pci.c                                        |    5 
 drivers/usb/gadget/configfs.c                                        |    2 
 drivers/usb/host/max3421-hcd.c                                       |    2 
 drivers/usb/host/xhci-ring.c                                         |   11 
 drivers/usb/misc/Kconfig                                             |    1 
 drivers/usb/misc/qcom_eud.c                                          |   33 +
 drivers/usb/phy/phy-twl6030-usb.c                                    |    3 
 drivers/usb/typec/tipd/core.c                                        |   24 -
 drivers/usb/usbip/vhci_hcd.c                                         |   22 
 drivers/vfio/pci/pds/dirty.c                                         |    2 
 drivers/vhost/vringh.c                                               |   14 
 drivers/video/fbdev/simplefb.c                                       |   31 +
 drivers/watchdog/mpc8xxx_wdt.c                                       |    2 
 fs/btrfs/extent_io.c                                                 |    9 
 fs/ext4/ext4.h                                                       |   10 
 fs/ext4/file.c                                                       |    2 
 fs/ext4/inode.c                                                      |    2 
 fs/ext4/orphan.c                                                     |    6 
 fs/ext4/super.c                                                      |    4 
 fs/f2fs/data.c                                                       |    9 
 fs/f2fs/f2fs.h                                                       |    4 
 fs/f2fs/file.c                                                       |   49 +-
 fs/gfs2/glock.c                                                      |    2 
 fs/nfs/nfs4proc.c                                                    |    2 
 fs/ntfs3/index.c                                                     |   10 
 fs/ntfs3/run.c                                                       |   12 
 fs/ocfs2/stack_user.c                                                |    1 
 fs/smb/client/smb2ops.c                                              |   17 
 fs/smb/server/ksmbd_netlink.h                                        |    5 
 fs/smb/server/mgmt/user_session.c                                    |   26 -
 fs/smb/server/server.h                                               |    1 
 fs/smb/server/smb2pdu.c                                              |    3 
 fs/smb/server/transport_ipc.c                                        |    3 
 fs/smb/server/transport_rdma.c                                       |   99 +++-
 fs/smb/server/transport_tcp.c                                        |   27 -
 fs/squashfs/inode.c                                                  |    7 
 fs/squashfs/squashfs_fs_i.h                                          |    2 
 fs/udf/inode.c                                                       |    3 
 include/asm-generic/vmlinux.lds.h                                    |    1 
 include/linux/bpf.h                                                  |    1 
 include/linux/btf.h                                                  |    2 
 include/linux/once.h                                                 |    4 
 include/trace/events/filelock.h                                      |    3 
 include/uapi/linux/hidraw.h                                          |    2 
 include/vdso/gettime.h                                               |    1 
 init/Kconfig                                                         |    1 
 io_uring/waitid.c                                                    |    3 
 kernel/bpf/core.c                                                    |    5 
 kernel/bpf/verifier.c                                                |    4 
 kernel/events/uprobes.c                                              |    2 
 kernel/seccomp.c                                                     |   12 
 kernel/smp.c                                                         |   11 
 kernel/trace/bpf_trace.c                                             |    9 
 mm/hugetlb.c                                                         |    2 
 net/9p/trans_usbg.c                                                  |   16 
 net/bluetooth/hci_sync.c                                             |   10 
 net/bluetooth/iso.c                                                  |   11 
 net/bluetooth/mgmt.c                                                 |   10 
 net/core/filter.c                                                    |   16 
 net/ipv4/ping.c                                                      |   14 
 net/ipv4/tcp.c                                                       |    9 
 net/mac80211/rx.c                                                    |   28 -
 net/netfilter/ipset/ip_set_hash_gen.h                                |    8 
 net/netfilter/ipvs/ip_vs_conn.c                                      |    4 
 net/netfilter/ipvs/ip_vs_core.c                                      |   11 
 net/netfilter/ipvs/ip_vs_ctl.c                                       |    6 
 net/netfilter/ipvs/ip_vs_est.c                                       |   16 
 net/netfilter/ipvs/ip_vs_ftp.c                                       |    4 
 net/netfilter/nfnetlink.c                                            |    2 
 net/nfc/nci/ntf.c                                                    |  135 ++++--
 net/sunrpc/auth_gss/svcauth_gss.c                                    |    2 
 security/Kconfig                                                     |    1 
 sound/core/pcm_native.c                                              |   25 -
 sound/pci/lx6464es/lx_core.c                                         |    4 
 sound/soc/codecs/wcd934x.c                                           |   17 
 sound/soc/codecs/wcd937x.c                                           |    4 
 sound/soc/codecs/wcd937x.h                                           |    6 
 sound/soc/intel/boards/bytcht_es8316.c                               |   20 
 sound/soc/intel/boards/bytcr_rt5640.c                                |    7 
 sound/soc/intel/boards/bytcr_rt5651.c                                |   26 -
 sound/soc/intel/boards/sof_sdw.c                                     |    2 
 sound/soc/sof/ipc3-topology.c                                        |   10 
 tools/include/nolibc/std.h                                           |    2 
 tools/lib/bpf/libbpf.c                                               |   46 +-
 tools/testing/nvdimm/test/ndtest.c                                   |   13 
 tools/testing/selftests/arm64/pauth/exec_target.c                    |    7 
 tools/testing/selftests/bpf/progs/test_tcpnotify_kern.c              |    1 
 tools/testing/selftests/bpf/test_tcpnotify_user.c                    |   20 
 tools/testing/selftests/nolibc/nolibc-test.c                         |    4 
 tools/testing/selftests/vDSO/vdso_call.h                             |    7 
 tools/testing/selftests/vDSO/vdso_test_abi.c                         |    9 
 tools/testing/selftests/watchdog/watchdog-test.c                     |    6 
 264 files changed, 2038 insertions(+), 1119 deletions(-)

Abdun Nihaal (1):
wifi: mt76: fix potential memory leak in mt76_wmac_probe()

Aditya Kumar Singh (1):
wifi: mac80211: fix Rx packet handling when pubsta information is not available

Akhilesh Patil (1):
selftests: watchdog: skip ping loop if WDIOF_KEEPALIVEPING not supported

Alexander Lobakin (1):
idpf: fix Rx descriptor ready check barrier in splitq

Alok Tiwari (3):
PCI: tegra: Fix devm_kcalloc() argument order for port->phys allocation
PCI: j721e: Fix incorrect error message in probe()
idpf: fix mismatched free function for dma_alloc_coherent

Andrea Righi (1):
bpf: Mark kfuncs as __noclone

Andreas Gruenbacher (1):
gfs2: Fix GLF_INVALIDATE_IN_PROGRESS flag clearing in do_xmote

Andrei Lalaev (1):
leds: leds-lp55xx: Use correct address for memory programming

Andy Yan (1):
power: supply: cw2015: Fix a alignment coding style issue

AngeloGioacchino Del Regno (4):
arm64: dts: mediatek: mt6331: Fix pmic, regulators, rtc, keys node names
arm64: dts: mediatek: mt6795-xperia-m5: Fix mmc0 latch-ck value
arm64: dts: mediatek: mt8395-kontron-i1200: Fix MT6360 regulator nodes
arm64: dts: mediatek: mt8516-pumpkin: Fix machine compatible

Annette Kobou (1):
arm64: dts: imx93-kontron: Fix GPIO for panel regulator

Anthony Iliopoulos (1):
NFSv4.1: fix backchannel max_resp_sz verification check

Arnd Bergmann (2):
hwrng: nomadik - add ARM_AMBA dependency
media: st-delta: avoid excessive stack usage

Bagas Sanjaya (1):
Documentation: trace: historgram-design: Separate sched_waking histogram section heading and the following diagram

Bala-Vignesh-Reddy (1):
selftests: arm64: Check fread return value in exec_target

Baochen Qiang (2):
wifi: ath12k: fix wrong logging ID used for CE
wifi: ath10k: avoid unnecessary wait for service ready message

Bartosz Golaszewski (2):
mfd: vexpress-sysreg: Check the return value of devm_gpiochip_add_data()
pinctrl: check the return value of pinmux_ops::get_function_name()

Bean Huo (1):
mmc: core: Fix variable shadowing in mmc_route_rpmb_frames()

Benjamin Berg (1):
selftests/nolibc: fix EXPECT_NZ macro

Benjamin Tissoires (1):
HID: hidraw: tighten ioctl command parsing

Bernard Metzler (1):
RDMA/siw: Always report immediate post SQ errors

Biju Das (1):
arm64: dts: renesas: rzg2lc-smarc: Disable CAN-FD channel0

Brahmajit Das (1):
drm/radeon/r600_cs: clean up of dead code in r600_cs

Brigham Campbell (1):
drm/panel: novatek-nt35560: Fix invalid return value

Chao Yu (4):
f2fs: fix condition in __allow_reserved_blocks()
f2fs: fix to update map->m_next_extent correctly in f2fs_map_blocks()
f2fs: fix to truncate first page in error path of f2fs_truncate()
f2fs: fix to mitigate overhead of f2fs_zero_post_eof_page()

Chen-Yu Tsai (1):
arm64: dts: mediatek: mt8186-tentacruel: Fix touchscreen model

Chenghai Huang (3):
crypto: hisilicon/zip - remove unnecessary validation for high-performance mode configurations
crypto: hisilicon - re-enable address prefetch after device resuming
crypto: hisilicon/qm - set NULL to qm->debug.qm_diff_regs

Chia-I Wu (1):
drm/bridge: it6505: select REGMAP_I2C

Christophe Leroy (3):
powerpc/8xx: Remove left-over instruction and comments in DataStoreTLBMiss handler powerpc/603: Really copy kernel PGD entries into all PGDIRs
watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog

Colin Ian King (2):
misc: genwqe: Fix incorrect cmd field being reported in error
ACPI: NFIT: Fix incorrect ndr_desc being reportedin dev_err message

Cosmin Tanislav (1):
mfd: rz-mtu3: Fix MTU5 NFCR register offset

Cristian Ciocaltea (1):
usb: vhci-hcd: Prevent suspending virtually attached devices

D. Wythe (1):
libbpf: Fix error when st-prefix_ops and ops from differ btf

Da Xue (1):
pinctrl: meson-gxl: add missing i2c_d pinmux

Dan Carpenter (4):
PM / devfreq: mtk-cci: Fix potential error pointer dereference in probe()
usb: host: max3421-hcd: Fix error pointer dereference in probe cleanup
serial: max310x: Add error checking in probe()
ocfs2: fix double free in user_cluster_connect()

Daniel Borkmann (1):
bpf: Enforce expected_attach_type for tailcall compatibility

Daniel Wagner (1):
nvmet-fc: move lsop put work to nvmet_fc_ls_req_op

Deepak Sharma (1):
net: nfc: nci: Add parameter validation for packet data

Dmitry Antipov (1):
ACPICA: Fix largest possible resource descriptor index

Dmitry Baryshkov (2):
thermal/drivers/qcom: Make LMH select QCOM_SCM thermal/drivers/qcom/lmh: Add missing IRQ includes

Dominique Martinet (1):
net/9p: Fix buffer overflow in USB transport layer

Donet Tom (2):
drivers/base/node: handle error properly in register_one_node() drivers/base/node: fix double free in register_one_node()

Enzo Matsumiya (1):
smb: client: fix crypto buffers in non-linear memory

Eric Dumazet (3):
nbd: restrict sockets to TCP and UDP
inet: ping: check sock_net() in ping_get_port() and ping_lookup()
tcp: fix __tcp_close() to only send RST when required

Erick Karanja (1):
mtd: rawnand: atmel: Fix error handling path in atmel_nand_controller_add_nands

Fan Wu (1):
KEYS: X.509: Fix Basic Constraints CA flag parsing

Fedor Pchelkin (1):
wifi: rtw89: avoid circular locking dependency in ser_state_run()

Fenglin Wu (1):
leds: flash: leds-qcom-flash: Update torch current clamp setting

Fernando Fernandez Mancera (1):
netfilter: nfnetlink: reset nlh pointer during batch replay

Florian Fainelli (1):
cpufreq: scmi: Account for malformed DT in scmi_dev_used_by_cpus()

Frieder Schrempf (1):
arm64: dts: imx93-kontron: Fix USB port assignment

Geert Uytterhoeven (3):
init: INITRAMFS_PRESERVE_MTIME should depend on BLK_DEV_INITRD
regmap: Remove superfluous check for !config in __regmap_init()
ARM: dts: renesas: porter: Fix CAN pin group

Genjian Zhang (1):
null_blk: Fix the description of the cache_size module argument

Greg Kroah-Hartman (1):

      Linux 6.12.53

Guangshuo Li (1):
nvdimm: ndtest: Return -ENOMEM if devm_kcalloc() fails in ndtest_probe()

Gui-Dong Han (1):
RDMA/rxe: Fix race in do_task() when draining

Guoqing Jiang (1):
arm64: dts: mediatek: mt8195: Remove suspend-breaking reset from pcie0

Hans de Goede (2):
iio: consumers: Fix handling of negative channel scale in iio_convert_raw_to_processed()
iio: consumers: Fix offset handling in iio_convert_raw_to_processed()

Hengqi Chen (2):
riscv, bpf: Sign extend struct ops return values properly bpf, arm64: Call bpf_jit_binary_pack_finalize() in bpf_jit_free()

Huisong Li (1):
ACPI: processor: idle: Fix memory leak when register cpuidle device failed

Håkon Bugge (1):
RDMA/cm: Rate limit destroy CM ID timeout error message

I Viswanath (2):
net: usb: Remove disruptive netif_wake_queue in rtl8150_set_multicast
ptp: Add a upper bound on max_vclocks

Ivan Abramov (1):
dm vdo: return error on corrupted metadata in start_restoring_volume functions

Jacopo Mondi (1):
media: zoran: Remove zoran_fh structure

Jakub Kicinski (1):
Revert "net/mlx5e: Update and set Xon/Xoff upon MTU set"

Jan Kara (1):
ext4: fix checks for orphan inodes

Janne Grunau (2):
arm64: dts: apple: t8103-j457: Fix PCIe ethernet iommu-map
fbdev: simplefb: Fix use after free in simplefb_detach_genpds()

Jarkko Sakkinen (1):
tpm: Disable TPM2_TCG_HMAC by default

Jeff Layton (1):
filelock: add FL_RECLAIM to show_fl_flags() macro

Jens Axboe (1):
io_uring/waitid: always prune wait queue entry in io_waitid_wait()

Jens Wiklander (1):
tee: fix register_shm_helper()

Jeremy Linton (1):
uprobes: uprobe_warn should use passed task

Jie Gan (1):
coresight: tpda: fix the logic to setup the element size

Jihed Chaibi (3):
ARM: dts: ti: omap: am335x-baltos: Fix ti,en-ck32k-xtal property in DTS to use correct boolean syntax
ARM: dts: ti: omap: omap3-devkit8000-lcd: Fix ti,keep-vref-on property to use correct boolean syntax in DTS
ARM: dts: omap: am335x-cm-t335: Remove unused mcasp num-serializer property

Johan Hovold (4):
firmware: firmware: meson-sm: fix compile-test default
soc: mediatek: mtk-svs: fix device leaks on mt8183 probe failure
soc: mediatek: mtk-svs: fix device leaks on mt8192 probe failure
cpuidle: qcom-spm: fix device and OF node leaks at probe

Johannes Nixdorf (1):
seccomp: Fix a race with WAIT_KILLABLE_RECV if the tracer replies too fast

Jonas Gorski (1):
spi: fix return code when spi device has too many chipselects

Jonas Karlman (1):
phy: rockchip: naneng-combphy: Enable U3 OTG port for RK3568

Joy Zou (1):
arm64: dts: imx95: Correct the lpuart7 and lpuart8 srcid

Junnan Wu (1):
firmware: arm_scmi: Mark VirtIO ready before registering scmi_virtio_driver

Kohei Enju (2):
nfp: fix RSS hash key size when RSS is not supported
net: ena: return 0 in ena_get_rxfh_key_size() when RSS hash key is not configurable

Komal Bajaj (1):
usb: misc: qcom_eud: Access EUD_MODE_MANAGER2 through secure calls

Konrad Dybcio (1):
arm64: dts: qcom: qcm2290: Disable USB SS bus instances in park mode

Kunihiko Hayashi (2):
i2c: designware: Fix clock issue when PM is disabled
i2c: designware: Add disabling clocks when probe fails

Lad Prabhakar (1):
pinctrl: renesas: rzg2l: Fix invalid unsigned return in rzg3s_oen_read()

Larshin Sergey (1):
fs: udf: fix OOB read in lengthAllocDescs handling

Lei Lu (1):
sunrpc: fix null pointer dereference on zero-length checksum

Leilk.Liu (1):
i2c: mediatek: fix potential incorrect use of I2C_MASTER_WRRD

Leo Yan (6):
coresight: trbe: Prevent overflow in PERF_IDX2OFF()
perf: arm_spe: Prevent overflow in PERF_IDX2OFF()
coresight: tmc: Support atclk
coresight: catu: Support atclk
coresight: etm4x: Support atclk
coresight: trbe: Return NULL pointer for allocation failures

Li Nan (1):
blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx

Liao Yuanhong (2):
drm/amd/display: Remove redundant semicolons
wifi: iwlwifi: Remove redundant header files

Lin Yujun (1):
coresight: Fix incorrect handling for return value of devm_kzalloc

Ling Xu (4):
misc: fastrpc: Save actual DMA size in fastrpc_map structure
misc: fastrpc: Fix fastrpc_map_lookup operation
misc: fastrpc: fix possible map leak in fastrpc_put_args
misc: fastrpc: Skip reference for DMA handles

Lorenzo Bianconi (2):
wifi: mt76: mt7996: Fix RX packets configuration for primary WED device
wifi: mt76: mt7996: Convert mt7996_wed_rro_addr to LE

Lu Baolu (1):
iommu/vt-d: Disallow dirty tracking if incoherent page walk

Luiz Augusto von Dentz (3):
Bluetooth: MGMT: Fix not exposing debug UUID on MGMT_OP_READ_EXP_FEATURES_INFO
Bluetooth: ISO: Fix possible UAF on iso_conn_free
Bluetooth: hci_sync: Fix using random address for BIG/PA advertisements

Ma Ke (1):
ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()

Marek Vasut (4):
PCI: rcar-gen4: Add missing 1ms delay after PWR reset assertion
PCI: rcar-gen4: Assure reset occurs before DBI access
PCI: rcar-gen4: Fix inverted break condition in PHY initialization
Input: atmel_mxt_ts - allow reset GPIO to sleep

Matt Bobrowski (1):
bpf/selftests: Fix test_tcpnotify_user

Matvey Kovalev (1):
ksmbd: fix error code overwriting in smb2_get_info_filesystem()

Miaoqian Lin (1):
usb: cdns3: cdnsp-pci: remove redundant pci_disable_device() call

Michael Karcher (5):
sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC
sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III
sparc: fix accurate exception reporting in copy_{from_to}_user for Niagara
sparc: fix accurate exception reporting in copy_to_user for Niagara 4
sparc: fix accurate exception reporting in copy_{from,to}_user for M7

Michael S. Tsirkin (1):
vhost: vringh: Fix copy_to_iter return value check

Michal Pecio (1):
Revert "usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running"

Moon Hee Lee (1):
fs/ntfs3: reject index allocation if $BITMAP is empty but blocks exist

Moshe Shemesh (2):
net/mlx5: Stop polling for command response if interface goes down net/mlx5: fw reset, add reset timeout work

Nagarjuna Kristam (1):
PCI: tegra194: Fix duplicate PLL disable in pex_ep_event_pex_rst_assert()

Naman Jain (1):
uio_hv_generic: Let userspace take care of interrupt mask

Namjae Jeon (1):
ksmbd: add max ip connections parameter

Nicolas Ferre (1):
ARM: at91: pm: fix MCKx restore routine

Nicolas Frattaroli (1):
PM / devfreq: rockchip-dfi: double count on RK3588

Niklas Cassel (1):

      scsi: pm80xx: Fix array-index-out-of-of-bounds on rmmod

Nirmoy Das (1):
PCI/ACPI: Fix pci_acpi_preserve_config() memory leak

Nishanth Menon (1):
hwrng: ks-sa - fix division by zero in ks_sa_rng_init

Oleksij Rempel (1):
net: usb: asix: hold PM usage ref to avoid PM/MDIO + RTNL deadlock

Or Har-Toov (1):
RDMA/mlx5: Better estimate max_qp_wr to reflect WQE count

Parav Pandit (1):
RDMA/core: Resolve MAC of next-hop device without ARP support

Patrisious Haddad (1):
RDMA/mlx5: Fix vport loopback forcing for MPV device

Paul Chaignon (1):
bpf: Explicitly check accesses to bpf_sock_addr

Pauli Virtanen (2):
Bluetooth: ISO: free rx_skb if not consumed
Bluetooth: ISO: don't leak skb in ISO_CONT RX

Phillip Lougher (1):
Squashfs: fix uninit-value in squashfs_get_parent

Qi Xi (1):
once: fix race by moving DO_ONCE to separate section

Qianfeng Rong (9):
regulator: scmi: Use int type to store negative error codes
block: use int to store blk_stack_limits() return value
pinctrl: renesas: Use int type to store negative error codes
ALSA: lx_core: use int type to store negative error codes drm/amdkfd: Fix error code sign for EINVAL in svm_ioctl() drm/msm/dpu: fix incorrect type for ret
scsi: qla2xxx: edif: Fix incorrect sign of error code
scsi: qla2xxx: Fix incorrect sign of error code in START_SP_W_RETRIES()
scsi: qla2xxx: Fix incorrect sign of error code in qla_nvme_xmt_ls_rsp()

Qiuxu Zhuo (1):
EDAC/i10nm: Skip DIMM enumeration on a disabled memory controller

Qu Wenruo (1):
btrfs: return any hit error from extent_writepage_io()

Rafael J. Wysocki (2):
PM: sleep: core: Clear power.must_resume in noirq suspend error path
smp: Fix up and expand the smp_call_function_many() kerneldoc

Randy Dunlap (1):
lsm: CONFIG_LSM can depend on CONFIG_SECURITY

Ranjan Kumar (1):
scsi: mpt3sas: Fix crash in transport port remove by using ioc_info()

Ranjani Sridharan (1):
ASoC: SOF: ipc3-topology: Fix multi-core and static pipelines tear down

Richard Fitzgerald (1):
ASoC: Intel: sof_sdw: Prevent jump to NULL add_sidecar callback

Salah Triki (1):
bus: fsl-mc: Check return value of platform_get_resource()

Sean Christopherson (1):
KVM: SVM: Skip fastpath emulation on VM-Exit if next RIP isn't valid

Sebastian Andrzej Siewior (1):
ALSA: pcm: Disable bottom softirqs as part of spin_lock_irq() on PREEMPT_RT

Seppo Takalo (1):
tty: n_gsm: Don't block input queue by waiting MSC

Shay Drory (1):
net/mlx5: pagealloc: Fix reclaim race during command interface teardown

Slavin Liu (1):
ipvs: Defer ip_vs_ftp unregister during netns cleanup

Sneh Mankad (1):
soc: qcom: rpmh-rsc: Unconditionally clear _TRIGGER bit for TCS

Srinivas Kandagatla (2):
ASoC: codecs: wcd937x: set the comp soundwire port correctly
ASoC: codecs: wcd937x: make stub functions inline

Stanley Chu (2):
i3c: master: svc: Use manual response for IBI events
i3c: master: svc: Recycle unused IBI slot

Stefan Kerkmann (1):
wifi: mwifiex: send world regulatory domain to driver

Stefan Metzmacher (1):
smb: server: fix IRD/ORD negotiation with the client

Stephan Gerhold (1):
remoteproc: qcom: q6v5: Avoid disabling handover IRQ twice

Sven Peter (1):
usb: typec: tipd: Clear interrupts first

Takashi Iwai (3):
ASoC: Intel: bytcht_es8316: Fix invalid quirk input mapping
ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping
ASoC: Intel: bytcr_rt5651: Fix invalid quirk input mapping

Tao Chen (1):
bpf: Remove migrate_disable in kprobe_multi_link_prog_run

Thomas Fourier (2):
crypto: keembay - Add missing check after sg_nents_for_len()
scsi: myrs: Fix dma_alloc_coherent() error check

Thomas Weißschuh (3):
vdso: Add struct __kernel_old_timeval forward declaration to gettime.h
selftests: vDSO: Fix -Wunitialized in powerpc VDSO_CALL() wrapper
selftests: vDSO: vdso_test_abi: Correctly skip whole test with missing vDSO

Thorsten Blum (1):
crypto: octeontx2 - Call strscpy() with correct size argument

Timur Kristóf (7):
drm/amdgpu: Power up UVD 3 for FW validation (v2) drm/amd/pm: Disable ULV even if unsupported (v3) drm/amd/pm: Fix si_upload_smc_data (v3)
drm/amd/pm: Adjust si_upload_smc_data register programming (v3) drm/amd/pm: Treat zero vblank time as too short in si_dpm (v3) drm/amd/pm: Disable MCLK switching with non-DC at 120 Hz+ (v2) drm/amd/pm: Disable SCLK switching on Oland with high pixel clocks (v3)

Uros Bizjak (1):
x86/vdso: Fix output operand size of RDPID

Uwe Kleine-König (4):
pwm: tiehrpwm: Don't drop runtime PM reference in .free()
pwm: tiehrpwm: Make code comment in .free() more useful
pwm: tiehrpwm: Fix various off-by-one errors in duty-cycle calculation
pwm: tiehrpwm: Fix corner case in clock divisor calculation

Vadim Pasternak (1):
hwmon: (mlxreg-fan) Separate methods of fan setting coming from different subsystems

Vineeth Pillai (Google) (1):
iommu/vt-d: debugfs: Fix legacy mode page table dump logic

Vitaly Grigoryev (1):
fs: ntfs3: Fix integer overflow in run_unpack()

Vlad Dumitrescu (1):
IB/sa: Fix sa_local_svc_timeout_ms read race

Wang Liang (1):
pps: fix warning in pps_register_cdev when register device fail

William Wu (1):
usb: gadget: configfs: Correctly set use_os_string at bind

Xichao Zhao (1):
usb: phy: twl6030: Fix incorrect type for ret

Yang Shi (1):
mm: hugetlb: avoid soft lockup when mprotect to large memory area

Yazhou Tang (1):
bpf: Reject negative offsets for ALU ops

Yeounsu Moon (1):
net: dlink: handle copy_thresh allocation failure

Youling Tang (1):
LoongArch: Automatically disable kaslr if boot from kexec_file

Yuanfang Zhang (2):
coresight: Only register perf symlink for sinks with alloc_buffer
coresight-etm4x: Conditionally access register TRCEXTINSELR

Yunseong Kim (1):
ksmbd: Fix race condition in RPC handle list access

Yureka Lilian (1):
libbpf: Fix reuse of DEVMAP

Zhang Shurong (1):
media: rj54n1cb0c: Fix memleak in rj54n1_probe()

Zhang Tengfei (1):

      ipvs: Use READ_ONCE/WRITE_ONCE for ipvs->enable

Zhen Ni (3):
netfilter: ipset: Remove unused htable_bits in macro ahash_region
Input: uinput - zero-initialize uinput_ff_upload_compat to avoid info leak
remoteproc: pru: Fix potential NULL pointer dereference in pru_rproc_set_ctable()

Zheng Qixing (2):
dm: fix queue start/stop imbalance under suspend/load/resume races
dm: fix NULL pointer dereference in __dm_suspend()

Zhi-Jun You (1):

      wifi: mt76: mt7915: fix mt7981 pre-calibration

Zhouyi Zhou (1):
tools/nolibc: make time_t robust if __kernel_old_time_t is missing in host headers

Zhushuai Yin (1):
crypto: hisilicon/qm - check whether the input function and PF are on the same device

Zilin Guan (1):
vfio/pds: replace bitmap_free with vfree

wangzijie (1):
f2fs: fix zero-sized extent for precache extents

zhang jiao (1):
vhost: vringh: Modify the return value check

author maintainer
#1 lore raw
Documentation/trace/histogram-design.rst +3 -1
index 5765eb3e9efa..a30f4bed11b4 100644
@@ -380,7 +380,9 @@ entry, ts0, corresponding to the ts0 variable in the sched_waking
 trigger above.
 
 sched_waking histogram
-----------------------::
+----------------------
+
+.. code-block::
 
   +------------------+
   | hist_data        |<-------------------------------------------------------+
Makefile +1 -1
index 3345d6257350..a4a2228276e6 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 12
-SUBLEVEL = 52
+SUBLEVEL = 53
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
arch/arm/boot/dts/renesas/r8a7791-porter.dts +1 -1
index 93c86e921645..b255eb228dd7 100644
@@ -290,7 +290,7 @@ vin0_pins: vin0 {
 	};
 
 	can0_pins: can0 {
-		groups = "can0_data";
+		groups = "can0_data_b";
 		function = "can0";
 	};
 
arch/arm/boot/dts/ti/omap/am335x-baltos.dtsi +1 -1
index a4beb718559c..9ee9e7a1343c 100644
@@ -270,7 +270,7 @@ &tps {
 	vcc7-supply = <&vbat>;
 	vccio-supply = <&vbat>;
 
-	ti,en-ck32k-xtal = <1>;
+	ti,en-ck32k-xtal;
 
 	regulators {
 		vrtc_reg: regulator@0 {
arch/arm/boot/dts/ti/omap/am335x-cm-t335.dts +0 -2
index 06767ea164b5..ece7f7854f6a 100644
@@ -483,8 +483,6 @@ &mcasp1 {
 
 		op-mode = <0>;          /* MCASP_IIS_MODE */
 		tdm-slots = <2>;
-		/* 16 serializers */
-		num-serializer = <16>;
 		serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
 			0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0
 		>;
arch/arm/boot/dts/ti/omap/omap3-devkit8000-lcd-common.dtsi +1 -1
index a7f99ae0c1fe..78c657429f64 100644
@@ -65,7 +65,7 @@ ads7846@0 {
 		ti,debounce-max = /bits/ 16 <10>;
 		ti,debounce-tol = /bits/ 16 <5>;
 		ti,debounce-rep = /bits/ 16 <1>;
-		ti,keep-vref-on = <1>;
+		ti,keep-vref-on;
 		ti,settle-delay-usec = /bits/ 16 <150>;
 
 		wakeup-source;
arch/arm/mach-at91/pm_suspend.S +2 -2
index e5869cca5e79..94dece1839af 100644
@@ -872,7 +872,7 @@ e_done:
 /**
  * at91_mckx_ps_restore: restore MCK1..4 settings
  *
- * Side effects: overwrites tmp1, tmp2
+ * Side effects: overwrites tmp1, tmp2 and tmp3
  */
 .macro at91_mckx_ps_restore
 #ifdef CONFIG_SOC_SAMA7
@@ -916,7 +916,7 @@ r_ps:
 	bic	tmp3, tmp3, #AT91_PMC_MCR_V2_ID_MSK
 	orr	tmp3, tmp3, tmp1
 	orr	tmp3, tmp3, #AT91_PMC_MCR_V2_CMD
-	str	tmp2, [pmc, #AT91_PMC_MCR_V2]
+	str	tmp3, [pmc, #AT91_PMC_MCR_V2]
 
 	wait_mckrdy tmp1
 
arch/arm64/boot/dts/apple/t8103-j457.dts +10 -2
index 152f95fd49a2..7089ccf3ce55 100644
@@ -21,6 +21,14 @@ aliases {
 	};
 };
 
+/*
+ * Adjust pcie0's iommu-map to account for the disabled port01.
+ */
+&pcie0 {
+	iommu-map = <0x100 &pcie0_dart_0 1 1>,
+			<0x200 &pcie0_dart_2 1 1>;
+};
+
 &bluetooth0 {
 	brcm,board-type = "apple,santorini";
 };
@@ -36,10 +44,10 @@ &wifi0 {
  */
 
 &port02 {
-	bus-range = <3 3>;
+	bus-range = <2 2>;
 	status = "okay";
 	ethernet0: ethernet@0,0 {
-		reg = <0x30000 0x0 0x0 0x0 0x0>;
+		reg = <0x20000 0x0 0x0 0x0 0x0>;
 		/* To be filled by the loader */
 		local-mac-address = [00 10 18 00 00 00];
 	};
arch/arm64/boot/dts/freescale/imx93-kontron-bl-osm-s.dts +21 -11
index 89e97c604bd3..c3d2ddd887fd 100644
@@ -33,7 +33,9 @@ pwm-beeper {
 
 	reg_vcc_panel: regulator-vcc-panel {
 		compatible = "regulator-fixed";
-		gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_vcc_panel>;
+		gpio = <&gpio2 21 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 		regulator-max-microvolt = <3300000>;
 		regulator-min-microvolt = <3300000>;
@@ -135,6 +137,16 @@ &tpm6 {
 };
 
 &usbotg1 {
+	adp-disable;
+	hnp-disable;
+	srp-disable;
+	disable-over-current;
+	dr_mode = "otg";
+	usb-role-switch;
+	status = "okay";
+};
+
+&usbotg2 {
 	#address-cells = <1>;
 	#size-cells = <0>;
 	disable-over-current;
@@ -147,17 +159,15 @@ usb1@1 {
 	};
 };
 
-&usbotg2 {
-	adp-disable;
-	hnp-disable;
-	srp-disable;
-	disable-over-current;
-	dr_mode = "otg";
-	usb-role-switch;
-	status = "okay";
-};
-
 &usdhc2 {
 	vmmc-supply = <&reg_vdd_3v3>;
 	status = "okay";
 };
+
+&iomuxc {
+	pinctrl_reg_vcc_panel: regvccpanelgrp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO21__GPIO2_IO21		0x31e /* PWM_2 */
+		>;
+	};
+};
arch/arm64/boot/dts/freescale/imx95.dtsi +2 -2
index 7365d6538a73..ddbc94c375e0 100644
@@ -822,7 +822,7 @@ lpuart7: serial@42690000 {
 				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&scmi_clk IMX95_CLK_LPUART7>;
 				clock-names = "ipg";
-				dmas = <&edma2 26 0 FSL_EDMA_RX>, <&edma2 25 0 0>;
+				dmas = <&edma2 88 0 FSL_EDMA_RX>, <&edma2 87 0 0>;
 				dma-names = "rx", "tx";
 				status = "disabled";
 			};
@@ -834,7 +834,7 @@ lpuart8: serial@426a0000 {
 				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&scmi_clk IMX95_CLK_LPUART8>;
 				clock-names = "ipg";
-				dmas = <&edma2 28 0 FSL_EDMA_RX>, <&edma2 27 0 0>;
+				dmas = <&edma2 90 0 FSL_EDMA_RX>, <&edma2 89 0 0>;
 				dma-names = "rx", "tx";
 				status = "disabled";
 			};
arch/arm64/boot/dts/mediatek/mt6331.dtsi +5 -5
index d89858c73ab1..243afbffa21f 100644
@@ -6,12 +6,12 @@
 #include <dt-bindings/input/input.h>
 
 &pwrap {
-	pmic: mt6331 {
+	pmic: pmic {
 		compatible = "mediatek,mt6331";
 		interrupt-controller;
 		#interrupt-cells = <2>;
 
-		mt6331regulator: mt6331regulator {
+		mt6331regulator: regulators {
 			compatible = "mediatek,mt6331-regulator";
 
 			mt6331_vdvfs11_reg: buck-vdvfs11 {
@@ -258,7 +258,7 @@ mt6331_vrtc_reg: ldo-vrtc {
 			};
 
 			mt6331_vdig18_reg: ldo-vdig18 {
-				regulator-name = "dvdd18_dig";
+				regulator-name = "vdig18";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
 				regulator-ramp-delay = <0>;
@@ -266,11 +266,11 @@ mt6331_vdig18_reg: ldo-vdig18 {
 			};
 		};
 
-		mt6331rtc: mt6331rtc {
+		mt6331rtc: rtc {
 			compatible = "mediatek,mt6331-rtc";
 		};
 
-		mt6331keys: mt6331keys {
+		mt6331keys: keys {
 			compatible = "mediatek,mt6331-keys";
 			power {
 				linux,keycodes = <KEY_POWER>;
arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts +1 -1
index 91de920c2245..03cc48321a3f 100644
@@ -212,7 +212,7 @@ proximity@48 {
 
 &mmc0 {
 	/* eMMC controller */
-	mediatek,latch-ck = <0x14>; /* hs400 */
+	mediatek,latch-ck = <4>; /* hs400 */
 	mediatek,hs200-cmd-int-delay = <1>;
 	mediatek,hs400-cmd-int-delay = <1>;
 	mediatek,hs400-ds-dly3 = <0x1a>;
arch/arm64/boot/dts/mediatek/mt8186-corsola-krabby.dtsi +4 -4
index 7c971198fa95..72a2a2bff0a9 100644
@@ -71,14 +71,14 @@ &i2c1 {
 	i2c-scl-internal-delay-ns = <10000>;
 
 	touchscreen: touchscreen@10 {
-		compatible = "hid-over-i2c";
+		compatible = "elan,ekth6915";
 		reg = <0x10>;
 		interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&touchscreen_pins>;
-		post-power-on-delay-ms = <10>;
-		hid-descr-addr = <0x0001>;
-		vdd-supply = <&pp3300_s3>;
+		reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
+		vcc33-supply = <&pp3300_s3>;
+		no-reset-on-power-off;
 	};
 };
 
arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262144.dts +4 -0
index 26d3451a5e47..24d9ede63eaa 100644
@@ -42,3 +42,7 @@ MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
 		CROS_STD_MAIN_KEYMAP
 	>;
 };
+
+&touchscreen {
+	compatible = "elan,ekth6a12nay";
+};
arch/arm64/boot/dts/mediatek/mt8195.dtsi +0 -3
index 2e138b54f556..451aa278bef5 100644
@@ -1563,9 +1563,6 @@ pcie0: pcie@112f0000 {
 
 			power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
 
-			resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P0_SWRST>;
-			reset-names = "mac";
-
 			#interrupt-cells = <1>;
 			interrupt-map-mask = <0 0 0 7>;
 			interrupt-map = <0 0 0 1 &pcie_intc0 0>,
arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts +8 -8
index e2e75b8ff918..9ab4fee769e4 100644
@@ -351,7 +351,7 @@ regulator {
 			LDO_VIN2-supply = <&vsys>;
 			LDO_VIN3-supply = <&vsys>;
 
-			mt6360_buck1: BUCK1 {
+			mt6360_buck1: buck1 {
 				regulator-name = "emi_vdd2";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <1800000>;
@@ -361,7 +361,7 @@ MT6360_OPMODE_LP
 				regulator-always-on;
 			};
 
-			mt6360_buck2: BUCK2 {
+			mt6360_buck2: buck2 {
 				regulator-name = "emi_vddq";
 				regulator-min-microvolt = <300000>;
 				regulator-max-microvolt = <1300000>;
@@ -371,7 +371,7 @@ MT6360_OPMODE_LP
 				regulator-always-on;
 			};
 
-			mt6360_ldo1: LDO1 {
+			mt6360_ldo1: ldo1 {
 				regulator-name = "mt6360_ldo1"; /* Test point */
 				regulator-min-microvolt = <1200000>;
 				regulator-max-microvolt = <3600000>;
@@ -379,7 +379,7 @@ mt6360_ldo1: LDO1 {
 							   MT6360_OPMODE_LP>;
 			};
 
-			mt6360_ldo2: LDO2 {
+			mt6360_ldo2: ldo2 {
 				regulator-name = "panel1_p1v8";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
@@ -387,7 +387,7 @@ mt6360_ldo2: LDO2 {
 							   MT6360_OPMODE_LP>;
 			};
 
-			mt6360_ldo3: LDO3 {
+			mt6360_ldo3: ldo3 {
 				regulator-name = "vmc_pmu";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <3300000>;
@@ -395,7 +395,7 @@ mt6360_ldo3: LDO3 {
 							   MT6360_OPMODE_LP>;
 			};
 
-			mt6360_ldo5: LDO5 {
+			mt6360_ldo5: ldo5 {
 				regulator-name = "vmch_pmu";
 				regulator-min-microvolt = <3300000>;
 				regulator-max-microvolt = <3300000>;
@@ -403,7 +403,7 @@ mt6360_ldo5: LDO5 {
 							   MT6360_OPMODE_LP>;
 			};
 
-			mt6360_ldo6: LDO6 {
+			mt6360_ldo6: ldo6 {
 				regulator-name = "mt6360_ldo6"; /* Test point */
 				regulator-min-microvolt = <500000>;
 				regulator-max-microvolt = <2100000>;
@@ -411,7 +411,7 @@ mt6360_ldo6: LDO6 {
 							   MT6360_OPMODE_LP>;
 			};
 
-			mt6360_ldo7: LDO7 {
+			mt6360_ldo7: ldo7 {
 				regulator-name = "emi_vmddr_en";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts +1 -1
index cce642c53812..3d3db33a64dc 100644
@@ -11,7 +11,7 @@
 
 / {
 	model = "Pumpkin MT8516";
-	compatible = "mediatek,mt8516";
+	compatible = "mediatek,mt8516-pumpkin", "mediatek,mt8516";
 
 	memory@40000000 {
 		device_type = "memory";
arch/arm64/boot/dts/qcom/qcm2290.dtsi +1 -0
index 2cfdf5bd5fd9..e75e6354b2d5 100644
@@ -1405,6 +1405,7 @@ usb_dwc3: usb@4e00000 {
 				snps,has-lpm-erratum;
 				snps,hird-threshold = /bits/ 8 <0x10>;
 				snps,usb3_lpm_capable;
+				snps,parkmode-disable-ss-quirk;
 				maximum-speed = "super-speed";
 				dr_mode = "otg";
 				usb-role-switch;
arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi +4 -1
index 377849cbb462..5785a934c28b 100644
@@ -48,7 +48,10 @@ sound_card {
 #if (SW_SCIF_CAN || SW_RSPI_CAN)
 &canfd {
 	pinctrl-0 = <&can1_pins>;
-	/delete-node/ channel@0;
+
+	channel0 {
+		status = "disabled";
+	};
 };
 #else
 &canfd {
arch/arm64/net/bpf_jit_comp.c +1 -2
index 5553508c3644..ca6d002a6f13 100644
@@ -2754,8 +2754,7 @@ void bpf_jit_free(struct bpf_prog *prog)
 		 * before freeing it.
 		 */
 		if (jit_data) {
-			bpf_arch_text_copy(&jit_data->ro_header->size, &jit_data->header->size,
-					   sizeof(jit_data->header->size));
+			bpf_jit_binary_pack_finalize(jit_data->ro_header, jit_data->header);
 			kfree(jit_data);
 		}
 		hdr = bpf_jit_binary_pack_hdr(prog);
arch/loongarch/kernel/relocate.c +4 -0
index 50c469067f3a..b5e2312a2fca 100644
@@ -166,6 +166,10 @@ static inline __init bool kaslr_disabled(void)
 		return true;
 #endif
 
+	str = strstr(boot_command_line, "kexec_file");
+	if (str == boot_command_line || (str > boot_command_line && *(str - 1) == ' '))
+		return true;
+
 	return false;
 }
 
arch/powerpc/include/asm/book3s/32/pgalloc.h +8 -2
index dd4eb3063175..f4390704d5ba 100644
@@ -7,8 +7,14 @@
 
 static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 {
-	return kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
-			pgtable_gfp_flags(mm, GFP_KERNEL));
+	pgd_t *pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
+				      pgtable_gfp_flags(mm, GFP_KERNEL));
+
+#ifdef CONFIG_PPC_BOOK3S_603
+	memcpy(pgd + USER_PTRS_PER_PGD, swapper_pg_dir + USER_PTRS_PER_PGD,
+	       (MAX_PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));
+#endif
+	return pgd;
 }
 
 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
arch/powerpc/include/asm/nohash/pgalloc.h +1 -1
index bb5f3e8ea912..4ef780b291bc 100644
@@ -22,7 +22,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 	pgd_t *pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
 			pgtable_gfp_flags(mm, GFP_KERNEL));
 
-#if defined(CONFIG_PPC_8xx) || defined(CONFIG_PPC_BOOK3S_603)
+#ifdef CONFIG_PPC_8xx
 	memcpy(pgd + USER_PTRS_PER_PGD, swapper_pg_dir + USER_PTRS_PER_PGD,
 	       (MAX_PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));
 #endif
arch/powerpc/kernel/head_8xx.S +1 -8
index 56c5ebe21b99..613606400ee9 100644
@@ -162,7 +162,7 @@ instruction_counter:
  * For the MPC8xx, this is a software tablewalk to load the instruction
  * TLB.  The task switch loads the M_TWB register with the pointer to the first
  * level table.
- * If we discover there is no second level table (value is zero) or if there
+ * If there is no second level table (value is zero) or if there
  * is an invalid pte, we load that into the TLB, which causes another fault
  * into the TLB Error interrupt where we can handle such problems.
  * We have to use the MD_xxx registers for the tablewalk because the
@@ -183,9 +183,6 @@ instruction_counter:
 	mtspr	SPRN_SPRG_SCRATCH2, r10
 	mtspr	SPRN_M_TW, r11
 
-	/* If we are faulting a kernel address, we have to use the
-	 * kernel page tables.
-	 */
 	mfspr	r10, SPRN_SRR0	/* Get effective address of fault */
 	INVALIDATE_ADJACENT_PAGES_CPU15(r10, r11)
 	mtspr	SPRN_MD_EPN, r10
@@ -228,10 +225,6 @@ instruction_counter:
 	mtspr	SPRN_SPRG_SCRATCH2, r10
 	mtspr	SPRN_M_TW, r11
 
-	/* If we are faulting a kernel address, we have to use the
-	 * kernel page tables.
-	 */
-	mfspr	r10, SPRN_MD_EPN
 	mfspr	r10, SPRN_M_TWB	/* Get level 1 table */
 	lwz	r11, (swapper_pg_dir-PAGE_OFFSET)@l(r10)	/* Get level 1 entry */
 
arch/riscv/net/bpf_jit_comp64.c +41 -1

55 lines not on this page · raw message

arch/sparc/lib/M7memcpy.S +10 -10
index cbd42ea7c3f7..99357bfa8e82 100644
@@ -696,16 +696,16 @@ FUNC_NAME:
 	EX_LD_FP(LOAD(ldd, %o4+40, %f26), memcpy_retl_o2_plus_o5_plus_40)
 	faligndata %f24, %f26, %f10
 	EX_ST_FP(STORE(std, %f6, %o0+24), memcpy_retl_o2_plus_o5_plus_40)
-	EX_LD_FP(LOAD(ldd, %o4+48, %f28), memcpy_retl_o2_plus_o5_plus_40)
+	EX_LD_FP(LOAD(ldd, %o4+48, %f28), memcpy_retl_o2_plus_o5_plus_32)
 	faligndata %f26, %f28, %f12
-	EX_ST_FP(STORE(std, %f8, %o0+32), memcpy_retl_o2_plus_o5_plus_40)
+	EX_ST_FP(STORE(std, %f8, %o0+32), memcpy_retl_o2_plus_o5_plus_32)
 	add	%o4, 64, %o4
-	EX_LD_FP(LOAD(ldd, %o4-8, %f30), memcpy_retl_o2_plus_o5_plus_40)
+	EX_LD_FP(LOAD(ldd, %o4-8, %f30), memcpy_retl_o2_plus_o5_plus_24)
 	faligndata %f28, %f30, %f14
-	EX_ST_FP(STORE(std, %f10, %o0+40), memcpy_retl_o2_plus_o5_plus_40)
-	EX_ST_FP(STORE(std, %f12, %o0+48), memcpy_retl_o2_plus_o5_plus_40)
+	EX_ST_FP(STORE(std, %f10, %o0+40), memcpy_retl_o2_plus_o5_plus_24)
+	EX_ST_FP(STORE(std, %f12, %o0+48), memcpy_retl_o2_plus_o5_plus_16)
 	add	%o0, 64, %o0
-	EX_ST_FP(STORE(std, %f14, %o0-8), memcpy_retl_o2_plus_o5_plus_40)
+	EX_ST_FP(STORE(std, %f14, %o0-8), memcpy_retl_o2_plus_o5_plus_8)
 	fsrc2	%f30, %f14
 	bgu,pt	%xcc, .Lunalign_sloop
 	 prefetch [%o4 + (8 * BLOCK_SIZE)], 20
@@ -728,7 +728,7 @@ FUNC_NAME:
 	add	%o4, 8, %o4
 	faligndata %f0, %f2, %f16
 	subcc	%o5, 8, %o5
-	EX_ST_FP(STORE(std, %f16, %o0), memcpy_retl_o2_plus_o5)
+	EX_ST_FP(STORE(std, %f16, %o0), memcpy_retl_o2_plus_o5_plus_8)
 	fsrc2	%f2, %f0
 	bgu,pt	%xcc, .Lunalign_by8
 	 add	%o0, 8, %o0
@@ -772,7 +772,7 @@ FUNC_NAME:
 	subcc	%o5, 0x20, %o5
 	EX_ST(STORE(stx, %o3, %o0 + 0x00), memcpy_retl_o2_plus_o5_plus_32)
 	EX_ST(STORE(stx, %g2, %o0 + 0x08), memcpy_retl_o2_plus_o5_plus_24)
-	EX_ST(STORE(stx, %g7, %o0 + 0x10), memcpy_retl_o2_plus_o5_plus_24)
+	EX_ST(STORE(stx, %g7, %o0 + 0x10), memcpy_retl_o2_plus_o5_plus_16)
 	EX_ST(STORE(stx, %o4, %o0 + 0x18), memcpy_retl_o2_plus_o5_plus_8)
 	bne,pt	%xcc, 1b
 	 add	%o0, 0x20, %o0
@@ -804,12 +804,12 @@ FUNC_NAME:
 	brz,pt	%o3, 2f
 	 sub	%o2, %o3, %o2
 
-1:	EX_LD(LOAD(ldub, %o1 + 0x00, %g2), memcpy_retl_o2_plus_g1)
+1:	EX_LD(LOAD(ldub, %o1 + 0x00, %g2), memcpy_retl_o2_plus_o3)
 	add	%o1, 1, %o1
 	subcc	%o3, 1, %o3
 	add	%o0, 1, %o0
 	bne,pt	%xcc, 1b
-	 EX_ST(STORE(stb, %g2, %o0 - 0x01), memcpy_retl_o2_plus_g1_plus_1)
+	 EX_ST(STORE(stb, %g2, %o0 - 0x01), memcpy_retl_o2_plus_o3_plus_1)
 2:
 	and	%o1, 0x7, %o3
 	brz,pn	%o3, .Lmedium_noprefetch_cp
arch/sparc/lib/Memcpy_utils.S +9 -0
index 64fbac28b3db..207343367bb2 100644
@@ -137,6 +137,15 @@ ENTRY(memcpy_retl_o2_plus_63_8)
 	ba,pt	%xcc, __restore_asi
 	 add	%o2, 8, %o0
 ENDPROC(memcpy_retl_o2_plus_63_8)
+ENTRY(memcpy_retl_o2_plus_o3)
+	ba,pt	%xcc, __restore_asi
+	 add	%o2, %o3, %o0
+ENDPROC(memcpy_retl_o2_plus_o3)
+ENTRY(memcpy_retl_o2_plus_o3_plus_1)
+	add	%o3, 1, %o3
+	ba,pt	%xcc, __restore_asi
+	 add	%o2, %o3, %o0
+ENDPROC(memcpy_retl_o2_plus_o3_plus_1)
 ENTRY(memcpy_retl_o2_plus_o5)
 	ba,pt	%xcc, __restore_asi
 	 add	%o2, %o5, %o0
arch/sparc/lib/NG4memcpy.S +1 -1
index 7ad58ebe0d00..df0ec1bd1948 100644
@@ -281,7 +281,7 @@ FUNC_NAME:	/* %o0=dst, %o1=src, %o2=len */
 	subcc		%o5, 0x20, %o5
 	EX_ST(STORE(stx, %g1, %o0 + 0x00), memcpy_retl_o2_plus_o5_plus_32)
 	EX_ST(STORE(stx, %g2, %o0 + 0x08), memcpy_retl_o2_plus_o5_plus_24)
-	EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x10), memcpy_retl_o2_plus_o5_plus_24)
+	EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x10), memcpy_retl_o2_plus_o5_plus_16)
 	EX_ST(STORE(stx, %o4, %o0 + 0x18), memcpy_retl_o2_plus_o5_plus_8)
 	bne,pt		%icc, 1b
 	 add		%o0, 0x20, %o0
arch/sparc/lib/NGmemcpy.S +18 -11
index ee51c1230689..bbd3ea0a6482 100644
@@ -79,8 +79,8 @@
 #ifndef EX_RETVAL
 #define EX_RETVAL(x)	x
 __restore_asi:
-	ret
 	wr	%g0, ASI_AIUS, %asi
+	ret
 	 restore
 ENTRY(NG_ret_i2_plus_i4_plus_1)
 	ba,pt	%xcc, __restore_asi
@@ -125,15 +125,16 @@ ENTRY(NG_ret_i2_plus_g1_minus_56)
 	ba,pt	%xcc, __restore_asi
 	 add	%i2, %g1, %i0
 ENDPROC(NG_ret_i2_plus_g1_minus_56)
-ENTRY(NG_ret_i2_plus_i4)
+ENTRY(NG_ret_i2_plus_i4_plus_16)
+        add     %i4, 16, %i4
 	ba,pt	%xcc, __restore_asi
 	 add	%i2, %i4, %i0
-ENDPROC(NG_ret_i2_plus_i4)
-ENTRY(NG_ret_i2_plus_i4_minus_8)
-	sub	%i4, 8, %i4
+ENDPROC(NG_ret_i2_plus_i4_plus_16)
+ENTRY(NG_ret_i2_plus_i4_plus_8)
+	add	%i4, 8, %i4
 	ba,pt	%xcc, __restore_asi
 	 add	%i2, %i4, %i0
-ENDPROC(NG_ret_i2_plus_i4_minus_8)
+ENDPROC(NG_ret_i2_plus_i4_plus_8)
 ENTRY(NG_ret_i2_plus_8)
 	ba,pt	%xcc, __restore_asi
 	 add	%i2, 8, %i0
@@ -160,6 +161,12 @@ ENTRY(NG_ret_i2_and_7_plus_i4)
 	ba,pt	%xcc, __restore_asi
 	 add	%i2, %i4, %i0
 ENDPROC(NG_ret_i2_and_7_plus_i4)
+ENTRY(NG_ret_i2_and_7_plus_i4_plus_8)
+	and	%i2, 7, %i2
+	add	%i4, 8, %i4
+	ba,pt	%xcc, __restore_asi
+	 add	%i2, %i4, %i0
+ENDPROC(NG_ret_i2_and_7_plus_i4)
 #endif
 
 	.align		64
@@ -405,13 +412,13 @@ FUNC_NAME:	/* %i0=dst, %i1=src, %i2=len */
 	andn		%i2, 0xf, %i4
 	and		%i2, 0xf, %i2
 1:	subcc		%i4, 0x10, %i4
-	EX_LD(LOAD(ldx, %i1, %o4), NG_ret_i2_plus_i4)
+	EX_LD(LOAD(ldx, %i1, %o4), NG_ret_i2_plus_i4_plus_16)
 	add		%i1, 0x08, %i1
-	EX_LD(LOAD(ldx, %i1, %g1), NG_ret_i2_plus_i4)
+	EX_LD(LOAD(ldx, %i1, %g1), NG_ret_i2_plus_i4_plus_16)
 	sub		%i1, 0x08, %i1
-	EX_ST(STORE(stx, %o4, %i1 + %i3), NG_ret_i2_plus_i4)
+	EX_ST(STORE(stx, %o4, %i1 + %i3), NG_ret_i2_plus_i4_plus_16)
 	add		%i1, 0x8, %i1
-	EX_ST(STORE(stx, %g1, %i1 + %i3), NG_ret_i2_plus_i4_minus_8)
+	EX_ST(STORE(stx, %g1, %i1 + %i3), NG_ret_i2_plus_i4_plus_8)
 	bgu,pt		%XCC, 1b
 	 add		%i1, 0x8, %i1
 73:	andcc		%i2, 0x8, %g0
@@ -468,7 +475,7 @@ FUNC_NAME:	/* %i0=dst, %i1=src, %i2=len */
 	subcc		%i4, 0x8, %i4
 	srlx		%g3, %i3, %i5
 	or		%i5, %g2, %i5
-	EX_ST(STORE(stx, %i5, %o0), NG_ret_i2_and_7_plus_i4)
+	EX_ST(STORE(stx, %i5, %o0), NG_ret_i2_and_7_plus_i4_plus_8)
 	add		%o0, 0x8, %o0
 	bgu,pt		%icc, 1b
 	 sllx		%g3, %g1, %g2
arch/sparc/lib/U1memcpy.S +10 -9
index 635398ec7540..154fbd35400c 100644
@@ -164,17 +164,18 @@ ENTRY(U1_gs_40_fp)
 	retl
 	 add		%o0, %o2, %o0
 ENDPROC(U1_gs_40_fp)
-ENTRY(U1_g3_0_fp)
-	VISExitHalf
-	retl
-	 add		%g3, %o2, %o0
-ENDPROC(U1_g3_0_fp)
 ENTRY(U1_g3_8_fp)
 	VISExitHalf
 	add		%g3, 8, %g3
 	retl
 	 add		%g3, %o2, %o0
 ENDPROC(U1_g3_8_fp)
+ENTRY(U1_g3_16_fp)
+	VISExitHalf
+	add		%g3, 16, %g3
+	retl
+	 add		%g3, %o2, %o0
+ENDPROC(U1_g3_16_fp)
 ENTRY(U1_o2_0_fp)
 	VISExitHalf
 	retl
@@ -547,18 +548,18 @@ FUNC_NAME:		/* %o0=dst, %o1=src, %o2=len */
 62:	FINISH_VISCHUNK(o0, f44, f46)
 63:	UNEVEN_VISCHUNK_LAST(o0, f46, f0)
 
-93:	EX_LD_FP(LOAD(ldd, %o1, %f2), U1_g3_0_fp)
+93:	EX_LD_FP(LOAD(ldd, %o1, %f2), U1_g3_8_fp)
 	add		%o1, 8, %o1
 	subcc		%g3, 8, %g3
 	faligndata	%f0, %f2, %f8
-	EX_ST_FP(STORE(std, %f8, %o0), U1_g3_8_fp)
+	EX_ST_FP(STORE(std, %f8, %o0), U1_g3_16_fp)
 	bl,pn		%xcc, 95f
 	 add		%o0, 8, %o0
-	EX_LD_FP(LOAD(ldd, %o1, %f0), U1_g3_0_fp)
+	EX_LD_FP(LOAD(ldd, %o1, %f0), U1_g3_8_fp)
 	add		%o1, 8, %o1
 	subcc		%g3, 8, %g3
 	faligndata	%f2, %f0, %f8
-	EX_ST_FP(STORE(std, %f8, %o0), U1_g3_8_fp)
+	EX_ST_FP(STORE(std, %f8, %o0), U1_g3_16_fp)
 	bge,pt		%xcc, 93b
 	 add		%o0, 8, %o0
 
arch/sparc/lib/U3memcpy.S +1 -1
index 9248d59c734c..bace3a18f836 100644
@@ -267,6 +267,7 @@ FUNC_NAME:	/* %o0=dst, %o1=src, %o2=len */
 	faligndata	%f10, %f12, %f26
 	EX_LD_FP(LOAD(ldd, %o1 + 0x040, %f0), U3_retl_o2)
 
+	and		%o2, 0x3f, %o2
 	subcc		GLOBAL_SPARE, 0x80, GLOBAL_SPARE
 	add		%o1, 0x40, %o1
 	bgu,pt		%XCC, 1f
@@ -336,7 +337,6 @@ FUNC_NAME:	/* %o0=dst, %o1=src, %o2=len */
 	 * Also notice how this code is careful not to perform a
 	 * load past the end of the src buffer.
 	 */
-	and		%o2, 0x3f, %o2
 	andcc		%o2, 0x38, %g2
 	be,pn		%XCC, 2f
 	 subcc		%g2, 0x8, %g2
arch/x86/include/asm/segment.h +4 -4
index 9d6411c65920..00cefbb59fa9 100644
@@ -244,7 +244,7 @@ static inline unsigned long vdso_encode_cpunode(int cpu, unsigned long node)
 
 static inline void vdso_read_cpunode(unsigned *cpu, unsigned *node)
 {
-	unsigned int p;
+	unsigned long p;
 
 	/*
 	 * Load CPU and node number from the GDT.  LSL is faster than RDTSCP
@@ -254,10 +254,10 @@ static inline void vdso_read_cpunode(unsigned *cpu, unsigned *node)
 	 *
 	 * If RDPID is available, use it.
 	 */
-	alternative_io ("lsl %[seg],%[p]",
-			".byte 0xf3,0x0f,0xc7,0xf8", /* RDPID %eax/rax */
+	alternative_io ("lsl %[seg],%k[p]",
+			"rdpid %[p]",
 			X86_FEATURE_RDPID,
-			[p] "=a" (p), [seg] "r" (__CPUNODE_SEG));
+			[p] "=r" (p), [seg] "r" (__CPUNODE_SEG));
 
 	if (cpu)
 		*cpu = (p & VDSO_CPUNODE_MASK);
arch/x86/kvm/svm/svm.c +10 -2
index 9170a9e127b7..c48a466db0c3 100644
@@ -4237,13 +4237,21 @@ static int svm_vcpu_pre_run(struct kvm_vcpu *vcpu)
 static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
+	struct vmcb_control_area *control = &svm->vmcb->control;
+
+	/*
+	 * Next RIP must be provided as IRQs are disabled, and accessing guest
+	 * memory to decode the instruction might fault, i.e. might sleep.
+	 */
+	if (!nrips || !control->next_rip)
+		return EXIT_FASTPATH_NONE;
 
 	if (is_guest_mode(vcpu))
 		return EXIT_FASTPATH_NONE;
 
-	switch (svm->vmcb->control.exit_code) {
+	switch (control->exit_code) {
 	case SVM_EXIT_MSR:
-		if (!svm->vmcb->control.exit_info_1)
+		if (!control->exit_info_1)
 			break;
 		return handle_fastpath_set_msr_irqoff(vcpu);
 	case SVM_EXIT_HLT:
block/blk-mq-sysfs.c +4 -2
index 156e9bb07abf..2fb234ab467b 100644
@@ -150,9 +150,11 @@ static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx)
 		return;
 
 	hctx_for_each_ctx(hctx, ctx, i)
-		kobject_del(&ctx->kobj);
+		if (ctx->kobj.state_in_sysfs)
+			kobject_del(&ctx->kobj);
 
-	kobject_del(&hctx->kobj);
+	if (hctx->kobj.state_in_sysfs)
+		kobject_del(&hctx->kobj);
 }
 
 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx)
block/blk-settings.c +2 -1
index f24fffdb6c29..d72a283401c3 100644
@@ -552,7 +552,8 @@ static unsigned int blk_round_down_sectors(unsigned int sectors, unsigned int lb
 int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
 		     sector_t start)
 {
-	unsigned int top, bottom, alignment, ret = 0;
+	unsigned int top, bottom, alignment;
+	int ret = 0;
 
 	t->features |= (b->features & BLK_FEAT_INHERIT_MASK);
 
crypto/asymmetric_keys/x509_cert_parser.c +12 -4
index ee2fdab42334..7e0ce7bf68c9 100644
@@ -611,11 +611,14 @@ int x509_process_extension(void *context, size_t hdrlen,
 		/*
 		 * Get hold of the basicConstraints
 		 * v[1] is the encoding size
-		 *	(Expect 0x2 or greater, making it 1 or more bytes)
+		 *	(Expect 0x00 for empty SEQUENCE with CA:FALSE, or
+		 *	0x03 or greater for non-empty SEQUENCE)
 		 * v[2] is the encoding type
 		 *	(Expect an ASN1_BOOL for the CA)
-		 * v[3] is the contents of the ASN1_BOOL
-		 *      (Expect 1 if the CA is TRUE)
+		 * v[3] is the length of the ASN1_BOOL
+		 *	(Expect 1 for a single byte boolean)
+		 * v[4] is the contents of the ASN1_BOOL
+		 *	(Expect 0xFF if the CA is TRUE)
 		 * vlen should match the entire extension size
 		 */
 		if (v[0] != (ASN1_CONS_BIT | ASN1_SEQ))
@@ -624,8 +627,13 @@ int x509_process_extension(void *context, size_t hdrlen,
 			return -EBADMSG;
 		if (v[1] != vlen - 2)
 			return -EBADMSG;
-		if (vlen >= 4 && v[1] != 0 && v[2] == ASN1_BOOL && v[3] == 1)
+		/* Empty SEQUENCE means CA:FALSE (default value omitted per DER) */
+		if (v[1] == 0)
+			return 0;
+		if (vlen >= 5 && v[2] == ASN1_BOOL && v[3] == 1 && v[4] == 0xFF)
 			ctx->cert->pub->key_eflags |= 1 << KEY_EFLAG_CA;
+		else
+			return -EBADMSG;
 		return 0;
 	}
 
drivers/acpi/acpica/aclocal.h +1 -1
index 6f4fe47c955b..35460c2072a4 100644
@@ -1141,7 +1141,7 @@ struct acpi_port_info {
 #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION   0x91
 #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG     0x92
 #define ACPI_RESOURCE_NAME_CLOCK_INPUT          0x93
-#define ACPI_RESOURCE_NAME_LARGE_MAX            0x94
+#define ACPI_RESOURCE_NAME_LARGE_MAX            0x93
 
 /*****************************************************************************
  *
drivers/acpi/nfit/core.c +1 -1
index ae035b93da08..3eb56b77cb6d 100644
@@ -2637,7 +2637,7 @@ static int acpi_nfit_register_region(struct acpi_nfit_desc *acpi_desc,
 	if (ndr_desc->target_node == NUMA_NO_NODE) {
 		ndr_desc->target_node = phys_to_target_node(spa->address);
 		dev_info(acpi_desc->dev, "changing target node from %d to %d for nfit region [%pa-%pa]",
-			NUMA_NO_NODE, ndr_desc->numa_node, &res.start, &res.end);
+			NUMA_NO_NODE, ndr_desc->target_node, &res.start, &res.end);
 	}
 
 	/*
drivers/acpi/processor_idle.c +3 -0
index 0888e4d618d5..b524cf27213d 100644
@@ -1410,6 +1410,9 @@ int acpi_processor_power_init(struct acpi_processor *pr)
 		if (retval) {
 			if (acpi_processor_registered == 0)
 				cpuidle_unregister_driver(&acpi_idle_driver);
+
+			per_cpu(acpi_cpuidle_device, pr->id) = NULL;
+			kfree(dev);
 			return retval;
 		}
 		acpi_processor_registered++;
drivers/base/node.c +4 -0
index eb72580288e6..deccfe68214e 100644
@@ -879,6 +879,10 @@ int __register_one_node(int nid)
 	node_devices[nid] = node;
 
 	error = register_node(node_devices[nid], nid);
+	if (error) {
+		node_devices[nid] = NULL;
+		return error;
+	}
 
 	/* link cpu under this node */
 	for_each_present_cpu(cpu) {
drivers/base/power/main.c +13 -1
index faf4cdec23f0..abb16a5bb796 100644
@@ -628,8 +628,20 @@ static void device_resume_noirq(struct device *dev, pm_message_t state, bool asy
 	if (dev->power.syscore || dev->power.direct_complete)
 		goto Out;
 
-	if (!dev->power.is_noirq_suspended)
+	if (!dev->power.is_noirq_suspended) {
+		/*
+		 * This means that system suspend has been aborted in the noirq
+		 * phase before invoking the noirq suspend callback for the
+		 * device, so if device_suspend_late() has left it in suspend,
+		 * device_resume_early() should leave it in suspend either in
+		 * case the early resume of it depends on the noirq resume that
+		 * has not run.
+		 */
+		if (dev_pm_skip_suspend(dev))
+			dev->power.must_resume = false;
+
 		goto Out;
+	}
 
 	if (!dpm_wait_for_superior(dev, async))
 		goto Out;
drivers/base/regmap/regmap.c +1 -1
index de4e2f3db942..66b3840bd96e 100644
@@ -828,7 +828,7 @@ struct regmap *__regmap_init(struct device *dev,
 		map->read_flag_mask = bus->read_flag_mask;
 	}
 
-	if (config && config->read && config->write) {
+	if (config->read && config->write) {
 		map->reg_read  = _regmap_bus_read;
 		if (config->reg_update_bits)
 			map->reg_update_bits = config->reg_update_bits;
drivers/block/nbd.c +8 -0
index c705acc4d6f4..de692eed9874 100644
@@ -1156,6 +1156,14 @@ static struct socket *nbd_get_socket(struct nbd_device *nbd, unsigned long fd,
 	if (!sock)
 		return NULL;
 
+	if (!sk_is_tcp(sock->sk) &&
+	    !sk_is_stream_unix(sock->sk)) {
+		dev_err(disk_to_dev(nbd->disk), "Unsupported socket: should be TCP or UNIX.\n");
+		*err = -EINVAL;
+		sockfd_put(sock);
+		return NULL;
+	}
+
 	if (sock->ops->shutdown == sock_no_shutdown) {
 		dev_err(disk_to_dev(nbd->disk), "Unsupported socket: shutdown callout must be supported.\n");
 		*err = -EINVAL;
drivers/block/null_blk/main.c +1 -1
index f10369ad90f7..ceb7aeca5d9b 100644
@@ -223,7 +223,7 @@ MODULE_PARM_DESC(discard, "Support discard operations (requires memory-backed nu
 
 static unsigned long g_cache_size;
 module_param_named(cache_size, g_cache_size, ulong, 0444);
-MODULE_PARM_DESC(mbps, "Cache size in MiB for memory-backed device. Default: 0 (none)");
+MODULE_PARM_DESC(cache_size, "Cache size in MiB for memory-backed device. Default: 0 (none)");
 
 static bool g_fua = true;
 module_param_named(fua, g_fua, bool, 0444);
drivers/bus/fsl-mc/fsl-mc-bus.c +3 -0
index 4575d9a4e5ed..dbc8d8f14ce7 100644
@@ -1103,6 +1103,9 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
 	 * Get physical address of MC portal for the root DPRC:
 	 */
 	plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!plat_res)
+		return -EINVAL;
+
 	mc_portal_phys_addr = plat_res->start;
 	mc_portal_size = resource_size(plat_res);
 	mc_portal_base_phys_addr = mc_portal_phys_addr & ~0x3ffffff;
drivers/char/hw_random/Kconfig +1 -0
index b51d9e243f35..f0dde77f50b4 100644
@@ -286,6 +286,7 @@ config HW_RANDOM_INGENIC_TRNG
 config HW_RANDOM_NOMADIK
 	tristate "ST-Ericsson Nomadik Random Number Generator support"
 	depends on ARCH_NOMADIK || COMPILE_TEST
+	depends on ARM_AMBA
 	default HW_RANDOM
 	help
 	  This driver provides kernel-side support for the Random Number
drivers/char/hw_random/ks-sa-rng.c +4 -0
index 36c34252b4f6..3c514b4fbc8a 100644
@@ -231,6 +231,10 @@ static int ks_sa_rng_probe(struct platform_device *pdev)
 	if (IS_ERR(ks_sa_rng->regmap_cfg))
 		return dev_err_probe(dev, -EINVAL, "syscon_node_to_regmap failed\n");
 
+	ks_sa_rng->clk = devm_clk_get_enabled(dev, NULL);
+	if (IS_ERR(ks_sa_rng->clk))
+		return dev_err_probe(dev, PTR_ERR(ks_sa_rng->clk), "Failed to get clock\n");
+
 	pm_runtime_enable(dev);
 	ret = pm_runtime_resume_and_get(dev);
 	if (ret < 0) {
drivers/char/tpm/Kconfig +1 -1
index cf0be8a7939d..db41301e63f2 100644
@@ -29,7 +29,7 @@ if TCG_TPM
 
 config TCG_TPM2_HMAC
 	bool "Use HMAC and encrypted transactions on the TPM bus"
-	default X86_64
+	default n
 	select CRYPTO_ECDH
 	select CRYPTO_LIB_AESCFB
 	select CRYPTO_LIB_SHA256
drivers/cpufreq/scmi-cpufreq.c +10 -0
index beb660ca240c..a2ec1addafc9 100644
@@ -15,6 +15,7 @@
 #include <linux/energy_model.h>
 #include <linux/export.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/pm_opp.h>
 #include <linux/slab.h>
 #include <linux/scmi_protocol.h>
@@ -398,6 +399,15 @@ static bool scmi_dev_used_by_cpus(struct device *scmi_dev)
 			return true;
 	}
 
+	/*
+	 * Older Broadcom STB chips had a "clocks" property for CPU node(s)
+	 * that did not match the SCMI performance protocol node, if we got
+	 * there, it means we had such an older Device Tree, therefore return
+	 * true to preserve backwards compatibility.
+	 */
+	if (of_machine_is_compatible("brcm,brcmstb"))
+		return true;
+
 	return false;
 }
 
drivers/cpuidle/cpuidle-qcom-spm.c +5 -2
index 1fc9968eae19..b6b06a510fd8 100644
@@ -96,20 +96,23 @@ static int spm_cpuidle_register(struct device *cpuidle_dev, int cpu)
 		return -ENODEV;
 
 	saw_node = of_parse_phandle(cpu_node, "qcom,saw", 0);
+	of_node_put(cpu_node);
 	if (!saw_node)
 		return -ENODEV;
 
 	pdev = of_find_device_by_node(saw_node);
 	of_node_put(saw_node);
-	of_node_put(cpu_node);
 	if (!pdev)
 		return -ENODEV;
 
 	data = devm_kzalloc(cpuidle_dev, sizeof(*data), GFP_KERNEL);
-	if (!data)
+	if (!data) {
+		put_device(&pdev->dev);
 		return -ENOMEM;
+	}
 
 	data->spm = dev_get_drvdata(&pdev->dev);
+	put_device(&pdev->dev);
 	if (!data->spm)
 		return -EINVAL;
 
drivers/crypto/hisilicon/debugfs.c +1 -0
index 45e130b901eb..17eb236e9ee4 100644
@@ -888,6 +888,7 @@ static int qm_diff_regs_init(struct hisi_qm *qm,
 		dfx_regs_uninit(qm, qm->debug.qm_diff_regs, ARRAY_SIZE(qm_diff_regs));
 		ret = PTR_ERR(qm->debug.acc_diff_regs);
 		qm->debug.acc_diff_regs = NULL;
+		qm->debug.qm_diff_regs = NULL;
 		return ret;
 	}
 
drivers/crypto/hisilicon/hpre/hpre_main.c +1 -2
index 34d30b783813..a11fe5e27677 100644
@@ -690,6 +690,7 @@ static int hpre_set_user_domain_and_cache(struct hisi_qm *qm)
 
 	/* Config data buffer pasid needed by Kunpeng 920 */
 	hpre_config_pasid(qm);
+	hpre_open_sva_prefetch(qm);
 
 	hpre_enable_clock_gate(qm);
 
@@ -1366,8 +1367,6 @@ static int hpre_pf_probe_init(struct hpre *hpre)
 	if (ret)
 		return ret;
 
-	hpre_open_sva_prefetch(qm);
-
 	hisi_qm_dev_err_init(qm);
 	ret = hpre_show_last_regs_init(qm);
 	if (ret)
drivers/crypto/hisilicon/qm.c +4 -3
index b18692ee7fd5..a9550a05dfbd 100644
@@ -3657,6 +3657,10 @@ static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf,
 	}
 
 	pdev = container_of(dev, struct pci_dev, dev);
+	if (pci_physfn(pdev) != qm->pdev) {
+		pci_err(qm->pdev, "the pdev input does not match the pf!\n");
+		return -EINVAL;
+	}
 
 	*fun_index = pdev->devfn;
 
@@ -4272,9 +4276,6 @@ static void qm_restart_prepare(struct hisi_qm *qm)
 {
 	u32 value;
 
-	if (qm->err_ini->open_sva_prefetch)
-		qm->err_ini->open_sva_prefetch(qm);
-
 	if (qm->ver >= QM_HW_V3)
 		return;
 
drivers/crypto/hisilicon/sec2/sec_main.c +40 -40

98 lines not on this page · raw message

drivers/crypto/hisilicon/zip/zip_main.c +3 -14
index 80c2fcb1d26d..323f53217f0c 100644
@@ -449,10 +449,9 @@ bool hisi_zip_alg_support(struct hisi_qm *qm, u32 alg)
 	return false;
 }
 
-static int hisi_zip_set_high_perf(struct hisi_qm *qm)
+static void hisi_zip_set_high_perf(struct hisi_qm *qm)
 {
 	u32 val;
-	int ret;
 
 	val = readl_relaxed(qm->io_base + HZIP_HIGH_PERF_OFFSET);
 	if (perf_mode == HZIP_HIGH_COMP_PERF)
@@ -462,13 +461,6 @@ static int hisi_zip_set_high_perf(struct hisi_qm *qm)
 
 	/* Set perf mode */
 	writel(val, qm->io_base + HZIP_HIGH_PERF_OFFSET);
-	ret = readl_relaxed_poll_timeout(qm->io_base + HZIP_HIGH_PERF_OFFSET,
-					 val, val == perf_mode, HZIP_DELAY_1_US,
-					 HZIP_POLL_TIMEOUT_US);
-	if (ret)
-		pci_err(qm->pdev, "failed to set perf mode\n");
-
-	return ret;
 }
 
 static void hisi_zip_open_sva_prefetch(struct hisi_qm *qm)
@@ -565,6 +557,7 @@ static int hisi_zip_set_user_domain_and_cache(struct hisi_qm *qm)
 		writel(AXUSER_BASE, base + HZIP_DATA_WUSER_32_63);
 		writel(AXUSER_BASE, base + HZIP_SGL_RUSER_32_63);
 	}
+	hisi_zip_open_sva_prefetch(qm);
 
 	/* let's open all compression/decompression cores */
 	dcomp_bm = qm->cap_tables.dev_cap_table[ZIP_DECOMP_ENABLE_BITMAP_IDX].cap_val;
@@ -576,6 +569,7 @@ static int hisi_zip_set_user_domain_and_cache(struct hisi_qm *qm)
 	       CQC_CACHE_WB_ENABLE | FIELD_PREP(SQC_CACHE_WB_THRD, 1) |
 	       FIELD_PREP(CQC_CACHE_WB_THRD, 1), base + QM_CACHE_CTL);
 
+	hisi_zip_set_high_perf(qm);
 	hisi_zip_enable_clock_gate(qm);
 
 	return 0;
@@ -1171,11 +1165,6 @@ static int hisi_zip_pf_probe_init(struct hisi_zip *hisi_zip)
 	if (ret)
 		return ret;
 
-	ret = hisi_zip_set_high_perf(qm);
-	if (ret)
-		return ret;
-
-	hisi_zip_open_sva_prefetch(qm);
 	hisi_qm_dev_err_init(qm);
 	hisi_zip_debug_regs_clear(qm);
 
drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c +4 -1
index fdeca861933c..903f31dc663e 100644
@@ -232,7 +232,7 @@ static int kmb_ocs_dma_prepare(struct ahash_request *req)
 	struct device *dev = rctx->hcu_dev->dev;
 	unsigned int remainder = 0;
 	unsigned int total;
-	size_t nents;
+	int nents;
 	size_t count;
 	int rc;
 	int i;
@@ -253,6 +253,9 @@ static int kmb_ocs_dma_prepare(struct ahash_request *req)
 	/* Determine the number of scatter gather list entries to process. */
 	nents = sg_nents_for_len(req->src, rctx->sg_data_total - remainder);
 
+	if (nents < 0)
+		return nents;
+
 	/* If there are entries to process, map them. */
 	if (nents) {
 		rctx->sg_dma_nents = dma_map_sg(dev, req->src, nents,
drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +1 -1
index 1493a373baf7..cf68b213c3e6 100644
@@ -1614,7 +1614,7 @@ int otx2_cpt_dl_custom_egrp_create(struct otx2_cptpf_dev *cptpf,
 		return -EINVAL;
 	}
 	err_msg = "Invalid engine group format";
-	strscpy(tmp_buf, ctx->val.vstr, strlen(ctx->val.vstr) + 1);
+	strscpy(tmp_buf, ctx->val.vstr);
 	start = tmp_buf;
 
 	has_se = has_ie = has_ae = false;
drivers/devfreq/event/rockchip-dfi.c +6 -1
index e2a1e4463b6f..712df781436c 100644
@@ -116,6 +116,7 @@ struct rockchip_dfi {
 	int buswidth[DMC_MAX_CHANNELS];
 	int ddrmon_stride;
 	bool ddrmon_ctrl_single;
+	unsigned int count_multiplier;	/* number of data clocks per count */
 };
 
 static int rockchip_dfi_enable(struct rockchip_dfi *dfi)
@@ -435,7 +436,7 @@ static u64 rockchip_ddr_perf_event_get_count(struct perf_event *event)
 
 	switch (event->attr.config) {
 	case PERF_EVENT_CYCLES:
-		count = total.c[0].clock_cycles;
+		count = total.c[0].clock_cycles * dfi->count_multiplier;
 		break;
 	case PERF_EVENT_READ_BYTES:
 		for (i = 0; i < dfi->max_channels; i++)
@@ -656,6 +657,9 @@ static int rockchip_ddr_perf_init(struct rockchip_dfi *dfi)
 		break;
 	}
 
+	if (!dfi->count_multiplier)
+		dfi->count_multiplier = 1;
+
 	ret = perf_pmu_register(pmu, "rockchip_ddr", -1);
 	if (ret)
 		return ret;
@@ -752,6 +756,7 @@ static int rk3588_dfi_init(struct rockchip_dfi *dfi)
 	dfi->max_channels = 4;
 
 	dfi->ddrmon_stride = 0x4000;
+	dfi->count_multiplier = 2;
 
 	return 0;
 };
drivers/devfreq/mtk-cci-devfreq.c +2 -1
index 7ad5225b0381..6e608d92f7e6 100644
@@ -386,7 +386,8 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
 out_free_resources:
 	if (regulator_is_enabled(drv->proc_reg))
 		regulator_disable(drv->proc_reg);
-	if (drv->sram_reg && regulator_is_enabled(drv->sram_reg))
+	if (!IS_ERR_OR_NULL(drv->sram_reg) &&
+	    regulator_is_enabled(drv->sram_reg))
 		regulator_disable(drv->sram_reg);
 
 	return ret;
drivers/edac/i10nm_base.c +14 -0
index ac4b3d95531c..d8cd12d906a7 100644
@@ -967,6 +967,15 @@ static bool i10nm_check_ecc(struct skx_imc *imc, int chan)
 	return !!GET_BITFIELD(mcmtr, 2, 2);
 }
 
+static bool i10nm_channel_disabled(struct skx_imc *imc, int chan)
+{
+	u32 mcmtr = I10NM_GET_MCMTR(imc, chan);
+
+	edac_dbg(1, "mc%d ch%d mcmtr reg %x\n", imc->mc, chan, mcmtr);
+
+	return (mcmtr == ~0 || GET_BITFIELD(mcmtr, 18, 18));
+}
+
 static int i10nm_get_dimm_config(struct mem_ctl_info *mci,
 				 struct res_config *cfg)
 {
@@ -980,6 +989,11 @@ static int i10nm_get_dimm_config(struct mem_ctl_info *mci,
 		if (!imc->mbase)
 			continue;
 
+		if (i10nm_channel_disabled(imc, i)) {
+			edac_dbg(1, "mc%d ch%d is disabled.\n", imc->mc, i);
+			continue;
+		}
+
 		ndimms = 0;
 
 		if (res_cfg->type != GNR)
drivers/firmware/arm_scmi/transports/virtio.c +3 -0
index d349766bc0b2..f78b87f33403 100644
@@ -870,6 +870,9 @@ static int scmi_vio_probe(struct virtio_device *vdev)
 	/* Ensure initialized scmi_vdev is visible */
 	smp_store_mb(scmi_vdev, vdev);
 
+	/* Set device ready */
+	virtio_device_ready(vdev);
+
 	ret = platform_driver_register(&scmi_virtio_driver);
 	if (ret) {
 		vdev->priv = NULL;
drivers/firmware/meson/Kconfig +1 -1
index f2fdd3756648..179f5d46d8dd 100644
@@ -5,7 +5,7 @@
 config MESON_SM
 	tristate "Amlogic Secure Monitor driver"
 	depends on ARCH_MESON || COMPILE_TEST
-	default y
+	default ARCH_MESON
 	depends on ARM64_4K_PAGES
 	help
 	  Say y here to enable the Amlogic secure monitor driver
drivers/gpu/drm/amd/amdgpu/uvd_v3_1.c +25 -4
index 805d6662c88b..21376d98ee49 100644
@@ -623,7 +623,22 @@ static void uvd_v3_1_enable_mgcg(struct amdgpu_device *adev,
  *
  * @handle: handle used to pass amdgpu_device pointer
  *
- * Initialize the hardware, boot up the VCPU and do some testing
+ * Initialize the hardware, boot up the VCPU and do some testing.
+ *
+ * On SI, the UVD is meant to be used in a specific power state,
+ * or alternatively the driver can manually enable its clock.
+ * In amdgpu we use the dedicated UVD power state when DPM is enabled.
+ * Calling amdgpu_dpm_enable_uvd makes DPM select the UVD power state
+ * for the SMU and afterwards enables the UVD clock.
+ * This is automatically done by amdgpu_uvd_ring_begin_use when work
+ * is submitted to the UVD ring. Here, we have to call it manually
+ * in order to power up UVD before firmware validation.
+ *
+ * Note that we must not disable the UVD clock here, as that would
+ * cause the ring test to fail. However, UVD is powered off
+ * automatically after the ring test: amdgpu_uvd_ring_end_use calls
+ * the UVD idle work handler which will disable the UVD clock when
+ * all fences are signalled.
  */
 static int uvd_v3_1_hw_init(void *handle)
 {
@@ -633,6 +648,15 @@ static int uvd_v3_1_hw_init(void *handle)
 	int r;
 
 	uvd_v3_1_mc_resume(adev);
+	uvd_v3_1_enable_mgcg(adev, true);
+
+	/* Make sure UVD is powered during FW validation.
+	 * It's going to be automatically powered off after the ring test.
+	 */
+	if (adev->pm.dpm_enabled)
+		amdgpu_dpm_enable_uvd(adev, true);
+	else
+		amdgpu_asic_set_uvd_clocks(adev, 53300, 40000);
 
 	r = uvd_v3_1_fw_validate(adev);
 	if (r) {
@@ -640,9 +664,6 @@ static int uvd_v3_1_hw_init(void *handle)
 		return r;
 	}
 
-	uvd_v3_1_enable_mgcg(adev, true);
-	amdgpu_asic_set_uvd_clocks(adev, 53300, 40000);
-
 	uvd_v3_1_start(adev);
 
 	r = amdgpu_ring_test_helper(ring);
drivers/gpu/drm/amd/amdkfd/kfd_svm.c +1 -1
index 3e9e0f36cd3f..a8d4b3a3e77a 100644
@@ -4231,7 +4231,7 @@ svm_ioctl(struct kfd_process *p, enum kfd_ioctl_svm_op op, uint64_t start,
 		r = svm_range_get_attr(p, mm, start, size, nattrs, attrs);
 		break;
 	default:
-		r = EINVAL;
+		r = -EINVAL;
 		break;
 	}
 
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_rq_dlg_calc_32.c +0 -1
index 9ba6cb67655f..6c75aa82327a 100644
@@ -139,7 +139,6 @@ void dml32_rq_dlg_get_rq_reg(display_rq_regs_st *rq_regs,
 	if (dual_plane) {
 		unsigned int p1_pte_row_height_linear = get_dpte_row_height_linear_c(mode_lib, e2e_pipe_param,
 				num_pipes, pipe_idx);
-		;
 		if (src->sw_mode == dm_sw_linear)
 			ASSERT(p1_pte_row_height_linear >= 8);
 
drivers/gpu/drm/amd/pm/amdgpu_dpm_internal.c +7 -0
index 42efe838fa85..2d2d2d5e6763 100644
@@ -66,6 +66,13 @@ u32 amdgpu_dpm_get_vblank_time(struct amdgpu_device *adev)
 					(amdgpu_crtc->v_border * 2));
 
 				vblank_time_us = vblank_in_pixels * 1000 / amdgpu_crtc->hw_mode.clock;
+
+				/* we have issues with mclk switching with
+				 * refresh rates over 120 hz on the non-DC code.
+				 */
+				if (drm_mode_vrefresh(&amdgpu_crtc->hw_mode) > 120)
+					vblank_time_us = 0;
+
 				break;
 			}
 		}
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +65 -27

139 lines not on this page · raw message

drivers/gpu/drm/bridge/Kconfig +1 -0
index 3eb955333c80..66369b6a023f 100644
@@ -101,6 +101,7 @@ config DRM_ITE_IT6505
 	select EXTCON
 	select CRYPTO
 	select CRYPTO_HASH
+	select REGMAP_I2C
 	help
 	  ITE IT6505 DisplayPort bridge chip driver.
 
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c +1 -1
index 07035ab77b79..4597fdb65358 100644
@@ -445,7 +445,7 @@ static void _dpu_encoder_phys_wb_handle_wbdone_timeout(
 static int dpu_encoder_phys_wb_wait_for_commit_done(
 		struct dpu_encoder_phys *phys_enc)
 {
-	unsigned long ret;
+	int ret;
 	struct dpu_encoder_wait_info wait_info;
 	struct dpu_encoder_phys_wb *wb_enc = to_dpu_encoder_phys_wb(phys_enc);
 
drivers/gpu/drm/panel/panel-novatek-nt35560.c +1 -1
index 5bbea734123b..ee04c55175bb 100644
@@ -161,7 +161,7 @@ static int nt35560_set_brightness(struct backlight_device *bl)
 		par = 0x00;
 		ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY,
 					 &par, 1);
-		if (ret) {
+		if (ret < 0) {
 			dev_err(nt->dev, "failed to disable display backlight (%d)\n", ret);
 			return ret;
 		}
drivers/gpu/drm/radeon/r600_cs.c +2 -2
index ac77d1246b94..811265648a58 100644
@@ -1408,7 +1408,7 @@ static void r600_texture_size(unsigned nfaces, unsigned blevel, unsigned llevel,
 			      unsigned block_align, unsigned height_align, unsigned base_align,
 			      unsigned *l0_size, unsigned *mipmap_size)
 {
-	unsigned offset, i, level;
+	unsigned offset, i;
 	unsigned width, height, depth, size;
 	unsigned blocksize;
 	unsigned nbx, nby;
@@ -1420,7 +1420,7 @@ static void r600_texture_size(unsigned nfaces, unsigned blevel, unsigned llevel,
 	w0 = r600_mip_minify(w0, 0);
 	h0 = r600_mip_minify(h0, 0);
 	d0 = r600_mip_minify(d0, 0);
-	for(i = 0, offset = 0, level = blevel; i < nlevels; i++, level++) {
+	for (i = 0, offset = 0; i < nlevels; i++) {
 		width = r600_mip_minify(w0, i);
 		nbx = r600_fmt_get_nblocksx(format, width);
 
drivers/hid/hidraw.c +122 -102

262 lines not on this page · raw message

drivers/hwmon/mlxreg-fan.c +16 -8
index c25a54d5b39a..0ba9195c9d71 100644
@@ -113,8 +113,8 @@ struct mlxreg_fan {
 	int divider;
 };
 
-static int mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
-				    unsigned long state);
+static int _mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
+				     unsigned long state, bool thermal);
 
 static int
 mlxreg_fan_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
@@ -224,8 +224,9 @@ mlxreg_fan_write(struct device *dev, enum hwmon_sensor_types type, u32 attr,
 				 * last thermal state.
 				 */
 				if (pwm->last_hwmon_state >= pwm->last_thermal_state)
-					return mlxreg_fan_set_cur_state(pwm->cdev,
-									pwm->last_hwmon_state);
+					return _mlxreg_fan_set_cur_state(pwm->cdev,
+									 pwm->last_hwmon_state,
+									 false);
 				return 0;
 			}
 			return regmap_write(fan->regmap, pwm->reg, val);
@@ -357,9 +358,8 @@ static int mlxreg_fan_get_cur_state(struct thermal_cooling_device *cdev,
 	return 0;
 }
 
-static int mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
-				    unsigned long state)
-
+static int _mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
+				     unsigned long state, bool thermal)
 {
 	struct mlxreg_fan_pwm *pwm = cdev->devdata;
 	struct mlxreg_fan *fan = pwm->fan;
@@ -369,7 +369,8 @@ static int mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
 		return -EINVAL;
 
 	/* Save thermal state. */
-	pwm->last_thermal_state = state;
+	if (thermal)
+		pwm->last_thermal_state = state;
 
 	state = max_t(unsigned long, state, pwm->last_hwmon_state);
 	err = regmap_write(fan->regmap, pwm->reg,
@@ -381,6 +382,13 @@ static int mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
 	return 0;
 }
 
+static int mlxreg_fan_set_cur_state(struct thermal_cooling_device *cdev,
+				    unsigned long state)
+
+{
+	return _mlxreg_fan_set_cur_state(cdev, state, true);
+}
+
 static const struct thermal_cooling_device_ops mlxreg_fan_cooling_ops = {
 	.get_max_state	= mlxreg_fan_get_max_state,
 	.get_cur_state	= mlxreg_fan_get_cur_state,
drivers/hwtracing/coresight/coresight-catu.c +17 -5
index 25fd02955c38..abfff42b20c9 100644
@@ -521,6 +521,10 @@ static int __catu_probe(struct device *dev, struct resource *res)
 	struct coresight_platform_data *pdata = NULL;
 	void __iomem *base;
 
+	drvdata->atclk = devm_clk_get_optional_enabled(dev, "atclk");
+	if (IS_ERR(drvdata->atclk))
+		return PTR_ERR(drvdata->atclk);
+
 	catu_desc.name = coresight_alloc_device_name(&catu_devs, dev);
 	if (!catu_desc.name)
 		return -ENOMEM;
@@ -668,18 +672,26 @@ static int catu_runtime_suspend(struct device *dev)
 {
 	struct catu_drvdata *drvdata = dev_get_drvdata(dev);
 
-	if (drvdata && !IS_ERR_OR_NULL(drvdata->pclk))
-		clk_disable_unprepare(drvdata->pclk);
+	clk_disable_unprepare(drvdata->atclk);
+	clk_disable_unprepare(drvdata->pclk);
+
 	return 0;
 }
 
 static int catu_runtime_resume(struct device *dev)
 {
 	struct catu_drvdata *drvdata = dev_get_drvdata(dev);
+	int ret;
 
-	if (drvdata && !IS_ERR_OR_NULL(drvdata->pclk))
-		clk_prepare_enable(drvdata->pclk);
-	return 0;
+	ret = clk_prepare_enable(drvdata->pclk);
+	if (ret)
+		return ret;
+
+	ret = clk_prepare_enable(drvdata->atclk);
+	if (ret)
+		clk_disable_unprepare(drvdata->pclk);
+
+	return ret;
 }
 #endif
 
drivers/hwtracing/coresight/coresight-catu.h +1 -0
index 755776cd19c5..6e6b7aac206d 100644
@@ -62,6 +62,7 @@
 
 struct catu_drvdata {
 	struct clk *pclk;
+	struct clk *atclk;
 	void __iomem *base;
 	struct coresight_device *csdev;
 	int irq;
drivers/hwtracing/coresight/coresight-core.c +3 -2
index b7941d8abbfe..f20d4cab8f1d 100644
@@ -1200,8 +1200,9 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
 		goto out_unlock;
 	}
 
-	if (csdev->type == CORESIGHT_DEV_TYPE_SINK ||
-	    csdev->type == CORESIGHT_DEV_TYPE_LINKSINK) {
+	if ((csdev->type == CORESIGHT_DEV_TYPE_SINK ||
+	     csdev->type == CORESIGHT_DEV_TYPE_LINKSINK) &&
+	    sink_ops(csdev)->alloc_buffer) {
 		ret = etm_perf_add_symlink_sink(csdev);
 
 		if (ret) {
drivers/hwtracing/coresight/coresight-etm4x-core.c +23 -8
index be8b46f26ddc..7b9eaeb115d2 100644
@@ -481,7 +481,8 @@ static int etm4_enable_hw(struct etmv4_drvdata *drvdata)
 		etm4x_relaxed_write32(csa, config->seq_rst, TRCSEQRSTEVR);
 		etm4x_relaxed_write32(csa, config->seq_state, TRCSEQSTR);
 	}
-	etm4x_relaxed_write32(csa, config->ext_inp, TRCEXTINSELR);
+	if (drvdata->numextinsel)
+		etm4x_relaxed_write32(csa, config->ext_inp, TRCEXTINSELR);
 	for (i = 0; i < drvdata->nr_cntr; i++) {
 		etm4x_relaxed_write32(csa, config->cntrldvr[i], TRCCNTRLDVRn(i));
 		etm4x_relaxed_write32(csa, config->cntr_ctrl[i], TRCCNTCTLRn(i));
@@ -1362,6 +1363,7 @@ static void etm4_init_arch_data(void *info)
 	etmidr5 = etm4x_relaxed_read32(csa, TRCIDR5);
 	/* NUMEXTIN, bits[8:0] number of external inputs implemented */
 	drvdata->nr_ext_inp = FIELD_GET(TRCIDR5_NUMEXTIN_MASK, etmidr5);
+	drvdata->numextinsel = FIELD_GET(TRCIDR5_NUMEXTINSEL_MASK, etmidr5);
 	/* TRACEIDSIZE, bits[21:16] indicates the trace ID width */
 	drvdata->trcid_size = FIELD_GET(TRCIDR5_TRACEIDSIZE_MASK, etmidr5);
 	/* ATBTRIG, bit[22] implementation can support ATB triggers? */
@@ -1789,7 +1791,9 @@ static int __etm4_cpu_save(struct etmv4_drvdata *drvdata)
 		state->trcseqrstevr = etm4x_read32(csa, TRCSEQRSTEVR);
 		state->trcseqstr = etm4x_read32(csa, TRCSEQSTR);
 	}
-	state->trcextinselr = etm4x_read32(csa, TRCEXTINSELR);
+
+	if (drvdata->numextinsel)
+		state->trcextinselr = etm4x_read32(csa, TRCEXTINSELR);
 
 	for (i = 0; i < drvdata->nr_cntr; i++) {
 		state->trccntrldvr[i] = etm4x_read32(csa, TRCCNTRLDVRn(i));
@@ -1921,7 +1925,8 @@ static void __etm4_cpu_restore(struct etmv4_drvdata *drvdata)
 		etm4x_relaxed_write32(csa, state->trcseqrstevr, TRCSEQRSTEVR);
 		etm4x_relaxed_write32(csa, state->trcseqstr, TRCSEQSTR);
 	}
-	etm4x_relaxed_write32(csa, state->trcextinselr, TRCEXTINSELR);
+	if (drvdata->numextinsel)
+		etm4x_relaxed_write32(csa, state->trcextinselr, TRCEXTINSELR);
 
 	for (i = 0; i < drvdata->nr_cntr; i++) {
 		etm4x_relaxed_write32(csa, state->trccntrldvr[i], TRCCNTRLDVRn(i));
@@ -2152,6 +2157,10 @@ static int etm4_probe(struct device *dev)
 	if (WARN_ON(!drvdata))
 		return -ENOMEM;
 
+	drvdata->atclk = devm_clk_get_optional_enabled(dev, "atclk");
+	if (IS_ERR(drvdata->atclk))
+		return PTR_ERR(drvdata->atclk);
+
 	if (pm_save_enable == PARAM_PM_SAVE_FIRMWARE)
 		pm_save_enable = coresight_loses_context_with_cpu(dev) ?
 			       PARAM_PM_SAVE_SELF_HOSTED : PARAM_PM_SAVE_NEVER;
@@ -2400,8 +2409,8 @@ static int etm4_runtime_suspend(struct device *dev)
 {
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
 
-	if (drvdata->pclk && !IS_ERR(drvdata->pclk))
-		clk_disable_unprepare(drvdata->pclk);
+	clk_disable_unprepare(drvdata->atclk);
+	clk_disable_unprepare(drvdata->pclk);
 
 	return 0;
 }
@@ -2409,11 +2418,17 @@ static int etm4_runtime_suspend(struct device *dev)
 static int etm4_runtime_resume(struct device *dev)
 {
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
+	int ret;
 
-	if (drvdata->pclk && !IS_ERR(drvdata->pclk))
-		clk_prepare_enable(drvdata->pclk);
+	ret = clk_prepare_enable(drvdata->pclk);
+	if (ret)
+		return ret;
 
-	return 0;
+	ret = clk_prepare_enable(drvdata->atclk);
+	if (ret)
+		clk_disable_unprepare(drvdata->pclk);
+
+	return ret;
 }
 #endif
 
drivers/hwtracing/coresight/coresight-etm4x.h +5 -1
index 9e9165f62e81..3683966bd060 100644
@@ -162,6 +162,7 @@
 #define TRCIDR4_NUMVMIDC_MASK			GENMASK(31, 28)
 
 #define TRCIDR5_NUMEXTIN_MASK			GENMASK(8, 0)
+#define TRCIDR5_NUMEXTINSEL_MASK               GENMASK(11, 9)
 #define TRCIDR5_TRACEIDSIZE_MASK		GENMASK(21, 16)
 #define TRCIDR5_ATBTRIG				BIT(22)
 #define TRCIDR5_LPOVERRIDE			BIT(23)
@@ -919,7 +920,8 @@ struct etmv4_save_state {
 
 /**
  * struct etm4_drvdata - specifics associated to an ETM component
- * @pclk        APB clock if present, otherwise NULL
+ * @pclk:       APB clock if present, otherwise NULL
+ * @atclk:      Optional clock for the core parts of the ETMv4.
  * @base:       Memory mapped base address for this component.
  * @csdev:      Component vitals needed by the framework.
  * @spinlock:   Only one at a time pls.
@@ -987,6 +989,7 @@ struct etmv4_save_state {
  */
 struct etmv4_drvdata {
 	struct clk			*pclk;
+	struct clk			*atclk;
 	void __iomem			*base;
 	struct coresight_device		*csdev;
 	spinlock_t			spinlock;
@@ -998,6 +1001,7 @@ struct etmv4_drvdata {
 	u8				nr_cntr;
 	u8				nr_ext_inp;
 	u8				numcidc;
+	u8				numextinsel;
 	u8				numvmidc;
 	u8				nrseqstate;
 	u8				nr_event;
drivers/hwtracing/coresight/coresight-tmc-core.c +17 -5
index 475fa4bb6813..96ef2517dd43 100644
@@ -480,6 +480,10 @@ static int __tmc_probe(struct device *dev, struct resource *res)
 	struct coresight_desc desc = { 0 };
 	struct coresight_dev_list *dev_list = NULL;
 
+	drvdata->atclk = devm_clk_get_optional_enabled(dev, "atclk");
+	if (IS_ERR(drvdata->atclk))
+		return PTR_ERR(drvdata->atclk);
+
 	ret = -ENOMEM;
 
 	/* Validity for the resource is already checked by the AMBA core */
@@ -700,18 +704,26 @@ static int tmc_runtime_suspend(struct device *dev)
 {
 	struct tmc_drvdata *drvdata = dev_get_drvdata(dev);
 
-	if (drvdata && !IS_ERR_OR_NULL(drvdata->pclk))
-		clk_disable_unprepare(drvdata->pclk);
+	clk_disable_unprepare(drvdata->atclk);
+	clk_disable_unprepare(drvdata->pclk);
+
 	return 0;
 }
 
 static int tmc_runtime_resume(struct device *dev)
 {
 	struct tmc_drvdata *drvdata = dev_get_drvdata(dev);
+	int ret;
 
-	if (drvdata && !IS_ERR_OR_NULL(drvdata->pclk))
-		clk_prepare_enable(drvdata->pclk);
-	return 0;
+	ret = clk_prepare_enable(drvdata->pclk);
+	if (ret)
+		return ret;
+
+	ret = clk_prepare_enable(drvdata->atclk);
+	if (ret)
+		clk_disable_unprepare(drvdata->pclk);
+
+	return ret;
 }
 #endif
 
drivers/hwtracing/coresight/coresight-tmc.h +2 -0
index 2671926be62a..2a53acbb5990 100644
@@ -166,6 +166,7 @@ struct etr_buf {
 
 /**
  * struct tmc_drvdata - specifics associated to an TMC component
+ * @atclk:	optional clock for the core parts of the TMC.
  * @pclk:	APB clock if present, otherwise NULL
  * @base:	memory mapped base address for this component.
  * @csdev:	component vitals needed by the framework.
@@ -191,6 +192,7 @@ struct etr_buf {
  * @perf_buf:	PERF buffer for ETR.
  */
 struct tmc_drvdata {
+	struct clk		*atclk;
 	struct clk		*pclk;
 	void __iomem		*base;
 	struct coresight_device	*csdev;
drivers/hwtracing/coresight/coresight-tpda.c +3 -0
index bfca103f9f84..865fd6273e5e 100644
@@ -71,12 +71,15 @@ static int tpdm_read_element_size(struct tpda_drvdata *drvdata,
 	if (tpdm_has_dsb_dataset(tpdm_data)) {
 		rc = fwnode_property_read_u32(dev_fwnode(csdev->dev.parent),
 				"qcom,dsb-element-bits", &drvdata->dsb_esize);
+		if (rc)
+			goto out;
 	}
 	if (tpdm_has_cmb_dataset(tpdm_data)) {
 		rc = fwnode_property_read_u32(dev_fwnode(csdev->dev.parent),
 				"qcom,cmb-element-bits", &drvdata->cmb_esize);
 	}
 
+out:
 	if (rc)
 		dev_warn_once(&csdev->dev,
 			"Failed to read TPDM Element size: %d\n", rc);
drivers/hwtracing/coresight/coresight-trbe.c +6 -5
index 96a32b213669..d771980a278d 100644
@@ -22,7 +22,8 @@
 #include "coresight-self-hosted-trace.h"
 #include "coresight-trbe.h"
 
-#define PERF_IDX2OFF(idx, buf) ((idx) % ((buf)->nr_pages << PAGE_SHIFT))
+#define PERF_IDX2OFF(idx, buf) \
+	((idx) % ((unsigned long)(buf)->nr_pages << PAGE_SHIFT))
 
 /*
  * A padding packet that will help the user space tools
@@ -744,12 +745,12 @@ static void *arm_trbe_alloc_buffer(struct coresight_device *csdev,
 
 	buf = kzalloc_node(sizeof(*buf), GFP_KERNEL, trbe_alloc_node(event));
 	if (!buf)
-		return ERR_PTR(-ENOMEM);
+		return NULL;
 
 	pglist = kcalloc(nr_pages, sizeof(*pglist), GFP_KERNEL);
 	if (!pglist) {
 		kfree(buf);
-		return ERR_PTR(-ENOMEM);
+		return NULL;
 	}
 
 	for (i = 0; i < nr_pages; i++)
@@ -759,7 +760,7 @@ static void *arm_trbe_alloc_buffer(struct coresight_device *csdev,
 	if (!buf->trbe_base) {
 		kfree(pglist);
 		kfree(buf);
-		return ERR_PTR(-ENOMEM);
+		return NULL;
 	}
 	buf->trbe_limit = buf->trbe_base + nr_pages * PAGE_SIZE;
 	buf->trbe_write = buf->trbe_base;
@@ -1266,7 +1267,7 @@ static void arm_trbe_register_coresight_cpu(struct trbe_drvdata *drvdata, int cp
 	 * into the device for that purpose.
 	 */
 	desc.pdata = devm_kzalloc(dev, sizeof(*desc.pdata), GFP_KERNEL);
-	if (IS_ERR(desc.pdata))
+	if (!desc.pdata)
 		goto cpu_clear;
 
 	desc.type = CORESIGHT_DEV_TYPE_SINK;
drivers/i2c/busses/i2c-designware-platdrv.c +4 -1
index ef9bed2f2dcc..24c0ada72f6a 100644
@@ -311,6 +311,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
 
 exit_probe:
 	dw_i2c_plat_pm_cleanup(dev);
+	i2c_dw_prepare_clk(dev, false);
 exit_reset:
 	reset_control_assert(dev->rst);
 	return ret;
@@ -328,9 +329,11 @@ static void dw_i2c_plat_remove(struct platform_device *pdev)
 	i2c_dw_disable(dev);
 
 	pm_runtime_dont_use_autosuspend(device);
-	pm_runtime_put_sync(device);
+	pm_runtime_put_noidle(device);
 	dw_i2c_plat_pm_cleanup(dev);
 
+	i2c_dw_prepare_clk(dev, false);
+
 	i2c_dw_remove_lock_support(dev);
 
 	reset_control_assert(dev->rst);
drivers/i2c/busses/i2c-mt65xx.c +10 -7
index e0ba653dec2d..8beef73960c7 100644
@@ -1243,6 +1243,7 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 {
 	int ret;
 	int left_num = num;
+	bool write_then_read_en = false;
 	struct mtk_i2c *i2c = i2c_get_adapdata(adap);
 
 	ret = clk_bulk_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
@@ -1256,6 +1257,7 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 		if (!(msgs[0].flags & I2C_M_RD) && (msgs[1].flags & I2C_M_RD) &&
 		    msgs[0].addr == msgs[1].addr) {
 			i2c->auto_restart = 0;
+			write_then_read_en = true;
 		}
 	}
 
@@ -1280,12 +1282,10 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 		else
 			i2c->op = I2C_MASTER_WR;
 
-		if (!i2c->auto_restart) {
-			if (num > 1) {
-				/* combined two messages into one transaction */
-				i2c->op = I2C_MASTER_WRRD;
-				left_num--;
-			}
+		if (write_then_read_en) {
+			/* combined two messages into one transaction */
+			i2c->op = I2C_MASTER_WRRD;
+			left_num--;
 		}
 
 		/* always use DMA mode. */
@@ -1293,7 +1293,10 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 		if (ret < 0)
 			goto err_exit;
 
-		msgs++;
+		if (i2c->op == I2C_MASTER_WRRD)
+			msgs += 2;
+		else
+			msgs++;
 	}
 	/* the return value is number of executed messages */
 	ret = num;
drivers/i3c/master/svc-i3c-master.c +26 -5
index 474a96ebda22..a1945bf9ef19 100644
@@ -377,6 +377,7 @@ static int svc_i3c_master_handle_ibi(struct svc_i3c_master *master,
 						SVC_I3C_MSTATUS_COMPLETE(val), 0, 1000);
 	if (ret) {
 		dev_err(master->dev, "Timeout when polling for COMPLETE\n");
+		i3c_generic_ibi_recycle_slot(data->ibi_pool, slot);
 		return ret;
 	}
 
@@ -438,9 +439,24 @@ static void svc_i3c_master_ibi_work(struct work_struct *work)
 	 */
 	writel(SVC_I3C_MINT_IBIWON, master->regs + SVC_I3C_MSTATUS);
 
-	/* Acknowledge the incoming interrupt with the AUTOIBI mechanism */
-	writel(SVC_I3C_MCTRL_REQUEST_AUTO_IBI |
-	       SVC_I3C_MCTRL_IBIRESP_AUTO,
+	/*
+	 * Write REQUEST_START_ADDR request to emit broadcast address for arbitration,
+	 * instend of using AUTO_IBI.
+	 *
+	 * Using AutoIBI request may cause controller to remain in AutoIBI state when
+	 * there is a glitch on SDA line (high->low->high).
+	 * 1. SDA high->low, raising an interrupt to execute IBI isr.
+	 * 2. SDA low->high.
+	 * 3. IBI isr writes an AutoIBI request.
+	 * 4. The controller will not start AutoIBI process because SDA is not low.
+	 * 5. IBIWON polling times out.
+	 * 6. Controller reamins in AutoIBI state and doesn't accept EmitStop request.
+	 */
+	writel(SVC_I3C_MCTRL_REQUEST_START_ADDR |
+	       SVC_I3C_MCTRL_TYPE_I3C |
+	       SVC_I3C_MCTRL_IBIRESP_MANUAL |
+	       SVC_I3C_MCTRL_DIR(SVC_I3C_MCTRL_DIR_WRITE) |
+	       SVC_I3C_MCTRL_ADDR(I3C_BROADCAST_ADDR),
 	       master->regs + SVC_I3C_MCTRL);
 
 	/* Wait for IBIWON, should take approximately 100us */
@@ -460,10 +476,15 @@ static void svc_i3c_master_ibi_work(struct work_struct *work)
 	switch (ibitype) {
 	case SVC_I3C_MSTATUS_IBITYPE_IBI:
 		dev = svc_i3c_master_dev_from_addr(master, ibiaddr);
-		if (!dev || !is_events_enabled(master, SVC_I3C_EVENT_IBI))
+		if (!dev || !is_events_enabled(master, SVC_I3C_EVENT_IBI)) {
 			svc_i3c_master_nack_ibi(master);
-		else
+		} else {
+			if (dev->info.bcr & I3C_BCR_IBI_PAYLOAD)
+				svc_i3c_master_ack_ibi(master, true);
+			else
+				svc_i3c_master_ack_ibi(master, false);
 			svc_i3c_master_handle_ibi(master, dev);
+		}
 		break;
 	case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
 		if (is_events_enabled(master, SVC_I3C_EVENT_HOTJOIN))
drivers/iio/inkern.c +15 -15
index 1155487f7aea..85ba80c57d08 100644
@@ -10,6 +10,7 @@
 #include <linux/mutex.h>
 #include <linux/property.h>
 #include <linux/slab.h>
+#include <linux/units.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/iio-opaque.h>
@@ -602,7 +603,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
 {
 	int scale_type, scale_val, scale_val2;
 	int offset_type, offset_val, offset_val2;
-	s64 raw64 = raw;
+	s64 denominator, raw64 = raw;
 
 	offset_type = iio_channel_read(chan, &offset_val, &offset_val2,
 				       IIO_CHAN_INFO_OFFSET);
@@ -637,7 +638,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
 		 * If no channel scaling is available apply consumer scale to
 		 * raw value and return.
 		 */
-		*processed = raw * scale;
+		*processed = raw64 * scale;
 		return 0;
 	}
 
@@ -646,20 +647,19 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
 		*processed = raw64 * scale_val * scale;
 		break;
 	case IIO_VAL_INT_PLUS_MICRO:
-		if (scale_val2 < 0)
-			*processed = -raw64 * scale_val * scale;
-		else
-			*processed = raw64 * scale_val * scale;
-		*processed += div_s64(raw64 * (s64)scale_val2 * scale,
-				      1000000LL);
-		break;
 	case IIO_VAL_INT_PLUS_NANO:
-		if (scale_val2 < 0)
-			*processed = -raw64 * scale_val * scale;
-		else
-			*processed = raw64 * scale_val * scale;
-		*processed += div_s64(raw64 * (s64)scale_val2 * scale,
-				      1000000000LL);
+		switch (scale_type) {
+		case IIO_VAL_INT_PLUS_MICRO:
+			denominator = MICRO;
+			break;
+		case IIO_VAL_INT_PLUS_NANO:
+			denominator = NANO;
+			break;
+		}
+		*processed = raw64 * scale * abs(scale_val);
+		*processed += div_s64(raw64 * scale * abs(scale_val2), denominator);
+		if (scale_val < 0 || scale_val2 < 0)
+			*processed *= -1;
 		break;
 	case IIO_VAL_FRACTIONAL:
 		*processed = div_s64(raw64 * (s64)scale_val * scale,
drivers/infiniband/core/addr.c +3 -7
index be0743dac3ff..929e89841c12 100644
@@ -454,14 +454,10 @@ static int addr_resolve_neigh(const struct dst_entry *dst,
 {
 	int ret = 0;
 
-	if (ndev_flags & IFF_LOOPBACK) {
+	if (ndev_flags & IFF_LOOPBACK)
 		memcpy(addr->dst_dev_addr, addr->src_dev_addr, MAX_ADDR_LEN);
-	} else {
-		if (!(ndev_flags & IFF_NOARP)) {
-			/* If the device doesn't do ARP internally */
-			ret = fetch_ha(dst, addr, dst_in, seq);
-		}
-	}
+	else
+		ret = fetch_ha(dst, addr, dst_in, seq);
 	return ret;
 }
 
drivers/infiniband/core/cm.c +2 -2
index d45e3909dafe..50bb3c43f40b 100644
@@ -1032,8 +1032,8 @@ static noinline void cm_destroy_id_wait_timeout(struct ib_cm_id *cm_id,
 	struct cm_id_private *cm_id_priv;
 
 	cm_id_priv = container_of(cm_id, struct cm_id_private, id);
-	pr_err("%s: cm_id=%p timed out. state %d -> %d, refcnt=%d\n", __func__,
-	       cm_id, old_state, cm_id->state, refcount_read(&cm_id_priv->refcount));
+	pr_err_ratelimited("%s: cm_id=%p timed out. state %d -> %d, refcnt=%d\n", __func__,
+			   cm_id, old_state, cm_id->state, refcount_read(&cm_id_priv->refcount));
 }
 
 static void cm_destroy_id(struct ib_cm_id *cm_id, int err)
drivers/infiniband/core/sa_query.c +4 -2
index 53571e6b3162..66df5bed6a56 100644
@@ -1013,6 +1013,8 @@ int ib_nl_handle_set_timeout(struct sk_buff *skb,
 	if (timeout > IB_SA_LOCAL_SVC_TIMEOUT_MAX)
 		timeout = IB_SA_LOCAL_SVC_TIMEOUT_MAX;
 
+	spin_lock_irqsave(&ib_nl_request_lock, flags);
+
 	delta = timeout - sa_local_svc_timeout_ms;
 	if (delta < 0)
 		abs_delta = -delta;
@@ -1020,7 +1022,6 @@ int ib_nl_handle_set_timeout(struct sk_buff *skb,
 		abs_delta = delta;
 
 	if (delta != 0) {
-		spin_lock_irqsave(&ib_nl_request_lock, flags);
 		sa_local_svc_timeout_ms = timeout;
 		list_for_each_entry(query, &ib_nl_request_list, list) {
 			if (delta < 0 && abs_delta > query->timeout)
@@ -1038,9 +1039,10 @@ int ib_nl_handle_set_timeout(struct sk_buff *skb,
 		if (delay)
 			mod_delayed_work(ib_nl_wq, &ib_nl_timed_work,
 					 (unsigned long)delay);
-		spin_unlock_irqrestore(&ib_nl_request_lock, flags);
 	}
 
+	spin_unlock_irqrestore(&ib_nl_request_lock, flags);
+
 settimeout_out:
 	return 0;
 }
drivers/infiniband/hw/mlx5/main.c +62 -5

130 lines not on this page · raw message

drivers/infiniband/hw/mlx5/mlx5_ib.h +1 -0
index 29bde64ea1ea..f49cb588a856 100644
@@ -1083,6 +1083,7 @@ struct mlx5_ib_lb_state {
 	u32			user_td;
 	int			qps;
 	bool			enabled;
+	bool			force_enable;
 };
 
 struct mlx5_ib_pf_eq {
drivers/infiniband/sw/rxe/rxe_task.c +6 -2
index 80332638d9e3..be6cd8ce4d97 100644
@@ -132,8 +132,12 @@ static void do_task(struct rxe_task *task)
 		 * yield the cpu and reschedule the task
 		 */
 		if (!ret) {
-			task->state = TASK_STATE_IDLE;
-			resched = 1;
+			if (task->state != TASK_STATE_DRAINING) {
+				task->state = TASK_STATE_IDLE;
+				resched = 1;
+			} else {
+				cont = 1;
+			}
 			goto exit;
 		}
 
drivers/infiniband/sw/siw/siw_verbs.c +14 -11
index 7ca0297d68a4..d0c0cde09f11 100644
@@ -773,7 +773,7 @@ int siw_post_send(struct ib_qp *base_qp, const struct ib_send_wr *wr,
 	struct siw_wqe *wqe = tx_wqe(qp);
 
 	unsigned long flags;
-	int rv = 0;
+	int rv = 0, imm_err = 0;
 
 	if (wr && !rdma_is_kernel_res(&qp->base_qp.res)) {
 		siw_dbg_qp(qp, "wr must be empty for user mapped sq\n");
@@ -959,9 +959,17 @@ int siw_post_send(struct ib_qp *base_qp, const struct ib_send_wr *wr,
 	 * Send directly if SQ processing is not in progress.
 	 * Eventual immediate errors (rv < 0) do not affect the involved
 	 * RI resources (Verbs, 8.3.1) and thus do not prevent from SQ
-	 * processing, if new work is already pending. But rv must be passed
-	 * to caller.
+	 * processing, if new work is already pending. But rv and pointer
+	 * to failed work request must be passed to caller.
 	 */
+	if (unlikely(rv < 0)) {
+		/*
+		 * Immediate error
+		 */
+		siw_dbg_qp(qp, "Immediate error %d\n", rv);
+		imm_err = rv;
+		*bad_wr = wr;
+	}
 	if (wqe->wr_status != SIW_WR_IDLE) {
 		spin_unlock_irqrestore(&qp->sq_lock, flags);
 		goto skip_direct_sending;
@@ -986,15 +994,10 @@ int siw_post_send(struct ib_qp *base_qp, const struct ib_send_wr *wr,
 
 	up_read(&qp->state_lock);
 
-	if (rv >= 0)
-		return 0;
-	/*
-	 * Immediate error
-	 */
-	siw_dbg_qp(qp, "error %d\n", rv);
+	if (unlikely(imm_err))
+		return imm_err;
 
-	*bad_wr = wr;
-	return rv;
+	return (rv >= 0) ? 0 : rv;
 }
 
 /*
drivers/input/misc/uinput.c +1 -0
index 2c51ea9d01d7..13336a2fd49c 100644
@@ -775,6 +775,7 @@ static int uinput_ff_upload_to_user(char __user *buffer,
 	if (in_compat_syscall()) {
 		struct uinput_ff_upload_compat ff_up_compat;
 
+		memset(&ff_up_compat, 0, sizeof(ff_up_compat));
 		ff_up_compat.request_id = ff_up->request_id;
 		ff_up_compat.retval = ff_up->retval;
 		/*
drivers/input/touchscreen/atmel_mxt_ts.c +1 -1
index 3ddabc5a2c99..d7496d47eabe 100644
@@ -3319,7 +3319,7 @@ static int mxt_probe(struct i2c_client *client)
 	if (data->reset_gpio) {
 		/* Wait a while and then de-assert the RESET GPIO line */
 		msleep(MXT_RESET_GPIO_TIME);
-		gpiod_set_value(data->reset_gpio, 0);
+		gpiod_set_value_cansleep(data->reset_gpio, 0);
 		msleep(MXT_RESET_INVALID_CHG);
 	}
 
drivers/iommu/intel/debugfs.c +15 -2
index affbf4a1558d..5aa7f46a420b 100644
@@ -435,8 +435,21 @@ static int domain_translation_struct_show(struct seq_file *m,
 			}
 			pgd &= VTD_PAGE_MASK;
 		} else { /* legacy mode */
-			pgd = context->lo & VTD_PAGE_MASK;
-			agaw = context->hi & 7;
+			u8 tt = (u8)(context->lo & GENMASK_ULL(3, 2)) >> 2;
+
+			/*
+			 * According to Translation Type(TT),
+			 * get the page table pointer(SSPTPTR).
+			 */
+			switch (tt) {
+			case CONTEXT_TT_MULTI_LEVEL:
+			case CONTEXT_TT_DEV_IOTLB:
+				pgd = context->lo & VTD_PAGE_MASK;
+				agaw = context->hi & 7;
+				break;
+			default:
+				goto iommu_unlock;
+			}
 		}
 
 		seq_printf(m, "Device %04x:%02x:%02x.%x ",
drivers/iommu/intel/iommu.h +2 -1
index f521155fb793..df24a62e8ca4 100644
@@ -541,7 +541,8 @@ enum {
 #define pasid_supported(iommu)	(sm_supported(iommu) &&			\
 				 ecap_pasid((iommu)->ecap))
 #define ssads_supported(iommu) (sm_supported(iommu) &&                 \
-				ecap_slads((iommu)->ecap))
+				ecap_slads((iommu)->ecap) &&           \
+				ecap_smpwc(iommu->ecap))
 #define nested_supported(iommu)	(sm_supported(iommu) &&			\
 				 ecap_nest((iommu)->ecap))
 
drivers/leds/flash/leds-qcom-flash.c +36 -26

104 lines not on this page · raw message

drivers/leds/leds-lp55xx-common.c +1 -1
index e71456a56ab8..fd447eb7eb15 100644
@@ -212,7 +212,7 @@ int lp55xx_update_program_memory(struct lp55xx_chip *chip,
 	 * For LED chip that support page, PAGE is already set in load_engine.
 	 */
 	if (!cfg->pages_per_engine)
-		start_addr += LP55xx_BYTES_PER_PAGE * idx;
+		start_addr += LP55xx_BYTES_PER_PAGE * (idx - 1);
 
 	for (page = 0; page < program_length / LP55xx_BYTES_PER_PAGE; page++) {
 		/* Write to the next page each 32 bytes (if supported) */
drivers/md/dm-core.h +1 -0
index f3a3f2ef6322..391c1df19a76 100644
@@ -162,6 +162,7 @@ struct mapped_device {
 #define DMF_SUSPENDED_INTERNALLY 7
 #define DMF_POST_SUSPENDING 8
 #define DMF_EMULATE_ZONE_APPEND 9
+#define DMF_QUEUE_STOPPED 10
 
 void disable_discard(struct mapped_device *md);
 void disable_write_zeroes(struct mapped_device *md);
drivers/md/dm-vdo/indexer/volume-index.c +2 -2
index 12f954a0c532..afb062e1f1fb 100644
@@ -836,7 +836,7 @@ static int start_restoring_volume_sub_index(struct volume_sub_index *sub_index,
 				    "%zu bytes decoded of %zu expected", offset,
 				    sizeof(buffer));
 		if (result != VDO_SUCCESS)
-			result = UDS_CORRUPT_DATA;
+			return UDS_CORRUPT_DATA;
 
 		if (memcmp(header.magic, MAGIC_START_5, MAGIC_SIZE) != 0) {
 			return vdo_log_warning_strerror(UDS_CORRUPT_DATA,
@@ -928,7 +928,7 @@ static int start_restoring_volume_index(struct volume_index *volume_index,
 				    "%zu bytes decoded of %zu expected", offset,
 				    sizeof(buffer));
 		if (result != VDO_SUCCESS)
-			result = UDS_CORRUPT_DATA;
+			return UDS_CORRUPT_DATA;
 
 		if (memcmp(header.magic, MAGIC_START_6, MAGIC_SIZE) != 0)
 			return vdo_log_warning_strerror(UDS_CORRUPT_DATA,
drivers/md/dm.c +8 -5
index a7deeda59a55..fd84a126f63f 100644
@@ -2918,7 +2918,7 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,
 {
 	bool do_lockfs = suspend_flags & DM_SUSPEND_LOCKFS_FLAG;
 	bool noflush = suspend_flags & DM_SUSPEND_NOFLUSH_FLAG;
-	int r;
+	int r = 0;
 
 	lockdep_assert_held(&md->suspend_lock);
 
@@ -2970,8 +2970,10 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,
 	 * Stop md->queue before flushing md->wq in case request-based
 	 * dm defers requests to md->wq from md->queue.
 	 */
-	if (dm_request_based(md))
+	if (map && dm_request_based(md)) {
 		dm_stop_queue(md->queue);
+		set_bit(DMF_QUEUE_STOPPED, &md->flags);
+	}
 
 	flush_workqueue(md->wq);
 
@@ -2980,7 +2982,8 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,
 	 * We call dm_wait_for_completion to wait for all existing requests
 	 * to finish.
 	 */
-	r = dm_wait_for_completion(md, task_state);
+	if (map)
+		r = dm_wait_for_completion(md, task_state);
 	if (!r)
 		set_bit(dmf_suspended_flag, &md->flags);
 
@@ -2993,7 +2996,7 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,
 	if (r < 0) {
 		dm_queue_flush(md);
 
-		if (dm_request_based(md))
+		if (test_and_clear_bit(DMF_QUEUE_STOPPED, &md->flags))
 			dm_start_queue(md->queue);
 
 		unlock_fs(md);
@@ -3077,7 +3080,7 @@ static int __dm_resume(struct mapped_device *md, struct dm_table *map)
 	 * so that mapping of targets can work correctly.
 	 * Request-based dm is queueing the deferred I/Os in its request_queue.
 	 */
-	if (dm_request_based(md))
+	if (test_and_clear_bit(DMF_QUEUE_STOPPED, &md->flags))
 		dm_start_queue(md->queue);
 
 	unlock_fs(md);
drivers/media/i2c/rj54n1cb0c.c +6 -3
index b7ca39f63dba..6dfc91216851 100644
@@ -1329,10 +1329,13 @@ static int rj54n1_probe(struct i2c_client *client)
 			V4L2_CID_GAIN, 0, 127, 1, 66);
 	v4l2_ctrl_new_std(&rj54n1->hdl, &rj54n1_ctrl_ops,
 			V4L2_CID_AUTO_WHITE_BALANCE, 0, 1, 1, 1);
-	rj54n1->subdev.ctrl_handler = &rj54n1->hdl;
-	if (rj54n1->hdl.error)
-		return rj54n1->hdl.error;
 
+	if (rj54n1->hdl.error) {
+		ret = rj54n1->hdl.error;
+		goto err_free_ctrl;
+	}
+
+	rj54n1->subdev.ctrl_handler = &rj54n1->hdl;
 	rj54n1->clk_div		= clk_div;
 	rj54n1->rect.left	= RJ54N1_COLUMN_SKIP;
 	rj54n1->rect.top	= RJ54N1_ROW_SKIP;
drivers/media/pci/zoran/zoran.h +0 -6
index 1cd990468d3d..d05e222b3921 100644
@@ -154,12 +154,6 @@ struct zoran_jpg_settings {
 
 struct zoran;
 
-/* zoran_fh contains per-open() settings */
-struct zoran_fh {
-	struct v4l2_fh fh;
-	struct zoran *zr;
-};
-
 struct card_info {
 	enum card_type type;
 	char name[32];
drivers/media/pci/zoran/zoran_driver.c +1 -2
index 5c05e64c71a9..80377992a607 100644
@@ -511,12 +511,11 @@ static int zoran_s_fmt_vid_cap(struct file *file, void *__fh,
 			       struct v4l2_format *fmt)
 {
 	struct zoran *zr = video_drvdata(file);
-	struct zoran_fh *fh = __fh;
 	int i;
 	int res = 0;
 
 	if (fmt->fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG)
-		return zoran_s_fmt_vid_out(file, fh, fmt);
+		return zoran_s_fmt_vid_out(file, __fh, fmt);
 
 	for (i = 0; i < NUM_FORMATS; i++)
 		if (fmt->fmt.pix.pixelformat == zoran_formats[i].fourcc)
drivers/media/platform/st/sti/delta/delta-mjpeg-dec.c +11 -9
index 0533d4a083d2..a078f1107300 100644
@@ -239,7 +239,7 @@ static int delta_mjpeg_ipc_open(struct delta_ctx *pctx)
 	return 0;
 }
 
-static int delta_mjpeg_ipc_decode(struct delta_ctx *pctx, struct delta_au *au)
+static int delta_mjpeg_ipc_decode(struct delta_ctx *pctx, dma_addr_t pstart, dma_addr_t pend)
 {
 	struct delta_dev *delta = pctx->dev;
 	struct delta_mjpeg_ctx *ctx = to_ctx(pctx);
@@ -256,8 +256,8 @@ static int delta_mjpeg_ipc_decode(struct delta_ctx *pctx, struct delta_au *au)
 
 	memset(params, 0, sizeof(*params));
 
-	params->picture_start_addr_p = (u32)(au->paddr);
-	params->picture_end_addr_p = (u32)(au->paddr + au->size - 1);
+	params->picture_start_addr_p = pstart;
+	params->picture_end_addr_p = pend;
 
 	/*
 	 * !WARNING!
@@ -374,12 +374,14 @@ static int delta_mjpeg_decode(struct delta_ctx *pctx, struct delta_au *pau)
 	struct delta_dev *delta = pctx->dev;
 	struct delta_mjpeg_ctx *ctx = to_ctx(pctx);
 	int ret;
-	struct delta_au au = *pau;
+	void *au_vaddr = pau->vaddr;
+	dma_addr_t au_dma = pau->paddr;
+	size_t au_size = pau->size;
 	unsigned int data_offset = 0;
 	struct mjpeg_header *header = &ctx->header_struct;
 
 	if (!ctx->header) {
-		ret = delta_mjpeg_read_header(pctx, au.vaddr, au.size,
+		ret = delta_mjpeg_read_header(pctx, au_vaddr, au_size,
 					      header, &data_offset);
 		if (ret) {
 			pctx->stream_errors++;
@@ -405,17 +407,17 @@ static int delta_mjpeg_decode(struct delta_ctx *pctx, struct delta_au *pau)
 			goto err;
 	}
 
-	ret = delta_mjpeg_read_header(pctx, au.vaddr, au.size,
+	ret = delta_mjpeg_read_header(pctx, au_vaddr, au_size,
 				      ctx->header, &data_offset);
 	if (ret) {
 		pctx->stream_errors++;
 		goto err;
 	}
 
-	au.paddr += data_offset;
-	au.vaddr += data_offset;
+	au_dma += data_offset;
+	au_vaddr += data_offset;
 
-	ret = delta_mjpeg_ipc_decode(pctx, &au);
+	ret = delta_mjpeg_ipc_decode(pctx, au_dma, au_dma + au_size - 1);
 	if (ret)
 		goto err;
 
drivers/mfd/rz-mtu3.c +1 -1
index f3dac4a29a83..9cdfef610398 100644
@@ -32,7 +32,7 @@ static const unsigned long rz_mtu3_8bit_ch_reg_offs[][13] = {
 	[RZ_MTU3_CHAN_2] = MTU_8BIT_CH_1_2(0x204, 0x092, 0x205, 0x200, 0x20c, 0x201, 0x202),
 	[RZ_MTU3_CHAN_3] = MTU_8BIT_CH_3_4_6_7(0x008, 0x093, 0x02c, 0x000, 0x04c, 0x002, 0x004, 0x005, 0x038),
 	[RZ_MTU3_CHAN_4] = MTU_8BIT_CH_3_4_6_7(0x009, 0x094, 0x02d, 0x001, 0x04d, 0x003, 0x006, 0x007, 0x039),
-	[RZ_MTU3_CHAN_5] = MTU_8BIT_CH_5(0xab2, 0x1eb, 0xab4, 0xab6, 0xa84, 0xa85, 0xa86, 0xa94, 0xa95, 0xa96, 0xaa4, 0xaa5, 0xaa6),
+	[RZ_MTU3_CHAN_5] = MTU_8BIT_CH_5(0xab2, 0x895, 0xab4, 0xab6, 0xa84, 0xa85, 0xa86, 0xa94, 0xa95, 0xa96, 0xaa4, 0xaa5, 0xaa6),
 	[RZ_MTU3_CHAN_6] = MTU_8BIT_CH_3_4_6_7(0x808, 0x893, 0x82c, 0x800, 0x84c, 0x802, 0x804, 0x805, 0x838),
 	[RZ_MTU3_CHAN_7] = MTU_8BIT_CH_3_4_6_7(0x809, 0x894, 0x82d, 0x801, 0x84d, 0x803, 0x806, 0x807, 0x839),
 	[RZ_MTU3_CHAN_8] = MTU_8BIT_CH_8(0x404, 0x098, 0x400, 0x406, 0x401, 0x402, 0x403)
drivers/mfd/vexpress-sysreg.c +5 -1
index d34d58ce46db..5f26ef733fd0 100644
@@ -90,6 +90,7 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
 	struct resource *mem;
 	void __iomem *base;
 	struct gpio_chip *mmc_gpio_chip;
+	int ret;
 
 	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!mem)
@@ -110,7 +111,10 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
 	bgpio_init(mmc_gpio_chip, &pdev->dev, 0x4, base + SYS_MCI,
 			NULL, NULL, NULL, NULL, 0);
 	mmc_gpio_chip->ngpio = 2;
-	devm_gpiochip_add_data(&pdev->dev, mmc_gpio_chip, NULL);
+
+	ret = devm_gpiochip_add_data(&pdev->dev, mmc_gpio_chip, NULL);
+	if (ret)
+		return ret;
 
 	return devm_mfd_add_devices(&pdev->dev, PLATFORM_DEVID_AUTO,
 			vexpress_sysreg_cells,
drivers/misc/fastrpc.c +58 -31

183 lines not on this page · raw message

drivers/misc/genwqe/card_ddcb.c +1 -1
index 500b1feaf1f6..fd7d5cd50d39 100644

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

drivers/mmc/core/block.c +3 -3
index 1d08009f2bd8..08b8276e1da9 100644

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

drivers/mtd/nand/raw/atmel/nand-controller.c +2 -2
index 5b02119d8ba2..543a0be9dc64 100644

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

drivers/net/ethernet/amazon/ena/ena_ethtool.c +4 -1
index 60fb35ec4b15..0b2e257b591f 100644

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

drivers/net/ethernet/dlink/dl2k.c +5 -2
index 2c1b551e1442..92856cf387c7 100644

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

drivers/net/ethernet/intel/idpf/idpf_txrx.c +2 -6
index 4086a6ef352e..087a3077d548 100644

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

drivers/net/ethernet/intel/idpf/idpf_virtchnl.c +3 -3
index f27a8cf3816d..d1f374da0098 100644

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

drivers/net/ethernet/mellanox/mlx5/core/cmd.c +5 -1
index 5bb4940da59d..b51c00627759 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.h +0 -12
index 66d276a1be83..f4a19ffbb641 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +1 -16
index de2327ffb0f7..4a2f58a9d706 100644

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

drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +24 -0
index 516df7f1997e..35d2fe08c0fb 100644

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

drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c +5 -2
index 9bc9bd83c232..cd68c4b2c0bf 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +1 -1
index fbca8d0efd85..37a46596268a 100644

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

drivers/net/usb/asix_devices.c +29 -0
index 792ddda1ad49..85bd5d845409 100644

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

drivers/net/usb/rtl8150.c +0 -2
index ddff6f19ff98..92add3daadbb 100644

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

drivers/net/wireless/ath/ath10k/wmi.c +19 -20
index 09066e6aca40..fdab67a56e43 100644

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

drivers/net/wireless/ath/ath12k/ce.c +1 -1
index b66d23d6b2bd..bd21e8fe9c90 100644

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

drivers/net/wireless/ath/ath12k/debug.h +1 -0
index f7005917362c..ea711e02ca03 100644

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

drivers/net/wireless/intel/iwlwifi/fw/regulatory.h +0 -1
index 81787501d4a4..11704163876b 100644

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

drivers/net/wireless/marvell/mwifiex/cfg80211.c +3 -4
index 59bea82eab29..8801b93eacd4 100644

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

drivers/net/wireless/mediatek/mt76/mt7603/soc.c +1 -1
index ec02148a7f1f..2ee8a6e1e310 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h +3 -3
index 509fb43d8a68..2908e8113e48 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +7 -22
index 3398c25cb03c..7b481aea76b6 100644

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

drivers/net/wireless/mediatek/mt76/mt7996/init.c +5 -3
index c55038554114..91b7d35bdb43 100644

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

drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h +5 -6
index 425fd030bee0..29e7289c3a16 100644

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

drivers/net/wireless/mediatek/mt76/mt7996/pci.c +1 -1
index 04056181368a..dbd05612f2e4 100644

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

drivers/net/wireless/realtek/rtw89/ser.c +1 -2
index c0f0e3d71f5f..2a303a758e27 100644

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

drivers/nvme/target/fc.c +9 -10
index ef8c5961e10c..0ade23610ae6 100644

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

drivers/pci/controller/cadence/pci-j721e.c +1 -1
index bae829ac759e..eb772c18d44e 100644

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

drivers/pci/controller/dwc/pcie-rcar-gen4.c +24 -2
index 5d77a0164860..14f69efa243c 100644

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

drivers/pci/controller/dwc/pcie-tegra194.c +2 -2
index ced3b7e7bdad..815599ef72db 100644

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

drivers/pci/controller/pci-tegra.c +1 -1
index d7517c3976e7..4f70b7f2ded9 100644

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

drivers/pci/pci-acpi.c +4 -2
index 99c58ee09fbb..0cd8a75e2258 100644

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

drivers/perf/arm_spe_pmu.c +2 -1
index 3569050f9cf3..abd23430dc03 100644

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

drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +12 -0
index 1ef6d9630f7e..fbaeb7ca600d 100644

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

drivers/pinctrl/meson/pinctrl-meson-gxl.c +10 -0
index 9171de657f97..a75762e4d264 100644

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

drivers/pinctrl/pinmux.c +1 -1
index 2c31e7f2a27a..56e14193d678 100644

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

drivers/pinctrl/renesas/pinctrl-rzg2l.c +1 -1
index bde58f5a743c..698ab8cc970a 100644

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

drivers/pinctrl/renesas/pinctrl.c +2 -1
index 29d16c9c1bd1..3a742f74ecd1 100644

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

drivers/power/supply/cw2015_battery.c +1 -2
index f63c3c410451..382dff8805c6 100644

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

drivers/pps/kapi.c +1 -4
index 92d1b62ea239..e9389876229e 100644

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

drivers/pps/pps.c +2 -3
index 9463232af8d2..c6b8b6478276 100644

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

drivers/ptp/ptp_private.h +1 -0
index b352df4cd3f9..f329263f33aa 100644

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

drivers/ptp/ptp_sysfs.c +1 -1
index 6b1b8f57cd95..200eaf500696 100644

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

drivers/pwm/pwm-tiehrpwm.c +61 -93

154 lines not on this page · raw message

drivers/regulator/scmi-regulator.c +2 -1
index 9df726f10ad1..6d609c42e479 100644

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

drivers/remoteproc/pru_rproc.c +2 -1
index 327f0c7ee3d6..7ffbae209a31 100644

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

drivers/remoteproc/qcom_q6v5.c +0 -3
index 4ee5e67a9f03..769c6d6d6a73 100644

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

drivers/scsi/mpt3sas/mpt3sas_transport.c +3 -5
index d84413b77d84..421db8996927 100644

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

drivers/scsi/myrs.c +4 -4
index 1469d0c54e45..5a02fd3bc6c9 100644

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

drivers/scsi/pm8001/pm8001_sas.c +8 -1
index a9d6dac41334..4daab8b6d675 100644

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

drivers/scsi/qla2xxx/qla_edif.c +2 -2
index dcde55c8ee5d..be20e2c457b8 100644

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

drivers/scsi/qla2xxx/qla_init.c +2 -2
index 79cdfec2bca3..8bd4aa935e22 100644

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

drivers/scsi/qla2xxx/qla_nvme.c +1 -1
index 8ee2e337c9e1..316594aa40cc 100644

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

drivers/soc/mediatek/mtk-svs.c +23 -0
index 9a91298c1253..4cb8169aec6b 100644

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

drivers/soc/qcom/rpmh-rsc.c +2 -5
index 641f29a98cbd..cc72a31a450e 100644

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

drivers/spi/spi.c +1 -1
index 8d6341b0d866..5ad9f4a2148f 100644

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

drivers/tee/tee_shm.c +8 -0
index 2a7d253d9c55..8e50476eb71f 100644

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

drivers/thermal/qcom/Kconfig +2 -1
index 2c7f3f9a26eb..a6bb01082ec6 100644

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

drivers/thermal/qcom/lmh.c +2 -0
index d2d49264cf83..7c299184c59b 100644

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

drivers/tty/n_gsm.c +24 -1
index 252849910588..c917fc20b469 100644

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

drivers/tty/serial/max310x.c +2 -0
index 35369a2f77b2..2f8e3ea4fe12 100644

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

drivers/uio/uio_hv_generic.c +1 -6
index a6551a795f74..0b414d1168dd 100644

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

drivers/usb/cdns3/cdnsp-pci.c +1 -4
index 36781ea60f6a..4a9eff7fdb12 100644

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

drivers/usb/gadget/configfs.c +2 -0
index 1b4d0056f1d0..82282373c786 100644

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

drivers/usb/host/max3421-hcd.c +1 -1
index dcf31a592f5d..4b5f03f683f7 100644

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

drivers/usb/host/xhci-ring.c +4 -7
index 1002fa51a25a..f377725a1212 100644

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

drivers/usb/misc/Kconfig +1 -0
index 6497c4e81e95..9bf8fc6247ba 100644

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

drivers/usb/misc/qcom_eud.c +24 -9
index 19906301a4eb..012e3b9d9bcc 100644

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

drivers/usb/phy/phy-twl6030-usb.c +1 -2
index da09cff55abc..0e732cd53b62 100644

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

drivers/usb/typec/tipd/core.c +11 -13
index 7ee721a877c1..1bdf6f5538f4 100644

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

drivers/usb/usbip/vhci_hcd.c +22 -0
index 8dac1edc74d4..a793e30d46b7 100644

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

drivers/vfio/pci/pds/dirty.c +1 -1
index c51f5e4c3dd6..481992142f79 100644

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

drivers/vhost/vringh.c +8 -6
index 73e153f9b449..781731eb95cf 100644

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

drivers/video/fbdev/simplefb.c +23 -8
index be95fcddce4c..85bc40aa8b2c 100644

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

drivers/watchdog/mpc8xxx_wdt.c +2 -0
index 867f9f311379..a4b497ecfa20 100644

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

fs/btrfs/extent_io.c +5 -4
index afebc91882be..60fe155b1ce0 100644

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

fs/ext4/ext4.h +10 -0
index d8120b88fa00..37e18e654f71 100644

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

fs/ext4/file.c +1 -1
index 6c692151b0d6..7d949ed0ab5f 100644

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

fs/ext4/inode.c +1 -1
index 7923602271ad..558a585c5df5 100644

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

fs/ext4/orphan.c +1 -5
index a23b0c01f809..c53918768cb2 100644

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

fs/ext4/super.c +2 -2
index 58d125ad2371..cbb65e61c492 100644

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

fs/f2fs/data.c +5 -4
index efc30626760a..040c06dfb8c0 100644

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

fs/f2fs/f2fs.h +1 -3
index 2dec22f2ea63..0d3ef487f72a 100644

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

fs/f2fs/file.c +28 -21

49 lines not on this page · raw message

fs/gfs2/glock.c +0 -2
index 161fc76ed5b0..e5558e63e2cb 100644

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

fs/nfs/nfs4proc.c +1 -1
index ea92483d5e71..c21e63027fc0 100644

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

fs/ntfs3/index.c +10 -0
index 1bf2a6593dec..6d1bf890929d 100644

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

fs/ntfs3/run.c +9 -3
index 48566dff0dc9..662add939da7 100644

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

fs/ocfs2/stack_user.c +1 -0
index 77edcd70f72c..c5236b3ed168 100644

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

fs/smb/client/smb2ops.c +6 -11
index ab911a967246..c946c3a09245 100644

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

fs/smb/server/ksmbd_netlink.h +3 -2
index 3f07a612c05b..8ccd57fd904b 100644

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

fs/smb/server/mgmt/user_session.c +17 -9
index 9dec4c2940bc..b36d0676dbe5 100644

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

fs/smb/server/server.h +1 -0
index 995555febe7d..b8a7317be86b 100644

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

fs/smb/server/smb2pdu.c +2 -1
index 6dafc2fbac25..d2182477566a 100644

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

fs/smb/server/transport_ipc.c +3 -0
index 2da2a5f6b983..4454bbe3c710 100644

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

fs/smb/server/transport_rdma.c +85 -14

99 lines not on this page · raw message

fs/smb/server/transport_tcp.c +16 -11
index 756833c91b14..b51ccc16abe1 100644

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

fs/squashfs/inode.c +7 -0
index d5918eba27e3..53104f25de51 100644

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

fs/squashfs/squashfs_fs_i.h +1 -1
index 2c82d6f2a456..8e497ac07b9a 100644

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

fs/udf/inode.c +3 -0
index 4386dd845e40..0f97850a165a 100644

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

include/asm-generic/vmlinux.lds.h +1 -0
index 23b358a1271c..3c75199947f0 100644

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

include/linux/bpf.h +1 -0
index 6db72c66de91..e8d9803cc675 100644

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

include/linux/btf.h +1 -1
index d99178ce01d2..e473bbfe4128 100644

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

include/linux/once.h +2 -2
index 30346fcdc799..449a0e34ad5a 100644

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

include/trace/events/filelock.h +2 -1
index b8d1e00a7982..2dfeb158e848 100644

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

include/uapi/linux/hidraw.h +2 -0
index d5ee269864e0..ebd701b3c18d 100644

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

include/vdso/gettime.h +1 -0
index c50d152e7b3e..9ac161866653 100644

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

init/Kconfig +1 -0
index 45990792cb4a..219ccdb0af73 100644

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

io_uring/waitid.c +2 -1
index 2f7b5eeab845..ecaa358d0ad8 100644

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

kernel/bpf/core.c +5 -0
index 1f51c8f20722..08bdb623f4f9 100644

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

kernel/bpf/verifier.c +2 -2
index 1829f62a74a9..96640a80fd9c 100644

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

kernel/events/uprobes.c +1 -1
index e60f5e71e35d..c00981cc6fe5 100644

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

kernel/seccomp.c +5 -7
index 0cd1f8b5a102..267b00005eaf 100644

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

kernel/smp.c +5 -6
index f25e20617b7e..fa6faf50fb43 100644

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

kernel/trace/bpf_trace.c +7 -2
index 3ec7df7dbeec..4a44451efbcc 100644

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

mm/hugetlb.c +2 -0
index f116af53a939..fff6edb1174d 100644

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

net/9p/trans_usbg.c +13 -3
index 6b694f117aef..468f7e8f0277 100644

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

net/bluetooth/hci_sync.c +6 -4
index 333f32a9fd21..853acfa8e943 100644

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

net/bluetooth/iso.c +10 -1
index a08a0f3d5003..2cd0b963c96b 100644

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

net/bluetooth/mgmt.c +4 -6
index 8b75647076ba..563cae4f76b0 100644

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

net/core/filter.c +10 -6
index 02fedc404d7f..c850e5d6cbd8 100644

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

net/ipv4/ping.c +10 -4
index 619ddc087957..37a3fa98d904 100644

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

net/ipv4/tcp.c +5 -4
index 988992ff898b..739931aabb4e 100644

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

net/mac80211/rx.c +22 -6
index 8c0d91dfd7e2..538c6eea645f 100644

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

net/netfilter/ipset/ip_set_hash_gen.h +4 -4
index 5251524b96af..5e4453e9ef8e 100644

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

net/netfilter/ipvs/ip_vs_conn.c +2 -2
index c0289f83f96d..327baa17882a 100644

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

net/netfilter/ipvs/ip_vs_core.c +4 -7
index c7a8a08b7308..5ea7ab8bf4dc 100644

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

net/netfilter/ipvs/ip_vs_ctl.c +3 -3
index 3224f6e17e73..3219338feca4 100644

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

net/netfilter/ipvs/ip_vs_est.c +8 -8
index f821ad2e19b3..3492108bb3b9 100644

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

net/netfilter/ipvs/ip_vs_ftp.c +3 -1
index d8a284999544..206c6700e200 100644

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

net/netfilter/nfnetlink.c +2 -0
index 7784ec094097..f12d0d229aaa 100644

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

net/nfc/nci/ntf.c +99 -36

135 lines not on this page · raw message

net/sunrpc/auth_gss/svcauth_gss.c +1 -1
index 73a90ad873fb..2d5ac2b3d526 100644

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

security/Kconfig +1 -0
index 28e685f53bd1..ce9f1a651ccc 100644

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

sound/core/pcm_native.c +15 -10
index 9b91f68b3fff..d15de21f6ebf 100644

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

sound/pci/lx6464es/lx_core.c +2 -2
index 9d95ecb299ae..a99acd1125e7 100644

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

sound/soc/codecs/wcd934x.c +15 -2
index c7f1b28f3b23..01f8d1296b18 100644

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

sound/soc/codecs/wcd937x.c +2 -2
index 1df827a084ca..17ddd91eac5f 100644

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

sound/soc/codecs/wcd937x.h +3 -3
index 4afa48dcaf74..7bfd0f630fcd 100644

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

sound/soc/intel/boards/bytcht_es8316.c +17 -3
index d3327bc237b5..7975dc0ceb35 100644

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

sound/soc/intel/boards/bytcr_rt5640.c +5 -2
index b6434b473126..d6991864c5a4 100644

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

sound/soc/intel/boards/bytcr_rt5651.c +21 -5
index 8e4b821efe92..6860ac41e6b3 100644

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

sound/soc/intel/boards/sof_sdw.c +1 -1
index 5911a0558651..00d840d5e585 100644

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

sound/soc/sof/ipc3-topology.c +5 -5
index e98b53b67d12..19bbae725d83 100644

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

tools/include/nolibc/std.h +1 -1
index a9d8b5b51f37..f24953f8b949 100644

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

tools/lib/bpf/libbpf.c +27 -19

46 lines not on this page · raw message

tools/testing/nvdimm/test/ndtest.c +12 -1
index 892e990c034a..22ee6309c53c 100644

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

tools/testing/selftests/arm64/pauth/exec_target.c +6 -1
index 4435600ca400..e597861b26d6 100644

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

tools/testing/selftests/bpf/progs/test_tcpnotify_kern.c +0 -1
index 540181c115a8..ef00d38b0a8d 100644

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

tools/testing/selftests/bpf/test_tcpnotify_user.c +10 -10
index 595194453ff8..35b4893ccdf8 100644

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

tools/testing/selftests/nolibc/nolibc-test.c +2 -2
index 6fba7025c5e3..d73bff23c61e 100644

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

tools/testing/selftests/vDSO/vdso_call.h +3 -4
index bb237d771051..e7205584cbdc 100644

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

tools/testing/selftests/vDSO/vdso_test_abi.c +4 -5
index a54424e2336f..67cbfc56e4e1 100644

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

tools/testing/selftests/watchdog/watchdog-test.c +6 -0
index a1f506ba5578..4f09c5db0c7f 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.