Linux 6.12.58
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.12.58 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/netlink/specs/dpll.yaml | 2 Makefile | 2 arch/arc/include/asm/bitops.h | 2 arch/arm/boot/dts/nvidia/tegra20-asus-tf101.dts | 5 arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts | 4 arch/arm/mach-at91/pm_suspend.S | 8 arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 4 arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 arch/loongarch/include/asm/inst.h | 5 arch/loongarch/kernel/inst.c | 12 arch/mips/boot/dts/lantiq/danube.dtsi | 6 arch/mips/boot/dts/lantiq/danube_easy50712.dts | 4 arch/mips/lantiq/xway/sysctrl.c | 2 arch/mips/sgi-ip22/ip22-platform.c | 32 arch/openrisc/kernel/module.c | 4 arch/parisc/include/asm/video.h | 2 arch/parisc/kernel/unwind.c | 13 arch/powerpc/kernel/eeh_driver.c | 2 arch/riscv/kernel/stacktrace.c | 21 arch/riscv/mm/ptdump.c | 2 arch/riscv/net/bpf_jit_comp64.c | 5 arch/s390/Kconfig | 1 arch/s390/include/asm/pci.h | 1 arch/s390/mm/dump_pagetables.c | 19 arch/s390/pci/pci_event.c | 7 arch/s390/pci/pci_irq.c | 9 arch/sparc/include/asm/elf_64.h | 1 arch/sparc/include/asm/io_64.h | 6 arch/sparc/include/asm/video.h | 2 arch/sparc/kernel/module.c | 1 arch/um/drivers/ssl.c | 5 arch/x86/entry/vsyscall/vsyscall_64.c | 17 arch/x86/events/intel/ds.c | 3 arch/x86/include/asm/runtime-const.h | 17 arch/x86/include/asm/uaccess_64.h | 22 arch/x86/include/asm/video.h | 2 arch/x86/kernel/cpu/amd.c | 35 arch/x86/kernel/cpu/common.c | 6 arch/x86/kernel/cpu/microcode/amd.c | 2 arch/x86/kernel/fpu/core.c | 3 arch/x86/kernel/kvm.c | 20 arch/x86/lib/getuser.S | 12 arch/x86/net/bpf_jit_comp.c | 13 block/blk-cgroup.c | 23 drivers/accel/habanalabs/common/memory.c | 2 drivers/accel/habanalabs/gaudi/gaudi.c | 19 drivers/accel/habanalabs/gaudi2/gaudi2.c | 15 drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c | 2 drivers/acpi/acpi_video.c | 4 drivers/acpi/acpica/dsmethod.c | 10 drivers/acpi/button.c | 4 drivers/acpi/device_sysfs.c | 2 drivers/acpi/fan.h | 8 drivers/acpi/fan_attr.c | 39 drivers/acpi/fan_core.c | 61 - drivers/acpi/fan_hwmon.c | 19 drivers/acpi/prmt.c | 19 drivers/acpi/property.c | 24 drivers/acpi/resource.c | 7 drivers/acpi/scan.c | 4 drivers/acpi/spcr.c | 10 drivers/acpi/video_detect.c | 8 drivers/base/regmap/regmap-slimbus.c | 6 drivers/bluetooth/btmtksdio.c | 12 drivers/bluetooth/btrtl.c | 4 drivers/bluetooth/btusb.c | 19 drivers/bluetooth/hci_bcsp.c | 3 drivers/bus/mhi/host/internal.h | 2 drivers/bus/mhi/host/pm.c | 2 drivers/char/misc.c | 40 drivers/clk/at91/clk-master.c | 3 drivers/clk/at91/clk-sam9x60-pll.c | 75 - drivers/clk/at91/sam9x7.c | 1 drivers/clk/clk-scmi.c | 11 drivers/clk/qcom/gcc-ipq6018.c | 60 - drivers/clk/sunxi-ng/ccu-sun6i-rtc.c | 11 drivers/clk/ti/clk-33xx.c | 2 drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 2 drivers/clocksource/timer-rtl-otto.c | 26 drivers/clocksource/timer-vf-pit.c | 22 drivers/cpufreq/cpufreq_ondemand.c | 25 drivers/cpufreq/cpufreq_ondemand.h | 23 drivers/cpufreq/longhaul.c | 3 drivers/cpufreq/tegra186-cpufreq.c | 27 drivers/cpufreq/ti-cpufreq.c | 2 drivers/cpuidle/cpuidle.c | 8 drivers/cpuidle/governors/menu.c | 73 - drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 1 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 5 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 2 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 1 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c | 1 drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 2 drivers/crypto/aspeed/aspeed-acry.c | 2 drivers/crypto/caam/ctrl.c | 4 drivers/crypto/ccp/hsti.c | 2 drivers/crypto/ccp/sev-dev.c | 10 drivers/crypto/hisilicon/qm.c | 78 + drivers/crypto/intel/qat/qat_common/qat_uclo.c | 2 drivers/dma/dw-edma/dw-edma-core.c | 22 drivers/dma/mv_xor.c | 4 drivers/dma/sh/shdma-base.c | 25 drivers/dma/sh/shdmac.c | 17 drivers/extcon/extcon-adc-jack.c | 2 drivers/firewire/ohci.c | 12 drivers/firmware/qcom/qcom_scm.c | 2 drivers/firmware/qcom/qcom_tzmem.c | 1 drivers/gpio/gpiolib-swnode.c | 2 drivers/gpio/gpiolib.c | 8 drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c | 53 - drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 15 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 66 + drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 21 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 5 drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 6 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 75 - drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 34 drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c | 1 drivers/gpu/drm/amd/amdgpu/atom.c | 4 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 11 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c | 13 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 19 drivers/gpu/drm/amd/amdkfd/kfd_device.c | 10 drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 9 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 25 drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c | 56 + drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.h | 1 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 100 ++ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 3 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 86 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 10 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 3 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h | 2 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c | 16 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 142 +++ drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h | 5 drivers/gpu/drm/amd/display/dc/core/dc.c | 25 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 14 drivers/gpu/drm/amd/display/dc/dc_helper.c | 5 drivers/gpu/drm/amd/display/dc/dc_stream.h | 3 drivers/gpu/drm/amd/display/dc/dccg/dcn401/dcn401_dccg.c | 2 drivers/gpu/drm/amd/display/dc/dm_services.h | 2 drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c | 20 drivers/gpu/drm/amd/display/dc/dml2/display_mode_core.c | 2 drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_wrapper.c | 4 drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c | 28 drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 1 drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 73 - drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 5 drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 2 drivers/gpu/drm/amd/display/dc/link/link_detection.c | 5 drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 3 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c | 9 drivers/gpu/drm/amd/display/dc/optc/dcn401/dcn401_optc.c | 5 drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c | 1 drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c | 7 drivers/gpu/drm/amd/display/include/dal_asic_id.h | 5 drivers/gpu/drm/amd/pm/powerplay/smumgr/fiji_smumgr.c | 2 drivers/gpu/drm/amd/pm/powerplay/smumgr/iceland_smumgr.c | 2 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 6 drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 2 drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 3 drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 2 drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 drivers/gpu/drm/ast/ast_drv.h | 8 drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 12 drivers/gpu/drm/bridge/display-connector.c | 3 drivers/gpu/drm/drm_gem_atomic_helper.c | 8 drivers/gpu/drm/drm_panel_backlight_quirks.c | 2 drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 2 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 10 drivers/gpu/drm/mediatek/mtk_plane.c | 24 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 5 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 3 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 10 drivers/gpu/drm/msm/registers/gen_header.py | 7 drivers/gpu/drm/nouveau/nouveau_sched.c | 14 drivers/gpu/drm/nouveau/nvkm/core/enum.c | 2 drivers/gpu/drm/panthor/panthor_gpu.c | 7 drivers/gpu/drm/panthor/panthor_mmu.c | 4 drivers/gpu/drm/radeon/radeon_drv.c | 25 drivers/gpu/drm/radeon/radeon_kms.c | 1 drivers/gpu/drm/scheduler/sched_entity.c | 73 - drivers/gpu/drm/scheduler/sched_main.c | 6 drivers/gpu/drm/tidss/tidss_crtc.c | 7 drivers/gpu/drm/tidss/tidss_dispc.c | 16 drivers/gpu/drm/xe/abi/guc_errors_abi.h | 3 drivers/gpu/drm/xe/xe_bo.c | 28 drivers/gpu/drm/xe/xe_gt.c | 19 drivers/gpu/drm/xe/xe_guc.c | 32 drivers/gpu/drm/xe/xe_guc_ct.c | 10 drivers/gpu/drm/xe/xe_guc_log.h | 2 drivers/hid/hid-asus.c | 6 drivers/hid/hid-ids.h | 2 drivers/hid/hid-universal-pidff.c | 20 drivers/hid/i2c-hid/i2c-hid-acpi.c | 8 drivers/hid/i2c-hid/i2c-hid-core.c | 28 drivers/hid/i2c-hid/i2c-hid.h | 2 drivers/hid/usbhid/hid-pidff.c | 42 drivers/hid/usbhid/hid-pidff.h | 2 drivers/hwmon/asus-ec-sensors.c | 2 drivers/hwmon/dell-smm-hwmon.c | 14 drivers/hwmon/k10temp.c | 10 drivers/hwmon/lenovo-ec-sensors.c | 34 drivers/hwmon/sbtsi_temp.c | 46 - drivers/hwmon/sy7636a-hwmon.c | 1 drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c | 3 drivers/iio/adc/imx93_adc.c | 18 drivers/iio/adc/spear_adc.c | 9 drivers/infiniband/hw/hns/hns_roce_cq.c | 58 + drivers/infiniband/hw/hns/hns_roce_device.h | 4 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 11 drivers/infiniband/hw/hns/hns_roce_main.c | 4 drivers/infiniband/hw/hns/hns_roce_qp.c | 2 drivers/infiniband/hw/irdma/Kconfig | 7 drivers/infiniband/hw/irdma/pble.c | 2 drivers/infiniband/hw/irdma/verbs.c | 4 drivers/infiniband/hw/irdma/verbs.h | 8 drivers/infiniband/ulp/ipoib/ipoib_main.c | 21 drivers/iommu/amd/init.c | 28 drivers/iommu/apple-dart.c | 5 drivers/iommu/intel/debugfs.c | 10 drivers/iommu/intel/perf.c | 10 drivers/iommu/intel/perf.h | 5 drivers/iommu/iommufd/iova_bitmap.c | 5 drivers/irqchip/irq-gic-v2m.c | 13 drivers/irqchip/irq-loongson-pch-lpc.c | 9 drivers/irqchip/irq-sifive-plic.c | 6 drivers/md/dm-target.c | 3 drivers/media/common/videobuf2/videobuf2-v4l2.c | 5 drivers/media/i2c/Kconfig | 2 drivers/media/i2c/adv7180.c | 48 - drivers/media/i2c/ir-kbd-i2c.c | 6 drivers/media/i2c/og01a1b.c | 6 drivers/media/i2c/ov08x40.c | 2 drivers/media/pci/intel/ipu6/ipu6-isys-subdev.c | 6 drivers/media/pci/ivtv/ivtv-alsa-pcm.c | 2 drivers/media/pci/ivtv/ivtv-driver.h | 3 drivers/media/pci/ivtv/ivtv-fileops.c | 18 drivers/media/pci/ivtv/ivtv-irq.c | 4 drivers/media/pci/mgb4/mgb4_vin.c | 3 drivers/media/platform/amphion/vpu_v4l2.c | 7 drivers/media/platform/verisilicon/hantro_drv.c | 2 drivers/media/platform/verisilicon/hantro_v4l2.c | 6 drivers/media/rc/imon.c | 61 - drivers/media/rc/redrat3.c | 2 drivers/media/tuners/xc4000.c | 8 drivers/media/tuners/xc5000.c | 12 drivers/media/usb/uvc/uvc_driver.c | 15 drivers/memstick/core/memstick.c | 8 drivers/mfd/da9063-i2c.c | 27 drivers/mfd/intel-lpss-pci.c | 13 drivers/mfd/kempld-core.c | 32 drivers/mfd/madera-core.c | 4 drivers/mfd/mfd-core.c | 1 drivers/mfd/stmpe-i2c.c | 1 drivers/mfd/stmpe.c | 3 drivers/mmc/host/renesas_sdhi_core.c | 6 drivers/mmc/host/sdhci-msm.c | 15 drivers/net/dsa/b53/b53_common.c | 27 drivers/net/dsa/b53/b53_regs.h | 3 drivers/net/dsa/dsa_loop.c | 9 drivers/net/dsa/microchip/ksz9477.c | 98 +- drivers/net/dsa/microchip/ksz9477_reg.h | 3 drivers/net/dsa/microchip/ksz_common.c | 49 + drivers/net/dsa/microchip/ksz_common.h | 2 drivers/net/dsa/ocelot/felix.c | 4 drivers/net/dsa/ocelot/felix.h | 3 drivers/net/dsa/ocelot/felix_vsc9959.c | 3 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 75 + drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 4 drivers/net/ethernet/cadence/macb_main.c | 4 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 3 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 9 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 2 drivers/net/ethernet/intel/fm10k/fm10k_common.c | 5 drivers/net/ethernet/intel/fm10k/fm10k_common.h | 2 drivers/net/ethernet/intel/fm10k/fm10k_pf.c | 2 drivers/net/ethernet/intel/fm10k/fm10k_vf.c | 2 drivers/net/ethernet/intel/ice/ice_main.c | 2 drivers/net/ethernet/intel/ice/ice_trace.h | 10 drivers/net/ethernet/intel/idpf/idpf.h | 2 drivers/net/ethernet/intel/idpf/idpf_lib.c | 102 ++ drivers/net/ethernet/intel/idpf/idpf_txrx.c | 129 -- drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 4 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 5 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 12 drivers/net/ethernet/microchip/lan865x/lan865x.c | 1 drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c | 18 drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 2 drivers/net/ethernet/microchip/lan966x/lan966x_main.h | 4 drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c | 8 drivers/net/ethernet/microchip/sparx5/Kconfig | 2 drivers/net/ethernet/pensando/ionic/ionic_txrx.c | 34 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 1 drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 drivers/net/ethernet/realtek/Kconfig | 2 drivers/net/ethernet/realtek/r8169_main.c | 6 drivers/net/ethernet/renesas/sh_eth.c | 4 drivers/net/ethernet/sfc/mae.c | 4 drivers/net/ethernet/smsc/smsc911x.c | 14 drivers/net/ethernet/stmicro/stmmac/common.h | 1 drivers/net/ethernet/stmicro/stmmac/stmmac_est.c | 9 drivers/net/ethernet/stmicro/stmmac/stmmac_est.h | 1 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 12 drivers/net/ethernet/ti/icssg/icssg_config.c | 7 drivers/net/ethernet/wangxun/libwx/wx_ethtool.c | 7 drivers/net/ethernet/wangxun/libwx/wx_hw.c | 3 drivers/net/ethernet/wangxun/libwx/wx_type.h | 4 drivers/net/hamradio/6pack.c | 57 - drivers/net/mdio/of_mdio.c | 1 drivers/net/phy/fixed_phy.c | 1 drivers/net/phy/marvell.c | 39 drivers/net/phy/phy.c | 13 drivers/net/usb/asix_devices.c | 12 drivers/net/usb/qmi_wwan.c | 6 drivers/net/usb/usbnet.c | 2 drivers/net/virtio_net.c | 36 drivers/net/wan/framer/pef2256/pef2256.c | 7 drivers/net/wireless/ath/ath10k/mac.c | 12 drivers/net/wireless/ath/ath10k/wmi.c | 40 drivers/net/wireless/ath/ath11k/core.c | 54 + drivers/net/wireless/ath/ath11k/core.h | 3 drivers/net/wireless/ath/ath11k/mac.c | 61 + drivers/net/wireless/ath/ath11k/wmi.c | 11 drivers/net/wireless/ath/ath11k/wmi.h | 10 drivers/net/wireless/ath/ath12k/dp.h | 2 drivers/net/wireless/ath/ath12k/mac.c | 34 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c | 28 drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.h | 3 drivers/net/wireless/intel/iwlwifi/fw/regulatory.c | 14 drivers/net/wireless/mediatek/mt76/eeprom.c | 9 drivers/net/wireless/mediatek/mt76/mt76.h | 2 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c | 3 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | 4 drivers/net/wireless/mediatek/mt76/mt7615/init.c | 5 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c | 6 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c | 4 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c | 4 drivers/net/wireless/mediatek/mt76/mt7915/init.c | 4 drivers/net/wireless/mediatek/mt76/mt7921/init.c | 4 drivers/net/wireless/mediatek/mt76/mt7921/main.c | 2 drivers/net/wireless/mediatek/mt76/mt7925/init.c | 4 drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c | 3 drivers/net/wireless/mediatek/mt76/mt7996/init.c | 5 drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 4 drivers/net/wireless/realtek/rtw88/sdio.c | 4 drivers/net/wireless/realtek/rtw89/core.c | 59 + drivers/net/wireless/realtek/rtw89/core.h | 10 drivers/net/wireless/realtek/rtw89/debug.h | 1 drivers/net/wireless/realtek/rtw89/fw.c | 4 drivers/net/wireless/realtek/rtw89/mac.c | 7 drivers/net/wireless/realtek/rtw89/phy.c | 7 drivers/net/wireless/realtek/rtw89/txrx.h | 1 drivers/net/wireless/virtual/mac80211_hwsim.c | 7 drivers/net/wwan/t7xx/t7xx_pci.c | 1 drivers/ntb/hw/epf/ntb_hw_epf.c | 103 +- drivers/nvme/host/core.c | 8 drivers/nvme/host/fc.c | 10 drivers/nvme/target/fc.c | 16 drivers/pci/controller/cadence/pcie-cadence-host.c | 2 drivers/pci/controller/cadence/pcie-cadence.c | 4 drivers/pci/controller/cadence/pcie-cadence.h | 6 drivers/pci/controller/dwc/pci-imx6.c | 4 drivers/pci/controller/dwc/pcie-designware.c | 4 drivers/pci/endpoint/functions/pci-epf-test.c | 7 drivers/pci/p2pdma.c | 2 drivers/pci/pci-driver.c | 2 drivers/pci/pci.c | 5 drivers/pci/pcie/err.c | 3 drivers/pci/quirks.c | 3 drivers/phy/cadence/cdns-dphy.c | 4 drivers/phy/renesas/r8a779f0-ether-serdes.c | 28 drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 5 drivers/pinctrl/pinctrl-keembay.c | 7 drivers/pinctrl/pinctrl-single.c | 4 drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c | 2 drivers/pmdomain/apple/pmgr-pwrstate.c | 1 drivers/power/supply/qcom_battmgr.c | 8 drivers/power/supply/sbs-charger.c | 16 drivers/ptp/ptp_clock.c | 13 drivers/pwm/pwm-pca9685.c | 46 - drivers/remoteproc/qcom_q6v5.c | 5 drivers/remoteproc/wkup_m3_rproc.c | 6 drivers/rpmsg/rpmsg_char.c | 3 drivers/rtc/rtc-pcf2127.c | 19 drivers/rtc/rtc-rx8025.c | 2 drivers/scsi/libfc/fc_encode.h | 2 drivers/scsi/lpfc/lpfc_debugfs.h | 3 drivers/scsi/lpfc/lpfc_els.c | 21 drivers/scsi/lpfc/lpfc_init.c | 7 drivers/scsi/lpfc/lpfc_nportdisc.c | 23 drivers/scsi/lpfc/lpfc_scsi.c | 14 drivers/scsi/lpfc/lpfc_sli.c | 3 drivers/scsi/mpi3mr/mpi3mr_fw.c | 13 drivers/scsi/mpi3mr/mpi3mr_os.c | 2 drivers/scsi/mpt3sas/mpt3sas_transport.c | 3 drivers/scsi/pm8001/pm8001_ctl.c | 24 drivers/scsi/pm8001/pm8001_init.c | 1 drivers/scsi/pm8001/pm8001_sas.h | 4 drivers/scsi/qla2xxx/qla_os.c | 5 drivers/soc/aspeed/aspeed-socinfo.c | 4 drivers/soc/qcom/smem.c | 2 drivers/soc/tegra/fuse/fuse-tegra30.c | 122 ++ drivers/soc/ti/pruss.c | 2 drivers/spi/spi-loopback-test.c | 12 drivers/spi/spi-rpc-if.c | 2 drivers/tee/tee_core.c | 2 drivers/thermal/gov_step_wise.c | 15 drivers/thunderbolt/tb.c | 2 drivers/tty/serial/ip22zilog.c | 352 +++----- drivers/tty/serial/max3100.c | 2 drivers/tty/serial/max310x.c | 3 drivers/tty/vt/vt_ioctl.c | 4 drivers/ufs/core/ufshcd.c | 16 drivers/ufs/host/ufs-exynos.c | 8 drivers/ufs/host/ufs-mediatek.c | 222 ++++- drivers/ufs/host/ufshcd-pci.c | 70 + drivers/usb/cdns3/cdnsp-gadget.c | 8 drivers/usb/gadget/function/f_fs.c | 8 drivers/usb/gadget/function/f_hid.c | 4 drivers/usb/gadget/function/f_ncm.c | 3 drivers/usb/host/xhci-pci.c | 43 drivers/usb/host/xhci-plat.c | 1 drivers/usb/mon/mon_bin.c | 14 drivers/vfio/pci/vfio_pci_intrs.c | 7 drivers/vfio/vfio_main.c | 2 drivers/video/backlight/lp855x_bl.c | 2 drivers/video/fbdev/aty/atyfb_base.c | 8 drivers/video/fbdev/core/bitblit.c | 33 drivers/video/fbdev/core/fbcon.c | 19 drivers/video/fbdev/core/fbmem.c | 1 drivers/video/fbdev/pvr2fb.c | 2 drivers/video/fbdev/valkyriefb.c | 2 drivers/watchdog/s3c2410_wdt.c | 10 fs/9p/v9fs.c | 9 fs/btrfs/extent_io.c | 8 fs/btrfs/file.c | 10 fs/btrfs/qgroup.c | 4 fs/ceph/dir.c | 3 fs/ceph/file.c | 6 fs/ceph/ioctl.c | 17 fs/ceph/locks.c | 5 fs/ceph/mds_client.c | 8 fs/ceph/mdsmap.c | 14 fs/ceph/super.c | 14 fs/ceph/super.h | 14 fs/exfat/balloc.c | 72 + fs/exfat/fatent.c | 11 fs/ext4/fast_commit.c | 2 fs/ext4/xattr.c | 2 fs/f2fs/extent_cache.c | 6 fs/f2fs/node.c | 17 fs/f2fs/sysfs.c | 9 fs/fuse/inode.c | 11 fs/hpfs/namei.c | 18 fs/jfs/inode.c | 8 fs/jfs/jfs_txnmgr.c | 9 fs/nfs/nfs4proc.c | 6 fs/nfs/nfs4state.c | 3 fs/nfsd/nfs4proc.c | 7 fs/ntfs3/inode.c | 1 fs/open.c | 10 fs/orangefs/xattr.c | 12 fs/smb/client/cached_dir.c | 16 fs/smb/client/smb2ops.c | 3 fs/smb/client/smb2pdu.c | 7 fs/smb/client/transport.c | 10 fs/smb/server/transport_tcp.c | 7 include/drm/gpu_scheduler.h | 23 include/linux/blk_types.h | 11 include/linux/bpf_verifier.h | 7 include/linux/cgroup.h | 1 include/linux/f2fs_fs.h | 1 include/linux/fbcon.h | 2 include/linux/filter.h | 3 include/linux/pci.h | 2 include/linux/shdma-base.h | 2 include/linux/tnum.h | 3 include/net/bluetooth/hci.h | 1 include/net/bluetooth/hci_core.h | 13 include/net/bluetooth/mgmt.h | 2 include/net/cls_cgroup.h | 2 include/net/nfc/nci_core.h | 2 include/net/xdp.h | 5 include/ufs/ufs_quirks.h | 3 include/ufs/ufshcd.h | 8 include/ufs/ufshci.h | 4 io_uring/notif.c | 5 kernel/bpf/core.c | 5 kernel/bpf/helpers.c | 2 kernel/bpf/ringbuf.c | 2 kernel/bpf/tnum.c | 8 kernel/bpf/verifier.c | 100 ++ kernel/cgroup/cgroup.c | 24 kernel/events/uprobes.c | 7 kernel/futex/syscalls.c | 106 +- kernel/sched/ext.c | 8 kernel/trace/ftrace.c | 2 kernel/trace/ring_buffer.c | 4 kernel/trace/trace_events_hist.c | 6 lib/crypto/Makefile | 2 lib/kunit/kunit-test.c | 2 net/8021q/vlan.c | 2 net/9p/trans_fd.c | 9 net/bluetooth/hci_event.c | 19 net/bluetooth/hci_sync.c | 21 net/bluetooth/iso.c | 11 net/bluetooth/mgmt.c | 6 net/bluetooth/rfcomm/tty.c | 26 net/bluetooth/sco.c | 7 net/bridge/br.c | 5 net/bridge/br_forward.c | 5 net/bridge/br_if.c | 1 net/bridge/br_input.c | 4 net/bridge/br_mst.c | 10 net/bridge/br_private.h | 13 net/core/filter.c | 1 net/core/page_pool.c | 12 net/core/sock.c | 15 net/dsa/tag_brcm.c | 70 - net/ethernet/eth.c | 5 net/ipv4/inet_diag.c | 14 net/ipv4/ip_input.c | 11 net/ipv4/netfilter/nf_reject_ipv4.c | 25 net/ipv4/nexthop.c | 6 net/ipv4/route.c | 2 net/ipv4/tcp.c | 4 net/ipv4/tcp_fastopen.c | 7 net/ipv4/udp_tunnel_nic.c | 2 net/ipv6/addrconf.c | 4 net/ipv6/ah6.c | 50 - net/ipv6/netfilter/nf_reject_ipv6.c | 30 net/ipv6/raw.c | 2 net/ipv6/udp.c | 2 net/mac80211/cfg.c | 20 net/mac80211/ieee80211_i.h | 2 net/mac80211/iface.c | 9 net/mac80211/key.c | 10 net/mac80211/mesh.c | 3 net/mac80211/mlme.c | 5 net/mptcp/protocol.c | 18 net/mptcp/protocol.h | 2 net/rds/rds.h | 2 net/sctp/diag.c | 21 security/integrity/ima/ima_appraise.c | 23 sound/drivers/serial-generic.c | 12 sound/pci/hda/patch_realtek.c | 17 sound/soc/codecs/cs-amp-lib-test.c | 1 sound/soc/codecs/tlv320aic3x.c | 32 sound/soc/fsl/fsl_sai.c | 11 sound/soc/intel/avs/pcm.c | 3 sound/soc/mediatek/mt8173/mt8173-rt5650.c | 2 sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c | 2 sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c | 2 sound/soc/mediatek/mt8186/mt8186-mt6366.c | 2 sound/soc/mediatek/mt8188/mt8188-mt6359.c | 8 sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c | 2 sound/soc/mediatek/mt8195/mt8195-mt6359.c | 4 sound/soc/meson/aiu-encoder-i2s.c | 9 sound/soc/qcom/qdsp6/q6asm.c | 2 sound/soc/qcom/sc8280xp.c | 3 sound/soc/sof/ipc4-pcm.c | 56 + sound/soc/stm/stm32_sai_sub.c | 8 sound/usb/mixer.c | 7 sound/usb/mixer_s1810c.c | 28 sound/usb/validate.c | 9 tools/bpf/bpftool/btf_dumper.c | 2 tools/bpf/bpftool/prog.c | 2 tools/include/linux/bitmap.h | 1 tools/lib/bpf/bpf_tracing.h | 2 tools/lib/bpf/usdt.bpf.h | 44 - tools/lib/bpf/usdt.c | 62 + tools/lib/thermal/Makefile | 9 tools/net/ynl/lib/ynl-priv.h | 4 tools/power/cpupower/lib/cpuidle.c | 5 tools/power/cpupower/lib/cpupower.c | 2 tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c | 30 tools/testing/selftests/Makefile | 2 tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 3 tools/testing/selftests/bpf/progs/verifier_arena_large.c | 1 tools/testing/selftests/bpf/test_lirc_mode2_user.c | 2 tools/testing/selftests/bpf/test_xsk.sh | 2 tools/testing/selftests/drivers/net/hw/rss_ctx.py | 11 tools/testing/selftests/drivers/net/netdevsim/Makefile | 4 tools/testing/selftests/net/fcnal-test.sh | 432 +++++----- tools/testing/selftests/net/forwarding/custom_multipath_hash.sh | 2 tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh | 2 tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh | 6 tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh | 2 tools/testing/selftests/net/forwarding/lib.sh | 8 tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh | 2 tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh | 4 tools/testing/selftests/net/gro.c | 12 tools/testing/selftests/net/mptcp/mptcp_join.sh | 6 tools/testing/selftests/net/psock_tpacket.c | 4 tools/testing/selftests/net/traceroute.sh | 51 - tools/testing/selftests/thermal/intel/workload_hint/workload_hint_test.c | 2 usr/include/headers_check.pl | 2 612 files changed, 5854 insertions(+), 2705 deletions(-)
Aaron Kling (1):
cpufreq: tegra186: Initialize all cores to max frequencies
Abdun Nihaal (2):
sfc: fix potential memory leak in efx_mae_process_mport()
Bluetooth: btrtl: Fix memory leak in rtlbt_parse_firmware_v2()
Adrian Hunter (3):
scsi: ufs: ufs-pci: Fix S0ix/S3 for Intel controllers
scsi: ufs: ufs-pci: Set UFSHCD_QUIRK_PERFORM_LINK_STARTUP_ONCE for Intel ADL
scsi: ufs: core: Add a quirk to suppress link_startup_again
Akhil P Oommen (1):
drm/msm/a6xx: Fix GMU firmware parser
Al Viro (3):
allow finish_no_open(file, ERR_PTR(-E...))
sparc64: fix prototypes of reads[bwl]()
nfs4_setup_readdir(): insufficient locking for ->d_parent->d_inode dereferencingAlbin Babu Varghese (1):
fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds
Aleksander Jan Bajkowski (5):
mips: lantiq: danube: add missing properties to cpu node
mips: lantiq: danube: add model to EASY50712 dts
mips: lantiq: danube: add missing device_type in pci node
mips: lantiq: xway: sysctrl: rename stp clock
mips: lantiq: danube: rename stp node on EASY50712 reference board
Alex Deucher (5):
drm/amd/display: add more cyan skillfish devices drm/amd: add more cyan skillfish PCI ids drm/amdgpu: don't enable SMU on cyan skillfish drm/amdgpu: add support for cyan skillfish gpu_info drm/amdgpu/smu: Handle S0ix for vangogh
Alex Hung (1):
drm/amd/display: Fix black screen with HDMI outputs
Alex Mastro (1):
vfio: return -ENOTTY for unsupported device feature
Alexander Stein (2):
mfd: stmpe: Remove IRQ domain upon removal
mfd: stmpe-i2c: Add missing MODULE_LICENSE
Alexey Klimov (2):
regmap: slimbus: fix bus_context pointer in regmap init calls
ASoC: qcom: sc8280xp: explicitly set S16LE format in sc8280xp_be_hw_params_fixup()
Alice Chao (2):
scsi: ufs: host: mediatek: Assign power mode userdata before FASTAUTO mode change
scsi: ufs: host: mediatek: Fix invalid access in vccqx handling
Alistair Francis (1):
nvme: Use non zero KATO for persistent discovery connections
Alok Tiwari (2):
udp_tunnel: use netdev_warn() instead of netdev_WARN()
scsi: libfc: Fix potential buffer overflow in fc_ct_ms_fill()
Amber Lin (1):
drm/amdkfd: Tie UNMAP_LATENCY to queue_preemption
Amery Hung (1):
bpf: Clear pfmemalloc flag when freeing all fragments
Amirreza Zarrabi (1):
tee: allow a driver to allocate a tee_device without a pool
Andreas Kemnade (1):
hwmon: sy7636a: add alias
Andrew Davis (2):
rpmsg: char: Export alias for RPMSG ID rpmsg-raw from table
remoteproc: wkup_m3: Use devm_pm_runtime_enable() helper
Andrii Nakryiko (1):
libbpf: Fix powerpc's stack register definition in bpf_tracing.h
Antheas Kapenekakis (2):
drm: panel-backlight-quirks: Make EDID match optional
HID: asus: add Z13 folio to generic group for multitouch to work
Anthony Iliopoulos (1):
NFSv4.1: fix mount hang after CREATE_SESSION failure
Antonino Maniscalco (1):
drm/msm: make sure to not queue up recovery more than once
Anubhav Singh (2):
selftests/net: fix out-of-order delivery of FIN in gro:tcp test selftests/net: use destination options instead of hop-by-hop
Ariel D'Alessandro (1):
drm/mediatek: Disable AFBC support on Mediatek DRM driver
Arkadiusz Bokowy (1):
Bluetooth: btusb: Check for unexpected bytes when defragmenting HCI frames
Armin Wolf (3):
ACPI: fan: Use ACPI handle when retrieving _FST
ACPI: fan: Use platform device for devres-related actions
hwmon: (dell-smm) Remove Dell Precision 490 custom config data
Arnd Bergmann (1):
mfd: madera: Work around false-positive -Wininitialized warning
Ashish Kalra (2):
iommu/amd: Skip enabling command/event buffers for kdump
crypto: ccp: Skip SEV and SNP INIT for kdump boot
Aurabindo Pillai (1):
drm/amd/display: fix condition for setting timing_adjust_pending
Ausef Yousof (1):
drm/amd/display: fix dml ms order of operations
Avadhut Naik (1):
hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models
Balamanikandan Gunasundar (1):
clk: at91: sam9x7: Add peripheral clock id for pmecc
Baochen Qiang (1):
Revert "wifi: ath10k: avoid unnecessary wait for service ready message"
Bart Van Assche (1):
scsi: ufs: core: Disable timestamp functionality if not supported
Bartosz Golaszewski (3):
pinctrl: keembay: release allocated memory in detach path
gpio: swnode: don't use the swnode's name as the key for GPIO lookup
gpiolib: fix invalid pointer access in debugfs
Bastien Curutchet (2):
mfd: core: Increment of_node's refcount before linking it to the platform device
net: dsa: microchip: Set SPI as bus interface during reset for KSZ8463
Ben Copeland (1):
hwmon: (asus-ec-sensors) increase timeout for locking ACPI mutex
Benjamin Lin (1):
wifi: mt76: mt7996: Temporarily disable EPCS
Bharat Uppal (1):
scsi: ufs: exynos: fsd: Gate ref_clk and put UFS device in reset on suspend
Biju Das (2):
mmc: host: renesas_sdhi: Fix the actual clock
spi: rpc-if: Add resume support for RZ/G3E
Brahmajit Das (1):
net: intel: fm10k: Fix parameter idx set but not used
Bruno Thomsen (1):
rtc: pcf2127: fix watchdog interrupt mask on pcf2131
Bui Quang Minh (2):
virtio-net: drop the multi-buffer XDP packet in zerocopy
virtio-net: fix received length check in big packets
Carolina Jubran (1):
net/mlx5e: Don't query FEC statistics when FEC is disabled
Ce Sun (2):
drm/amdgpu: Avoid rma causes GPU duplicate reset drm/amdgpu: Correct the counts of nr_banks and nr_errors
Cen Zhang (1):
Bluetooth: hci_sync: fix race in hci_cmd_sync_dequeue_once
Cezary Rojewski (2):
ASoC: Intel: avs: Unprepare a stream when XRUN occurs
ASoC: Intel: avs: Disable periods-elapsed work when closing PCM
Chandrakanth Patil (2):
scsi: mpi3mr: Fix I/O failures during controller reset
scsi: mpi3mr: Fix controller init failure on fault during queue creation
Chang S. Bae (1):
x86/fpu: Ensure XFD state on signal delivery
Chao Yu (1):
f2fs: fix to detect potential corrupted nid in free_nid_list
Charalampos Mitrodimas (1):
net: ipv6: fix field-spanning memcpy warning in AH output
Chelsy Ratnawat (1):
media: fix uninitialized symbol warnings
Chen Pei (1):
ACPI: SPCR: Support Precise Baud Rate field
Chen Wang (1):
PCI: cadence: Check for the existence of cdns_pcie::ops before using it
Chen Yufeng (1):
usb: cdns3: gadget: Use-after-free during failed initialization and exit of cdnsp gadget
Chen-Yu Tsai (1):
clk: sunxi-ng: sun6i-rtc: Add A523 specifics
Chengchang Tang (1):
RDMA/hns: Fix recv CQ and QP cache affinity
Chenghao Duan (1):
riscv: bpf: Fix uninitialized symbol 'retval_off'
Chi Zhang (1):
pinctrl: single: fix bias pull up/down handling in pin_config_set
Chi Zhiling (1):
exfat: limit log print for IO error
Chia-I Wu (1):
drm/panthor: check bo offset alignment in vm bind
Chih-Kang Chang (1):
wifi: rtw89: obtain RX path from ppdu status IE00
Chris Lu (2):
Bluetooth: btmtksdio: Add pmctrl handling for BT closed state during reset
Bluetooth: btusb: Add new VID/PID 13d3/3633 for MT7922
Christian Bruel (1):
irqchip/gic-v2m: Handle Multiple MSI base IRQ Alignment
Christian König (1):
drm/amdgpu: reject gang submissions under SRIOV
Christoph Hellwig (1):
dm error: mark as DM_TARGET_PASSES_INTEGRITY
Christoph Paasch (1):
net: When removing nexthops, don't call synchronize_net if it is not necessary
Christopher Ruehl (1):
power: supply: qcom_battmgr: add OOI chemistry
Chuande Chen (1):
hwmon: (sbtsi_temp) AMD CPU extended temperature range support
Chuck Lever (1):
NFSD: Fix crash in nfsd4_read_release()
ChunHao Lin (1):
r8169: set EEE speed down ratio to 1
Chunyan Zhang (1):
riscv: stacktrace: Disable KASAN checks for non-current tasks
Clay King (2):
drm/amd/display: ensure committing streams is seamless drm/amd/display: incorrect conditions for failing dto calculations
Coiby Xu (1):
ima: don't clear IMA_DIGSIG flag when setting or removing non-IMA xattr
Colin Foster (1):
smsc911x: add second read of EEPROM mac when possible corruption seen
Cryolitia PukNgae (1):
ALSA: usb-audio: apply quirk for MOONDROP Quark2
Damien Le Moal (2):
block: fix op_is_zone_mgmt() to handle REQ_OP_ZONE_RESET_ALL
block: make REQ_OP_ZONE_OPEN a write operation
Daniel Lezcano (1):
clocksource/drivers/vf-pit: Replace raw_readl/writel to readl/writel
Daniel Palmer (4):
fbdev: atyfb: Check if pll_ops->init_pll failed drm/radeon: Do not kfree() devres managed rdev drm/radeon: Remove calls to drm_put_dev()
eth: 8139too: Make 8139TOO_PIO depend on !NO_IOPORT_MAP
Daniel Wagner (2):
nvmet-fc: avoid scheduling association deletion twice
nvme-fc: use lock accessing port_state and rport state
Danny Wang (1):
drm/amd/display: Reset apply_eamless_boot_optimization when dpms_off
Dapeng Mi (1):
perf/x86/intel: Fix KASAN global-out-of-bounds warning
David Ahern (2):
selftests: Disable dad for ipv6 in fcnal-test.sh
selftests: Replace sleep with slowwait
David Francis (1):
drm/amdgpu: Allow kfd CRIU with no buffer objects
David Ober (1):
hwmon: (lenovo-ec-sensors) Update P8 supprt
David Rosca (1):
drm/sched: avoid killing parent entity on child SIGKILL
David Yang (1):
selftests: forwarding: Reorder (ar)ping arguments to obey POSIX getopt
Dennis Beier (1):
cpufreq/longhaul: handle NULL policy in longhaul_exit
Devendra K Verma (1):
dmaengine: dw-edma: Set status for callback_result
Dmitry Baryshkov (1):
drm/bridge: display-connector: don't set OP_DETECT for DisplayPorts
Dragos Tatulea (2):
page_pool: Clamp pool size to max 16K pages net/mlx5e: SHAMPO, Fix skb size check for 64K pages
Emil Dahl Juhl (1):
tools: lib: thermal: don't preserve owner in install
Eric Dumazet (5):
idpf: do not linearize big TSO packets
inet_diag: annotate data-races in inet_diag_bc_sk()
tcp: use dst_dev_rcu() in tcp_fastopen_active_disable_ofo_check()
net: call cond_resched() less often in __release_sock()
ipv6: np->rxpmtu race annotation
Eric Huang (1):
drm/amdkfd: fix vram allocation failure for a special case
Fabien Proriol (1):
power: supply: sbs-charger: Support multiple devices
Fangzhi Zuo (1):
drm/amd/display: Fix pbn_div Calculation Error
Farhan Ali (1):
s390/pci: Restore IRQ unconditionally for the zPCI device
Felix Fietkau (1):
wifi: mt76: mt7996: fix memory leak on mt7996_mcu_sta_key_tlv error
Fenglin Wu (1):
power: supply: qcom_battmgr: handle charging state change notifications
Fiona Ebner (1):
smb: client: transport: avoid reconnects triggered by pending task work
Florian Fuchs (1):
fbdev: pvr2fb: Fix leftover reference to ONCHIP_NR_DMA_CHANNELS
Florian Schmaus (1):
kunit: test_dev_action: Correctly cast 'priv' pointer to long*
Florian Westphal (1):
netfilter: nf_reject: don't reply to icmp error messages
Forest Crossman (1):
usb: mon: Increase BUFF_MAX to 64 MiB to support multi-MB URBs
Francisco Gutierrez (1):
scsi: pm80xx: Fix race condition caused by static variables
Gal Pressman (1):
net/mlx5e: Fix return value in case of module EEPROM read error
Gaurav Jain (1):
crypto: caam - double the entropy delay interval for retry
Geert Uytterhoeven (1):
kbuild: uapi: Strip comments before size type check
Geoffrey McRae (1):
drm/amdkfd: return -ENOTTY for unsupported IOCTLs
Gerd Bayer (1):
s390/pci: Avoid deadlock between PCI error recovery and mlx5 crdump
Gokul Sivakumar (1):
wifi: brcmfmac: fix crash while sending Action Frames in standalone AP Mode
Greg Kroah-Hartman (1):
Linux 6.12.58
Gregory Price (1):
x86/CPU/AMD: Add RDSEED fix for Zen5
Guangshuo Li (1):
drm/amdgpu/atom: Check kcalloc() for WS buffer in amdgpu_atom_execute_table_locked()
Haibo Chen (1):
iio: adc: imx93_adc: load calibrated values even calibration failed
Hangbin Liu (1):
net: vlan: sync VLAN features with lower device
Hans de Goede (2):
ACPI: scan: Add Intel CVS ACPI HIDs to acpi_ignore_dep_ids[]
ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method()
Hao Yao (1):
media: ov08x40: Fix the horizontal flip control
Haotian Zhang (2):
crypto: aspeed - fix double free caused by devm
net: wan: framer: pef2256: Switch to devm_mfd_add_devices()
Harikrishna Shenoy (1):
phy: cadence: cdns-dphy: Enable lower resolutions in dphy
Hector Martin (1):
iommu/apple-dart: Clear stream error indicator bits for T8110 DARTs
Heijligen, Thomas (1):
mfd: kempld: Switch back to earlier ->init() behavior
Heiko Carstens (1):
s390: Disable ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
Heiner Kallweit (1):
net: phy: fixed_phy: let fixed_phy_unregister free the phy_device
Helge Deller (1):
parisc: Avoid crash due to unaligned access in unwinder
Heng Zhou (1):
drm/amdgpu: fix nullptr err of vm_handle_moved
Henrique Carvalho (2):
smb: client: fix potential cfid UAF in smb2_query_info_compound
smb: client: fix potential UAF in smb2_close_cached_fid()
Hongguang Gao (2):
bnxt_en: Refactor bnxt_free_ctx_mem()
bnxt_en: Add a 'force' parameter to bnxt_free_ctx_mem()
Horatiu Vultur (1):
lan966x: Fix sleeping in atomic context
Hoyoung Seo (1):
scsi: ufs: core: Include UTP error in INT_FATAL_ERRORS
Ian Rogers (1):
tools bitmap: Add missing asm-generic/bitsperlong.h include
Ido Schimmel (3):
bridge: Redirect to backup port when port is administratively down
selftests: traceroute: Use require_command()
selftests: traceroute: Return correct value on failure
Ilan Peer (2):
wifi: mac80211: Fix HE capabilities element check
wifi: mac80211: Track NAN interface start/stop
Ilia Gavrilov (1):
Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()
Ilpo Järvinen (1):
mfd: intel-lpss: Add Intel Wildcat Lake LPSS PCI IDs
Inochi Amaoto (1):
irqchip/sifive-plic: Respect mask state when setting affinity
Iulia Tanasescu (1):
Bluetooth: ISO: Update hci_conn_hash_lookup_big for Broadcast slave
Ivan Lipski (2):
drm/amd/display: Fix incorrect return of vblank enable on unconfigured crtc drm/amd/display: Support HW cursor 180 rot for any number of pipe splits
Ivan Pravdin (1):
Bluetooth: bcsp: receive data only if registered
Jacky Bai (1):
clk: scmi: Add duty cycle ops only when duty cycle is supported
Jacob Moroni (3):
RDMA/irdma: Fix SD index calculation RDMA/irdma: Remove unused struct irdma_cq fields RDMA/irdma: Set irdma_cq cq_num field during CQ create
Jaegeuk Kim (1):
f2fs: fix wrong layout information on 16KB page
Jakub Kicinski (4):
selftests: drv-net: rss_ctx: fix the queue count check
selftests: drv-net: rss_ctx: make the test pass with few queues
selftests: net: replace sleeps in fcnal-test with waits
page_pool: always add GFP_NOWARN for ATOMIC allocations
Janne Grunau (1):
pmdomain: apple: Add "apple,t8103-pmgr-pwrstate"
Jarkko Nikula (1):
i3c: mipi-i3c-hci-pci: Add support for Intel Wildcat Lake-U I3C
Jason Gunthorpe (1):
iommufd: Don't overflow during division for dirty tracking
Jayesh Choudhary (1):
drm/tidss: Set crtc modesetting parameters with adjusted mode
Jens Kehne (1):
mfd: da9063: Split chip variant reading in two bus transactions
Jens Reidel (1):
soc: qcom: smem: Fix endian-unaware access of num_entries
Jerome Brunet (1):
NTB: epf: Allow arbitrary BAR mapping
Jiawei Zhao (1):
libbpf: Fix USDT SIB argument handling causing unrecognized register error
Jiawen Wu (2):
net: wangxun: limit tx_max_coalesced_frames_irq
net: libwx: fix device bus LAN ID
Jiayi Li (1):
memstick: Add timeout to prevent indefinite waiting
Jijie Shao (1):
net: hns3: return error code when function fails
Jiri Olsa (1):
uprobe: Do not emulate/sstep original instruction when ip is changed
Johan Hovold (2):
Bluetooth: rfcomm: fix modem control handling drm/mediatek: Fix device use-after-free on unbind
Johannes Berg (1):
wifi: mac80211: fix key tailroom accounting leak
John Harrison (2):
drm/xe/guc: Add more GuC load error status codes drm/xe/guc: Return an error code if the GuC load fails
John Keeping (1):
ALSA: serial-generic: remove shared static buffer
John Smith (2):
drm/amd/pm/powerplay/smumgr: Fix PCIeBootLinkLevel value on Fiji drm/amd/pm/powerplay/smumgr: Fix PCIeBootLinkLevel value on Iceland
Jonas Gorski (5):
net: dsa: tag_brcm: legacy: fix untagged rx on unbridged ports for bcm63xx
net: dsa: b53: fix resetting speed and pause on forced link
net: dsa: b53: fix bcm63xx RGMII port link adjustment
net: dsa: b53: fix enabling ip multicast
net: dsa: b53: stop reading ARL entries if search is done
Jonas Schwöbel (1):
ARM: tegra: p880: set correct touchscreen clipping
Josephine Pfeiffer (1):
riscv: ptdump: use seq_puts() in pt_dump_seq_puts() macro
Joshua Grisham (1):
ACPI: fan: Add fan speed reporting for fans with only _FST
Joshua Rogers (1):
smb: client: validate change notify buffer before copy
Josua Mayer (1):
rtc: pcf2127: clear minute/second interrupt
Julian Sun (1):
ext4: increase IO priority of fastcommit
Junjie Cao (1):
fbdev: bitblit: bound-check glyph index in bit_putcs*
Junxian Huang (1):
RDMA/hns: Fix wrong WQE data when QP wraps around
Juraj Šarinay (1):
net: nfc: nci: Increase NCI_DATA_TIMEOUT to 3000 ms
Justin Tee (6):
scsi: lpfc: Clean up allocated queues when queue setup mbox commands fail
scsi: lpfc: Decrement ndlp kref after FDISC retries exhausted
scsi: lpfc: Check return status of lpfc_reset_flush_io_context during TGT_RESET
scsi: lpfc: Remove ndlp kref decrement clause for F_Port_Ctrl in lpfc_cleanup
scsi: lpfc: Define size of debugfs entry for xri rebalancing
scsi: lpfc: Ensure PLOGI_ACC is sent prior to PRLI in Point to Point topology
Kailang Yang (1):
ALSA: hda/realtek: Audio disappears on HP 15-fc000 after warm boot again
Kalesh AP (1):
bnxt_en: Fix a possible memory leak in bnxt_ptp_init
Karthi Kandasamy (1):
drm/amd/display: Add AVI infoframe copy in copy_stream_update_to_stream
Karthik M (1):
wifi: ath12k: free skb during idr cleanup callback
Karunika Choo (1):
drm/panthor: Serialize GPU cache flush operations
Kaushlendra Kumar (5):
ACPI: button: Call input_free_device() on failing input device registration
ACPI: sysfs: Use ACPI_FREE() for freeing an ACPI object tools/cpupower: fix error return value in cpupower_write_sysfs() tools/cpupower: Fix incorrect size in cpuidle_state_disable() tools/power x86_energy_perf_policy: Fix incorrect fopen mode usage
Kees Cook (1):
arc: Fix __fls() const-foldability via __builtin_clzl()
Kent Russell (1):
drm/amdkfd: Handle lack of READ permissions in SVM mapping
Kirill A. Shutemov (2):
x86/vsyscall: Do not require X86_PF_INSTR to emulate vsyscall x86/runtime-const: Add the RUNTIME_CONST_PTR assembly macro
Koakuma (1):
sparc/module: Add R_SPARC_UA64 relocation handling
Konstantin Sinyuk (1):
accel/habanalabs/gaudi2: read preboot status after recovering from dirty state
Kotresh HR (1):
ceph: fix multifs mds auth caps issue
Krishna Kurapati (1):
usb: xhci: plat: Facilitate using autosuspend for xhci plat devices
Krzysztof Kozlowski (4):
extcon: adc-jack: Fix wakeup source leaks on device unbind drm/msm/dsi/phy: Toggle back buffer resync after preparing PLL drm/msm/dsi/phy_7nm: Fix missing initial VCO rate
extcon: adc-jack: Cleanup wakeup source only if it was enabled
Kuan-Chung Chen (2):
wifi: rtw89: wow: remove notify during WoWLAN net-detect
wifi: rtw89: fix BSSID comparison for non-transmitted BSSID
Kumar Kartikeya Dwivedi (1):
bpf: Do not limit bpf_cgroup_from_id to current's namespace
Kuniyuki Iwashima (1):
net: Call trace_sock_exceed_buf_limit() for memcg failure with SK_MEM_RECV.
Laurent Pinchart (2):
media: pci: ivtv: Don't create fake v4l2_fh
media: amphion: Delete v4l2_fh synchronously in .release()
Len Brown (2):
tools/power x86_energy_perf_policy: Enhance HWP enable tools/power x86_energy_perf_policy: Prefer driver HWP limits
Li RongQing (1):
x86/kvm: Prefer native qspinlock for dedicated vCPUs irrespective of PV_UNHALT
Lijo Lazar (2):
drm/amd/pm: Use cached metrics data on aldebaran drm/amd/pm: Use cached metrics data on arcturus
Linus Torvalds (2):
x86: use cmov for user address masking
x86: uaccess: don't use runtime-const rewriting in modules
Lizhi Xu (1):
usbnet: Prevents free active kevent
Lo-an Chen (1):
drm/amd/display: Init dispclk from bootup clock for DCN314
Loic Poulain (2):
wifi: ath10k: Fix memory leak on unsupported WMI command
wifi: ath10k: Fix connection after GTK rekeying
Luiz Augusto von Dentz (5):
Bluetooth: ISO: Fix BIS connection dst_type handling
Bluetooth: HCI: Fix tracking of advertisement set/instance 0x00
Bluetooth: ISO: Fix another instance of dst_type handling
Bluetooth: hci_core: Fix tracking of periodic advertisement
Bluetooth: SCO: Fix UAF on sco_conn_free
Lukas Wunner (2):
PCI/ERR: Update device error_state already after reset
thunderbolt: Use is_pciehp instead of is_hotplug_bridge
Maarten Lankhorst (1):
drm/xe: Fix oops in xe_gem_fault when running core_hotunplug test.
Maarten Zanders (1):
ASoC: fsl_sai: Fix sync error in consumer mode
Mangesh Gadre (1):
drm/amdgpu: Avoid vcn v5.0.1 poison irq call trace on sriov guest
Marcos Del Sol Vives (1):
PCI: Disable MSI on RDC PCI to PCIe bridges
Marek Szyprowski (1):
media: videobuf2: forbid remove_bufs when legacy fileio is active
Marek Vasut (1):
PCI: endpoint: pci-epf-test: Limit PCIe BAR size for fixed BARs
Mario Limonciello (4):
drm/amd: Check that VPE has reached DPM0 in idle handler drm/amd/display: Set up pixel encoding for YCBCR422 PCI/PM: Skip resuming to D0 if device is disconnected drm/amd/display: Add fallback path for YCBCR422
Mario Limonciello (AMD) (5):
ACPI: video: force native for Lenovo 82K8
Fix access to video_is_primary_device() when compiled without CONFIG_VIDEO drm/amd: Avoid evicting resources at S5
HID: i2c-hid: Resolve touchpad issues on Dell systems during S4 x86/microcode/AMD: Add more known models to entry sign checking
Mark Pearson (1):
wifi: ath11k: Add missing platform IDs for quirk table
Marko Mäkelä (1):
clk: qcom: gcc-ipq6018: rework nss_port5 clock to multiple conf
Markus Stockhausen (2):
clocksource/drivers/timer-rtl-otto: Work around dying timers clocksource/drivers/timer-rtl-otto: Do not interfere with interrupts
Martin Tůma (1):
media: pci: mgb4: Fix timings comparison in VIDIOC_S_DV_TIMINGS
Martin Willi (1):
wifi: mac80211_hwsim: Limit destroy_on_close radio removal to netgroup
Matthew Brost (1):
drm/xe: Do not wake device during a GT reset
Matthias Schiffer (1):
clk: ti: am33xx: keep WKUP_DEBUGSS_CLKCTRL enabled
Matthieu Baerts (NGI0) (1):
selftests: mptcp: join: allow more time to send ADD_ADDR
Meghana Malladi (1):
net: ti: icssg-prueth: Fix fdb hash size configuration
Mehdi Djait (1):
media: i2c: Kconfig: Ensure a dependency on HAVE_CLK for VIDEO_CAMERA_SENSOR
Melissa Wen (2):
drm/amd/display: change dc stream color settings only in atomic commit drm/amd/display: update color on atomic commit time
Meng Li (1):
drm/amd/amdgpu: Release xcp drm memory after unplug
Miaoqian Lin (3):
net: usb: asix_devices: Check return value of usbnet_get_endpoints
fbdev: valkyriefb: Fix reference count leak in valkyriefb_init s390/mm: Fix memory leak in add_marker() when kvrealloc() fails
Michael Dege (1):
phy: renesas: r8a779f0-ether-serdes: add new step added to latest datasheet
Michael Riesch (1):
phy: rockchip: phy-rockchip-inno-csidphy: allow writes to grf register 0
Michael Strauss (2):
drm/amd/display: Move setup_stream_attribute drm/amd/display: Increase AUX Intra-Hop Done Max Wait Duration
Michal Pecio (1):
usb: xhci-pci: Fix USB2-only root hub registration
Michal Wajdeczko (1):
drm/xe/guc: Set upper limit of H2G retries over CTB
Mike Marshall (1):
orangefs: fix xattr related buffer overflow...
Miklos Szeredi (1):
fuse: zero initialize inode private data
Ming Wang (1):
irqchip/loongson-pch-lpc: Use legacy domain for PCH-LPC IRQ controller
Miri Korenblit (1):
wifi: mac80211: don't mark keys for inactive links as uploaded
Miroslav Lichvar (1):
ptp: Limit time setting of PTP clocks
Mohammad Heib (2):
net: ionic: add dma_wmb() before ringing TX doorbell
net: ionic: map SKB after pseudo-header checksum prep
Moti Haimovski (1):
accel/habanalabs: support mapping cb with vmalloc-backed coherent memory
Mukesh Ojha (1):
firmware: qcom: scm: preserve assign_mem() error return value
Mykyta Yatsenko (1):
selftests/bpf: Fix flaky bpf_cookie selftest
Nai-Chen Cheng (1):
selftests/Makefile: include $(INSTALL_DEP_TARGETS) in clean target to clean net/lib dependency
Namjae Jeon (2):
exfat: validate cluster allocation bits of the allocation bitmap
ksmbd: use sock_create_kern interface to create kernel socket
Nathan Chancellor (1):
lib/crypto: curve25519-hacl64: Fix older clang KASAN workaround for GCC
Nicolas Ferre (2):
ARM: at91: pm: save and restore ACR during PLL disable/enable
clk: at91: clk-sam9x60-pll: force write to PLL_UPDT register
Nidhish A N (1):
wifi: iwlwifi: fw: Add ASUS to PPAG and TAS list
Nikita Travkin (1):
firmware: qcom: tzmem: disable sc7180 platform
Niklas Cassel (1):
PCI: dwc: Verify the single eDMA IRQ in dw_pcie_edma_irq_verify()
Niklas Neronin (1):
usb: xhci-pci: add support for hosts with zero USB3 ports
Niklas Schnelle (2):
powerpc/eeh: Use result of error_detected() in uevent s390/pci: Use pci_uevent_ers() in PCI recovery
Niklas Söderlund (4):
media: adv7180: Add missing lock in suspend callback
media: adv7180: Do not write format to device in set_fmt
media: adv7180: Only validate format in querystd
net: sh_eth: Disable WoL if system can not suspend
Nikolay Aleksandrov (2):
net: bridge: fix use-after-free due to MST port state bypass
net: bridge: fix MST static key usage
Nithyanantham Paramasivam (1):
wifi: ath12k: Increase DP_REO_CMD_RING_SIZE to 256
Noorain Eqbal (1):
bpf: Sync pending IRQ work before freeing ring buffer
Oleg Nesterov (1):
9p/trans_fd: p9_fd_request: kick rx thread if EPOLLIN
Oleksij Rempel (2):
net: stmmac: Correctly handle Rx checksum offload errors
net: phy: clear link parameters on admin link down
Olga Kornievskaia (1):
NFSv4: handle ERR_GRACE on delegation recalls
Olivier Moysan (1):
ASoC: stm32: sai: manage context in set_sysclk callback
Ondrej Mosnacek (1):
bpf: Do not audit capability check in do_jit()
Oscar Maes (1):
net: ipv4: allow directed broadcast routes to use dst hint
Ovidiu Panait (1):
crypto: sun8i-ce - remove channel timeout field
Owen Gu (1):
usb: gadget: f_fs: Fix epfile null pointer access after ep enable.
Paolo Abeni (2):
mptcp: drop bogus optimization in __mptcp_check_push()
mptcp: restore window probe
Paresh Bhagat (1):
cpufreq: ti: Add support for AM62D2
Parthiban Veerasooran (1):
microchip: lan865x: add ndo_eth_ioctl handler to enable PHY ioctl support
Paul Chaignon (1):
bpf: Use tnums for JEQ/JNE is_branch_taken logic
Paul Hsieh (1):
drm/amd/display: update dpp/disp clock from smu clock table
Paul Kocialkowski (1):
media: verisilicon: Explicitly disable selection api ioctls for decoders
Pavan Chebbi (1):
bnxt_en: Add Hyper-V VF ID
Pavel Begunkov (1):
io_uring/zctx: check chained notif contexts
Peter Ujfalusi (1):
ASoC: SOF: ipc4-pcm: Add fixup for channels
Peter Wang (8):
scsi: ufs: host: mediatek: Fix auto-hibern8 timer configuration
scsi: ufs: host: mediatek: Fix PWM mode switch issue
scsi: ufs: host: mediatek: Change reset sequence for improved stability
scsi: ufs: host: mediatek: Enhance recovery on resume failure
scsi: ufs: host: mediatek: Fix unbalanced IRQ enable issue
scsi: ufs: host: mediatek: Enhance recovery on hibernation exit failure
scsi: ufs: host: mediatek: Correct system PM flow
scsi: ufs: host: mediatek: Disable auto-hibern8 during power mode changes
Petr Machata (1):
net: bridge: Install FDB for bridge MAC on VLAN 0
Petr Oros (2):
tools: ynl: fix string attribute length to include null terminator
dpll: spec: add missing module-name and clock-id to pin-get reply
Philip Yang (1):
drm/amdkfd: Fix mmap write lock not release
Philipp Stanner (2):
drm/nouveau: Fix race in nouveau_sched_fini() drm/sched: Fix race in drm_sched_entity_select_rq()
Pierre-Eric Pelloux-Prayer (1):
drm/sched: Fix deadlock in drm_sched_entity_kill_jobs_cb
Ping-Ke Shih (2):
wifi: rtw89: print just once for unknown C2H events
wifi: rtw88: sdio: use indirect IO for device registers before power-on
Pranav Tyagi (1):
futex: Don't leak robust_list pointer on exec race
Primoz Fiser (1):
ASoC: tlv320aic3x: Fix class-D initialization for tlv320aic3007
Punit Agrawal (1):
ACPI: SPCR: Check for table version when using precise baudrate
Qendrim Maxhuni (1):
net: usb: qmi_wwan: initialize MAC header offset in qmimux_rx_fixup
Qianfeng Rong (3):
crypto: qat - use kcalloc() in qat_uclo_map_objs_from_mof()
scsi: pm8001: Use int instead of u32 to store error codes
media: redrat3: use int type to store negative error codes
Qingfang Deng (1):
6pack: drop redundant locking and refcounting
Qu Wenruo (1):
btrfs: ensure no dirty metadata is written back for an fs with errors
Quan Zhou (1):
wifi: mt76: mt7921: Add 160MHz beamformee capability for mt7922 device
Quanmin Yan (1):
fbcon: Set fb_display[i]->mode to NULL when the mode is released
Quanyang Wang (1):
arm64: zynqmp: Disable coresight by default
Radhey Shyam Pandey (1):
arm64: zynqmp: Revert usb node drive strength and slew rate for zcu106
Rafael J. Wysocki (4):
cpuidle: governors: menu: Rearrange main loop in menu_select()
cpuidle: governors: menu: Select polling state in some more cases
thermal: gov_step_wise: Allow cooling level to be reduced earlier
cpuidle: Fail cpuidle device registration if there is one already
Rameshkumar Sundaram (1):
wifi: ath11k: avoid bit operation on key flags
Ramya Gnanasekar (1):
wifi: mac80211: Fix 6 GHz Band capabilities element advertisement in lower bands
Randall P. Embry (2):
9p: fix /sys/fs/9p/caches overwriting itself 9p: sysfs_init: don't hardcode error to ENOMEM
Ranjan Kumar (1):
scsi: mpt3sas: Add support for 22.5 Gbps SAS link rate
Raphael Pinsonneault-Thibeault (1):
Bluetooth: hci_event: validate skb length for unknown CC opcode
Relja Vojvodic (1):
drm/amd/display: Increase minimum clock for TMDS 420 with pipe splitting
Ricardo B. Marlière (2):
selftests/bpf: Fix bpf_prog_detach2 usage in test_lirc_mode2 selftests/bpf: Upon failures, exit with code 1 in test_xsk.sh
Ricardo Ribalda (1):
media: uvcvideo: Use heuristic to find stream entity
Richard Fitzgerald (1):
ASoC: cs-amp-lib-test: Fix missing include of kunit/test-bug.h
Richard Zhu (1):
PCI: imx6: Enable the Vaux supply if available
Rob Clark (1):
drm/msm/registers: Generate _HI/LO builders for reg64
Robert Marko (1):
net: ethernet: microchip: sparx5: make it selectable for ARCH_LAN969X
Rodrigo Gobbi (1):
iio: adc: spear_adc: mask SPEAR_ADC_STATUS channel and avg sample before setting register
Rohan G Thomas (2):
net: phy: marvell: Fix 88e1510 downshift counter errata
net: stmmac: est: Drop frames causing HLBS error
Rong Zhang (2):
hwmon: (k10temp) Add device ID for Strix Halo drm/amd/display: Fix NULL deref in debugfs odm_combine_segments
Rosen Penev (2):
dmaengine: mv_xor: match alloc_wc and free_wc
wifi: mt76: mt76_eeprom_override to int
Roy Vegard Ovesen (2):
ALSA: usb-audio: fix control pipe direction
ALSA: usb-audio: add mono main switch to Presonus S1824c
Ryan Chen (1):
soc: aspeed: socinfo: Add AST27xx silicon IDs
Ryan Wanner (1):
clk: at91: clk-master: Add check for divide by 3
Sakari Ailus (2):
media: ipu6: isys: Set embedded data type correctly for metadata formats
ACPI: property: Return present device nodes only on fwnode interface
Saket Dumbre (1):
ACPICA: Update dsmethod.c to get rid of unused variable warning
Sam van Kampen (1):
ACPI: resource: Skip IRQ override on ASUS Vivobook Pro N6506CU
Sammy Hsu (1):
net: wwan: t7xx: add support for HP DRMR-H01
Sangwook Shin (1):
watchdog: s3c2410_wdt: Fix max_timeout being calculated larger
Sarthak Garg (1):
mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card
Sascha Hauer (1):
tools: lib: thermal: use pkg-config to locate libnl3
Sathishkumar S (3):
drm/amdgpu: Check vcn sram load return value drm/amdgpu/jpeg: Hold pg_lock before jpeg poweroff drm/amdgpu: Fix unintended error log in VCN5_0_0
Seyediman Seyedarab (2):
drm/nouveau: replace snprintf() with scnprintf() in nvkm_snprintbf() iommu/vt-d: Replace snprintf with scnprintf in dmar_latency_snapshot()
Shang song (Lenovo) (1):
ACPI: PRM: Skip handlers with NULL handler_address or NULL VA
Shardul Bankar (1):
btrfs: fix memory leak of qgroup_list in btrfs_add_qgroup_relation
Shaurya Rane (1):
jfs: fix uninitialized waitqueue in transaction manager
Shengjiu Wang (1):
ASoC: fsl_sai: fix bit order for DSD format
Shruti Parab (1):
bnxt_en: Add mem_valid bit to struct bnxt_ctx_mem_type
Shubhrajyoti Datta (1):
clk: clocking-wizard: Fix output clock register offset for Versal platforms
Sohil Mehta (1):
cpufreq: ondemand: Update the efficient idle check for Intel extended Families
Sridevi Arvindekar (1):
drm/amd/display: Fix for test crash due to power gating
Srinivas Kandagatla (1):
ASoC: qdsp6: q6asm: do not sleep while atomic
Srinivas Pandruvada (2):
thermal: intel: selftests: workload_hint: Mask unsupported types platform/x86/intel-uncore-freq: Fix warning in partitioned system
Srinivasan Shanmugam (1):
drm/amdgpu: Fix function header names in amdgpu_connectors.c
Stanislav Fomichev (1):
net: devmem: expose tcp_recvmsg_locked errors
Stefan Wahren (1):
ethernet: Extend device_get_mac_address() to use NVMEM
Stefan Wiehler (3):
sctp: Hold RCU read lock while iterating over address list
sctp: Prevent TOCTOU out-of-bounds write
sctp: Hold sock lock while iterating over address list
Stephan Gerhold (1):
remoteproc: qcom: q6v5: Avoid handling handover twice
Steven Rostedt (1):
ring-buffer: Do not warn in ring_buffer_map_get_reader() when reader catches up
Sungho Kim (1):
PCI/P2PDMA: Fix incorrect pointer usage in devm_kfree() call
Sunil V L (1):
ACPI: scan: Update honor list for RPMI System MSI
Svyatoslav Ryhel (4):
soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups
ARM: tegra: transformer-20: add missing magnetometer interrupt
ARM: tegra: transformer-20: fix audio-codec interrupt
video: backlight: lp855x_bl: Set correct EPROM start for LP8556
Takashi Iwai (1):
ALSA: usb-audio: Add validation of UAC2/UAC3 effect units
Takashi Sakamoto (1):
firewire: ohci: move self_id_complete tracepoint after validating register
Tao Zhou (1):
drm/amdgpu: add range check for RAS bad page address
Tatyana Nikolova (1):
RDMA/irdma: Update Kconfig
Tejun Heo (1):
sched_ext: Mark scx_bpf_dsq_move_set_[slice|vtime]() with KF_RCU
Terry Cheong (1):
ASoC: mediatek: Use SND_JACK_AVOUT for HDMI/DP jacks
Tetsuo Handa (3):
media: imon: make send_packet() more robust
ntfs3: pretend $Extend records as regular files
jfs: Verify inode mode when loading from disk
Thadeu Lima de Souza Cascardo (1):
char: misc: restrict the dynamic range to exclude reserved minors
Thomas Andreatta (1):
dmaengine: sh: setup_xref error handling
Thomas Bogendoerfer (1):
tty: serial: ip22zilog: Use platform device for probing
Thomas Weißschuh (4):
spi: loopback-test: Don't use %pK through printk
soc: ti: pruss: don't use %pK through printk
bpf: Don't use %pK through printk
ice: Don't use %pK through printk or tracepoints
Thomas Zimmermann (2):
drm/sysfb: Do not dereference NULL pointer in plane reset drm/ast: Clear preserved bits from register output value
Théo Lebrun (1):
net: macb: avoid dealing with endianness in macb_set_hwaddr()
Tiezhu Yang (2):
net: stmmac: Check stmmac_hw_setup() in stmmac_resume()
LoongArch: Handle new atomic instructions for probes
Timothy Pearson (1):
vfio/pci: Fix INTx handling on legacy non-PCI 2.3 devices
Timur Kristóf (3):
drm/amdgpu: Respect max pixel clock for HDMI and DVI-D (v2) drm/amd/display: Fix DVI-D/HDMI adapters drm/amd/display: Disable VRR on DCE 6
Tiwei Bie (1):
um: Fix help message for ssl-non-raw
Tom Stellard (1):
bpftool: Fix -Wuninitialized-const-pointer warnings with clang >= 21
Tomasz Pakuła (2):
HID: pidff: Use direction fix only for conditional effects
HID: pidff: PERMISSIVE_CONTROL quirk autodetection
Tomer Tayar (1):
accel/habanalabs: return ENOMEM if less than requested pages were pinned
Tomeu Vizoso (1):
drm/etnaviv: fix flush sequence logic
Tomi Valkeinen (3):
drm/tidss: Use the crtc_* timings when programming the HW drm/bridge: cdns-dsi: Fix REG_WAKEUP_TIME value drm/bridge: cdns-dsi: Don't fail on MIPI_DSI_MODE_VIDEO_BURST
Tristram Ha (1):
net: dsa: microchip: Fix reserved multicast address table programming
TungYu Lu (1):
drm/amd/display: Wait until OTG enable state is cleared
Tvrtko Ursulin (3):
drm/sched: Optimise drm_sched_entity_push_job drm/sched: Re-group and rename the entity run-queue lock drm/amdgpu: Use memdup_array_user in amdgpu_cs_wait_fences_ioctl
Ujwal Kundur (1):
rds: Fix endianness annotation for RDS_MPATH_HASH
Uwe Kleine-König (1):
pwm: pca9685: Use bulk write to atomicially update registers
Valerio Setti (1):
ASoC: meson: aiu-encoder-i2s: fix bit clock polarity
Vered Yavniely (1):
accel/habanalabs/gaudi2: fix BMON disable configuration
Viacheslav Dubeyko (3):
ceph: add checking of wait_for_completion_killable() return value
ceph: fix potential race condition in ceph_ioctl_lazyio()
ceph: refactor wake_up_bit() pattern of calling
Vivek Pernamitta (1):
bus: mhi: core: Improve mhi_sync_power_up handling for SYS_ERR state
Vlad Dumitrescu (1):
IB/ipoib: Ignore L3 master device
Vladimir Oltean (1):
net: dsa: felix: support phy-mode = "10g-qxgmii"
Vladimir Riabchun (1):
ftrace: Fix softlockup in ftrace_module_enable
Vladimir Zapolskiy (1):
media: i2c: og01a1b: Specify monochrome media bus format instead of Bayer
Wake Liu (2):
selftests/net: Replace non-standard __WORDSIZE with sizeof(long) * 8 selftests/net: Ensure assert() triggers in psock_tpacket.c
Wang Liang (1):
selftests: netdevsim: Fix ethtool-coalesce.sh fail by installing ethtool-common.sh
Wayne Lin (1):
drm/amd/display: Enable mst when it's detected but yet to be initialized
Weili Qian (2):
crypto: hisilicon/qm - invalidate queues in use
crypto: hisilicon/qm - clear all VF configurations in the hardware
William Wu (1):
usb: gadget: f_hid: Fix zero length packet transfer
Wonkon Kim (1):
scsi: ufs: core: Initialize value of an attribute returned by uic cmd
Xi Ruoyao (1):
drm/amd/display/dml2: Guard dml21_map_dc_state_into_dml_display_cfg with DC_FP_START
Xiang Liu (1):
drm/amdgpu: Skip poison aca bank from UE channel
Xichao Zhao (1):
tty: serial: Modify the use of dev_err_probe()
Xion Wang (1):
char: Use list_del_init() in misc_deregister() to reinitialize list pointer
Yafang Shao (1):
net/cls_cgroup: Fix task_get_classid() during qdisc run
Yang Wang (1):
drm/amd/pm: fix smu table id bound check issue in smu_cmn_update_table()
Yifan Zhang (1):
amd/amdkfd: resolve a race in amdgpu_amdkfd_device_fini_sw
Yikang Yue (1):
fs/hpfs: Fix error code for new_inode() failure in mkdir/create/mknod/symlink
Yonghong Song (3):
bpf: Find eligible subprogs for private stack support bpf, x86: Avoid repeated usage of bpf_prog->aux->stack_depth selftests/bpf: Fix selftest verifier_arena_large failure
Yu Kuai (1):
blk-cgroup: fix possible deadlock while configuring policy
Yu Zhang(Yuriy) (1):
wifi: ath11k: add support for MU EDCA
Yue Haibing (1):
ipv6: Add sanity checks on ipv6_devconf.rpl_seg_enabled
Yuhao Jiang (1):
ACPI: video: Fix use-after-free in acpi_video_switch_brightness()
Yunseong Kim (1):
crypto: ccp - Fix incorrect payload size calculation in psp_poulate_hsti()
Yuta Hayama (1):
rtc: rx8025: fix incorrect register reference
Zhanjun Dong (1):
drm/xe/guc: Increase GuC crash dump buffer size
Zijun Hu (2):
char: misc: Make misc_register() reentry for miscdevice who wants dynamic minor
char: misc: Does not request module for miscdevice with dynamic minor
Zilin Guan (1):
tracing: Fix memory leaks in create_field_var()
Zizhi Wo (1):
tty/vt: Add missing return value for VT_RESIZE in vt_ioctl()
Zong-Zhe Yang (1):
wifi: rtw89: renew a completion for each H2C command waiting C2H event
austinchang (1):
btrfs: mark dirty extent range for out of bound prealloc extents
chenmiao (1):
openrisc: Add R_OR1K_32_PCREL relocation type module support
chuguangqing (1):
fs: ext4: change GFP_KERNEL to GFP_NOFS to avoid deadlock
raub camaioni (1):
usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
wangzijie (1):
f2fs: fix infinite loop in __insert_extent_tree()
wenglianfa (1):
RDMA/hns: Fix the modification of max_send_sge
Álvaro Fernández Rojas (1):
net: dsa: tag_brcm: legacy: reorganize functions
Greg Kroah-Hartman
maintainerDocumentation/netlink/specs/dpll.yaml +2 -0
@@ -517,6 +517,8 @@ operations: reply: &pin-attrs attributes: - id + - module-name + - clock-id - board-label - panel-label - package-label
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 12 -SUBLEVEL = 57 +SUBLEVEL = 58 EXTRAVERSION = NAME = Baby Opossum Posse
arch/arc/include/asm/bitops.h +2 -0
@@ -133,6 +133,8 @@ static inline __attribute__ ((const)) int fls(unsigned int x)*/ static inline __attribute__ ((const))unsigned long __fls (unsigned long x) { +if (__builtin_constant_p (x)) +return x ?BITS_PER_LONG -1 -__builtin_clzl (x) :0 ;/* FLS insn has exactly same semantics as the API */ return __builtin_arc_fls (x); }
arch/arm/boot/dts/nvidia/tegra20-asus-tf101.dts +4 -1
@@ -502,6 +502,9 @@ magnetometer@e { compatible = "asahi-kasei,ak8974"; reg = <0xe>; + interrupt-parent = <&gpio>; + interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_EDGE_RISING>; + avdd-supply = <&vdd_3v3_sys>; dvdd-supply = <&vdd_1v8_sys>;
@@ -515,7 +518,7 @@ wm8903: audio-codec@1a { reg = <0x1a>; interrupt-parent = <&gpio>; - interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_EDGE_BOTH>; + interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_EDGE_BOTH>; gpio-controller; #gpio-cells = <2>;
arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts +2 -2
@@ -108,8 +108,8 @@ sub-mic-ldo { i2c@7000c400 { touchscreen@20 { rmi4-f11@11 { - syna,clip-x-high = <1110>; - syna,clip-y-high = <1973>; + syna,clip-x-high = <1440>; + syna,clip-y-high = <2560>; touchscreen-inverted-y; };
arch/arm/mach-at91/pm_suspend.S +7 -1
@@ -689,6 +689,10 @@ sr_dis_exit: bic tmp2, tmp2, #AT91_PMC_PLL_UPDT_ID str tmp2, [pmc, #AT91_PMC_PLL_UPDT] + /* save acr */ + ldr tmp2, [pmc, #AT91_PMC_PLL_ACR] + str tmp2, .saved_acr + /* save div. */ mov tmp1, #0 ldr tmp2, [pmc, #AT91_PMC_PLL_CTRL0]
@@ -758,7 +762,7 @@ sr_dis_exit: str tmp1, [pmc, #AT91_PMC_PLL_UPDT] /* step 2. */ - ldr tmp1, =AT91_PMC_PLL_ACR_DEFAULT_PLLA + ldr tmp1, .saved_acr str tmp1, [pmc, #AT91_PMC_PLL_ACR] /* step 3. */
@@ -1134,6 +1138,8 @@ ENDPROC(at91_pm_suspend_in_sram) .word 0 .saved_mckr: .word 0 +.saved_acr: + .word 0 .saved_pllar: .word 0 .saved_sam9_lpr:
arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +2 -2
@@ -808,8 +808,8 @@ conf-tx { pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", "MIO60", "MIO61", "MIO62", "MIO63"; bias-disable; - drive-strength = <4>; - slew-rate = <SLEW_RATE_SLOW>; + drive-strength = <12>; + slew-rate = <SLEW_RATE_FAST>; }; };
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +4 -0
@@ -450,6 +450,7 @@ cpu0_debug: debug@fec10000 { reg = <0x0 0xfec10000 0x0 0x1000>; clock-names = "apb_pclk"; cpu = <&cpu0>; + status = "disabled"; }; cpu1_debug: debug@fed10000 {
@@ -457,6 +458,7 @@ cpu1_debug: debug@fed10000 { reg = <0x0 0xfed10000 0x0 0x1000>; clock-names = "apb_pclk"; cpu = <&cpu1>; + status = "disabled"; }; cpu2_debug: debug@fee10000 {
@@ -464,6 +466,7 @@ cpu2_debug: debug@fee10000 { reg = <0x0 0xfee10000 0x0 0x1000>; clock-names = "apb_pclk"; cpu = <&cpu2>; + status = "disabled"; }; cpu3_debug: debug@fef10000 {
@@ -471,6 +474,7 @@ cpu3_debug: debug@fef10000 { reg = <0x0 0xfef10000 0x0 0x1000>; clock-names = "apb_pclk"; cpu = <&cpu3>; + status = "disabled"; }; /* GDMA */
arch/loongarch/include/asm/inst.h +5 -0
@@ -77,6 +77,10 @@ enum reg2_op { iocsrwrh_op =0x19205 , iocsrwrw_op =0x19206 , iocsrwrd_op =0x19207 , + llacqw_op =0xe15e0 , + screlw_op =0xe15e1 , + llacqd_op =0xe15e2 , + screld_op = 0xe15e3, }; enum reg2i5_op {
@@ -189,6 +193,7 @@ enum reg3_op { fldxd_op =0x7068 , fstxs_op =0x7070 , fstxd_op =0x7078 , + scq_op =0x70ae , amswapw_op =0x70c0 , amswapd_op =0x70c1 , amaddw_op = 0x70c2,
arch/loongarch/kernel/inst.c +12 -0
@@ -139,6 +139,9 @@ bool insns_not_supported(union loongarch_instruction insn) case amswapw_op ... ammindbdu_op:pr_notice ("atomic memory access instructions are not supported\n" );return true; +case scq_op: +pr_notice ("sc.q instruction is not supported\n" ); +return true; }switch (insn.reg2i14_format.opcode) {
@@ -150,6 +153,15 @@ bool insns_not_supported(union loongarch_instruction insn)return true; } +switch (insn.reg2_format.opcode) { +case llacqw_op: +case llacqd_op: +case screlw_op: +case screld_op: +pr_notice ("llacq and screl instructions are not supported\n" ); +return true; + } +switch (insn.reg1i21_format.opcode) {case bceqz_op:pr_notice ("bceqz and bcnez instructions are not supported\n" );
arch/mips/boot/dts/lantiq/danube.dtsi +6 -0
@@ -5,8 +5,12 @@ / { compatible = "lantiq,xway", "lantiq,danube"; cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu@0 { compatible = "mips,mips24Kc"; + reg = <0>; }; };
@@ -100,6 +104,8 @@ pci0: pci@e105400 { 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */ reg = <0x7000000 0x8000 /* config space */ 0xe105400 0x400>; /* pci bridge */ + + device_type = "pci"; }; }; };
arch/mips/boot/dts/lantiq/danube_easy50712.dts +3 -1
@@ -4,6 +4,8 @@ /include/ "danube.dtsi" / { + model = "Intel EASY50712"; + chosen { bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; };
@@ -94,7 +96,7 @@ ethernet@e180000 { lantiq,tx-burst-length = <4>; }; - stp0: stp@e100bb0 { + stp0: gpio@e100bb0 { #gpio-cells = <2>; compatible = "lantiq,gpio-stp-xway"; gpio-controller;
arch/mips/lantiq/xway/sysctrl.c +1 -1
@@ -485,7 +485,7 @@ void __init ltq_soc_init(void)/* add our generic xway clocks */ clkdev_add_pmu ("10000000.fpi" ,NULL ,0 ,0 ,PMU_FPI );clkdev_add_pmu ("1e100a00.gptu" ,NULL ,1 ,0 ,PMU_GPT ); -clkdev_add_pmu ("1e100bb0.stp" ,NULL ,1 ,0 ,PMU_STP ); +clkdev_add_pmu ("1e100bb0.gpio" ,NULL ,1 ,0 ,PMU_STP );clkdev_add_pmu ("1e100c00.serial" ,NULL ,0 ,0 ,PMU_ASC1 );clkdev_add_pmu ("1e104100.dma" ,NULL ,1 ,0 ,PMU_DMA );clkdev_add_pmu ("1e100800.spi" ,NULL ,1 ,0 ,PMU_SPI );
arch/mips/sgi-ip22/ip22-platform.c +32 -0
@@ -221,3 +221,35 @@ static int __init sgi_ds1286_devinit(void) }device_initcall (sgi_ds1286_devinit); + +#define SGI_ZILOG_BASE (HPC3_CHIP0_BASE + \ + offsetof(struct hpc3_regs, pbus_extregs[6]) + \ + offsetof(struct sgioc_regs, uart)) + +static struct resource sgi_zilog_resources[] = { + { + .start =SGI_ZILOG_BASE , + .end =SGI_ZILOG_BASE +15 , + .flags =IORESOURCE_MEM + }, + { + .start =SGI_SERIAL_IRQ , + .end =SGI_SERIAL_IRQ , + .flags =IORESOURCE_IRQ + } +}; + +static struct platform_device zilog_device = { + .name ="ip22zilog" , + .id =0 , + .num_resources =ARRAY_SIZE (sgi_zilog_resources), + .resource = sgi_zilog_resources, +}; + + +static int __init sgi_zilog_devinit (void ) +{ +return platform_device_register (&zilog_device); +} + +device_initcall (sgi_zilog_devinit);
arch/openrisc/kernel/module.c +4 -0
@@ -55,6 +55,10 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, value |= *location &0xfc000000 ; *location = value;break ; +case R_OR1K_32_PCREL : + value -= (uint32_t )location; + *location = value; +break ;case R_OR1K_AHI16 :/* Adjust the operand to match with a signed LO16. */ value +=0x8000 ;
arch/parisc/include/asm/video.h +1 -1
@@ -6,7 +6,7 @@struct device ; -#if defined(CONFIG_STI_CORE ) +#if defined(CONFIG_STI_CORE ) && defined(CONFIG_VIDEO )bool video_is_primary_device (struct device *dev);#define video_is_primary_device video_is_primary_device#endif
arch/parisc/kernel/unwind.c +10 -3
@@ -35,6 +35,8 @@#define KERNEL_START (KERNEL_BINARY_TEXT_START) +#define ALIGNMENT_OK (ptr, type) (((ptr) & (sizeof(type) - 1)) == 0) +extern struct unwind_table_entry __start___unwind[];extern struct unwind_table_entry __stop___unwind[];
@@ -257,12 +259,15 @@ static int unwind_special(struct unwind_frame_info *info, unsigned long pc, intif (pc_is_kernel_fn (pc, _switch_to) || pc == (unsigned long )&_switch_to_ret) { info->prev_sp = info->sp -CALLEE_SAVE_FRAME_SIZE ; - info->prev_ip = *(unsigned long *)(info->prev_sp -RP_OFFSET ); +if (ALIGNMENT_OK (info->prev_sp, long)) + info->prev_ip = *(unsigned long *)(info->prev_sp -RP_OFFSET ); +else + info->prev_ip = info->prev_sp =0 ;return 1 ; }#ifdef CONFIG_IRQSTACKS -if (pc == (unsigned long )&_call_on_stack) { +if (pc == (unsigned long )&_call_on_stack &&ALIGNMENT_OK (info->sp, long)) { info->prev_sp = *(unsigned long *)(info->sp -FRAME_SIZE -REG_SZ ); info->prev_ip = *(unsigned long *)(info->sp -FRAME_SIZE -RP_OFFSET );return 1 ;
@@ -370,8 +375,10 @@ static void unwind_frame_regs(struct unwind_frame_info *info) info->prev_sp = info->sp - frame_size;if (e->Millicode) info->rp = info->r31; -else if (rpoffset) +else if (rpoffset &&ALIGNMENT_OK (info->prev_sp, long)) info->rp = *(unsigned long *)(info->prev_sp - rpoffset); +else + info->rp =0 ; info->prev_ip = info->rp; info->rp =0 ; }
arch/powerpc/kernel/eeh_driver.c +1 -1
@@ -334,7 +334,7 @@ static enum pci_ers_result eeh_report_error(struct eeh_dev *edev, rc = driver->err_handler->error_detected (pdev, pci_channel_io_frozen); edev->in_error = true; -pci_uevent_ers (pdev,PCI_ERS_RESULT_NONE ); +pci_uevent_ers (pdev, rc);return rc; }
arch/riscv/kernel/stacktrace.c +19 -2
@@ -16,6 +16,22 @@#ifdef CONFIG_FRAME_POINTER +/* +* This disables KASAN checking when reading a value from another task's stack, +* since the other task could be running on another CPU and could have poisoned +* the stack in the meantime. +*/ +#define READ_ONCE_TASK_STACK (task, x) \ +({ \ + unsigned long val; \ + unsigned long addr = x; \ + if ((task) == current) \ + val = READ_ONCE(addr); \ + else \ + val = READ_ONCE_NOCHECK(addr); \ + val; \ +}) + extern asmlinkage void handle_exception(void);extern unsigned long ret_from_exception_end;
@@ -69,8 +85,9 @@ void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs, fp = frame->ra; pc = regs->ra; }else { - fp = frame->fp; - pc =ftrace_graph_ret_addr (current, &graph_idx, frame->ra, + fp =READ_ONCE_TASK_STACK (task, frame->fp); + pc =READ_ONCE_TASK_STACK (task, frame->ra); + pc =ftrace_graph_ret_addr (current, &graph_idx, pc, &frame->ra);if (pc >= (unsigned long )handle_exception && pc < (unsigned long )&ret_from_exception_end) {
arch/riscv/mm/ptdump.c +1 -1
@@ -21,7 +21,7 @@#define pt_dump_seq_puts (m, fmt) \ ({ \ if (m) \ - seq_printf(m, fmt); \ + seq_puts(m, fmt); \ })/*
arch/riscv/net/bpf_jit_comp64.c +2 -3
@@ -906,10 +906,9 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, stack_size +=16 ; save_ret = flags & (BPF_TRAMP_F_CALL_ORIG |BPF_TRAMP_F_RET_FENTRY_RET ); -if (save_ret) { +if (save_ret) stack_size +=16 ;/* Save both A5 (BPF R0) and A0 */ - retval_off = stack_size; - } + retval_off = stack_size; stack_size += nr_arg_slots *8 ; args_off = stack_size;
arch/s390/Kconfig +0 -1
@@ -135,7 +135,6 @@ config S390 select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_KERNEL_PMD_MKWRITE select ARCH_WANT_LD_ORPHAN_WARN - select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP select BUILDTIME_TABLE_SORT select CLONE_BACKWARDS2 select DCACHE_WORD_ACCESS if !KMSAN
arch/s390/include/asm/pci.h +0 -1
@@ -141,7 +141,6 @@ struct zpci_dev { u8 has_resources : 1; u8 is_physfn : 1; u8 util_str_avail : 1; - u8 irqs_registered : 1; u8 tid_avail : 1; u8 reserved : 1;unsigned int devfn;/* DEVFN part of the RID*/
arch/s390/mm/dump_pagetables.c +7 -12
@@ -247,16 +247,14 @@ static int ptdump_cmp(const void *a, const void *b)static int add_marker (unsigned long start,unsigned long end,const char *name) { -size_t oldsize, newsize; +struct addr_marker *new; +size_t newsize; - oldsize = markers_cnt *sizeof (*markers); - newsize = oldsize +2 *sizeof (*markers); -if (!oldsize) - markers =kvmalloc (newsize,GFP_KERNEL ); -else - markers =kvrealloc (markers, newsize,GFP_KERNEL ); -if (!markers) - goto error; + newsize = (markers_cnt +2 ) *sizeof (*markers); + new =kvrealloc (markers, newsize,GFP_KERNEL ); +if (!new) +return -ENOMEM ; + markers = new; markers[markers_cnt].is_start =1 ; markers[markers_cnt].start_address = start; markers[markers_cnt].size = end - start;
@@ -268,9 +266,6 @@ static int add_marker(unsigned long start, unsigned long end, const char *name) markers[markers_cnt].name = name; markers_cnt++;return 0 ; -error: - markers_cnt =0 ; -return -ENOMEM ; }static int pt_dump_init (void )
arch/s390/pci/pci_event.c +5 -2
@@ -90,6 +90,7 @@ static pci_ers_result_t zpci_event_notify_error_detected(struct pci_dev *pdev,pci_ers_result_t ers_res =PCI_ERS_RESULT_DISCONNECT ; ers_res = driver->err_handler->error_detected (pdev, pdev->error_state); +pci_uevent_ers (pdev, ers_res);if (ers_result_indicates_abort (ers_res))pr_info ("%s: Automatic recovery failed after initial reporting\n" ,pci_name (pdev));else if (ers_res ==PCI_ERS_RESULT_NEED_RESET )
@@ -180,7 +181,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)* is unbound or probed and that userspace can't access its * configuration space while we perform recovery. */ -pci_dev_lock (pdev); +device_lock (&pdev->dev);if (pdev->error_state == pci_channel_io_perm_failure) { ers_res =PCI_ERS_RESULT_DISCONNECT ; goto out_unlock;
@@ -219,6 +220,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev) ers_res =zpci_event_do_reset (pdev, driver);if (ers_res !=PCI_ERS_RESULT_RECOVERED ) { +pci_uevent_ers (pdev,PCI_ERS_RESULT_DISCONNECT );pr_err ("%s: Automatic recovery failed; operator intervention is required\n" ,pci_name (pdev)); goto out_unlock;
@@ -227,8 +229,9 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)pr_info ("%s: The device is ready to resume operations\n" ,pci_name (pdev));if (driver->err_handler->resume) driver->err_handler->resume (pdev); +pci_uevent_ers (pdev,PCI_ERS_RESULT_RECOVERED ); out_unlock: -pci_dev_unlock (pdev); +device_unlock (&pdev->dev);return ers_res; }
arch/s390/pci/pci_irq.c +1 -8
@@ -107,9 +107,6 @@ static int zpci_set_irq(struct zpci_dev *zdev)else rc =zpci_set_airq (zdev); -if (!rc) - zdev->irqs_registered =1 ; -return rc; }
@@ -123,9 +120,6 @@ static int zpci_clear_irq(struct zpci_dev *zdev)else rc =zpci_clear_airq (zdev); -if (!rc) - zdev->irqs_registered =0 ; -return rc; }
@@ -427,8 +421,7 @@ bool arch_restore_msi_irqs(struct pci_dev *pdev) {struct zpci_dev *zdev =to_zpci (pdev); -if (!zdev->irqs_registered) -zpci_set_irq (zdev); +zpci_set_irq (zdev);return true; }
arch/sparc/include/asm/elf_64.h +1 -0
@@ -58,6 +58,7 @@#define R_SPARC_7 43#define R_SPARC_5 44#define R_SPARC_6 45 +#define R_SPARC_UA64 54/* Bits present in AT_HWCAP, primarily for Sparc32. */ #define HWCAP_SPARC_FLUSH 0x00000001
arch/sparc/include/asm/io_64.h +3 -3
@@ -250,19 +250,19 @@ void insl(unsigned long, void *, unsigned long);#define insw insw#define insl insl -static inline void readsb (void __iomem *port,void *buf,unsigned long count) +static inline void readsb (const volatile void __iomem *port,void *buf,unsigned long count) {insb ((unsigned long __force )port, buf, count); }#define readsb readsb -static inline void readsw (void __iomem *port,void *buf,unsigned long count) +static inline void readsw (const volatile void __iomem *port,void *buf,unsigned long count) {insw ((unsigned long __force )port, buf, count); }#define readsw readsw -static inline void readsl (void __iomem *port,void *buf,unsigned long count) +static inline void readsl (const volatile void __iomem *port,void *buf,unsigned long count) {insl ((unsigned long __force )port, buf, count); }
arch/sparc/include/asm/video.h +2 -0
@@ -19,8 +19,10 @@ static inline pgprot_t pgprot_framebuffer(pgprot_t prot,#define pgprot_framebuffer pgprot_framebuffer#endif +#ifdef CONFIG_VIDEO bool video_is_primary_device (struct device *dev);#define video_is_primary_device video_is_primary_device +#endif static inline void fb_memcpy_fromio (void *to,const volatile void __iomem *from,size_t n) {
arch/sparc/kernel/module.c +1 -0
@@ -87,6 +87,7 @@ int apply_relocate_add(Elf_Shdr *sechdrs,break ;#ifdef CONFIG_SPARC64 case R_SPARC_64 : +case R_SPARC_UA64 : location[0 ] = v >>56 ; location[1 ] = v >>48 ; location[2 ] = v >>40 ;
arch/um/drivers/ssl.c +4 -1
@@ -199,4 +199,7 @@ static int ssl_non_raw_setup(char *str)return 1 ; }__setup ("ssl-non-raw" , ssl_non_raw_setup); -__channel_help (ssl_non_raw_setup,"set serial lines to non-raw mode" ); +__uml_help (ssl_non_raw_setup, +"ssl-non-raw\n" +" Set serial lines to non-raw mode.\n\n" +);
arch/x86/entry/vsyscall/vsyscall_64.c +14 -3
@@ -124,7 +124,12 @@ bool emulate_vsyscall(unsigned long error_code,if ((error_code & (X86_PF_WRITE |X86_PF_USER )) !=X86_PF_USER )return false; -if (!(error_code &X86_PF_INSTR )) { +/* +* Assume that faults at regs->ip are because of an +* instruction fetch. Return early and avoid +* emulation for faults during data accesses: +*/ +if (address != regs->ip) {/* Failed vsyscall read */ if (vsyscall_mode ==EMULATE )return false;
@@ -136,13 +141,19 @@ bool emulate_vsyscall(unsigned long error_code,return false; } +/* +* X86_PF_INSTR is only set when NX is supported. When +* available, use it to double-check that the emulation code +* is only being used for instruction fetches: +*/ +if (cpu_feature_enabled (X86_FEATURE_NX )) +WARN_ON_ONCE (!(error_code &X86_PF_INSTR )); +/* * No point in checking CS -- the only way to get here is a user mode * trap to a high address, which means that we're in 64-bit user code. */ -WARN_ON_ONCE (address != regs->ip); -if (vsyscall_mode ==NONE ) {warn_bad_vsyscall (KERN_INFO , regs,"vsyscall attempted with vsyscall=none" );
arch/x86/events/intel/ds.c +2 -1
@@ -305,7 +305,8 @@ static u64 __grt_latency_data(struct perf_event *event, u64 status, {u64 val; -WARN_ON_ONCE (hybrid_pmu (event->pmu)->pmu_type == hybrid_big); +WARN_ON_ONCE (is_hybrid () && +hybrid_pmu (event->pmu)->pmu_type == hybrid_big); dse &=PERF_PEBS_DATA_SOURCE_GRT_MASK ; val =hybrid_var (event->pmu, pebs_data_source)[dse];
arch/x86/include/asm/runtime-const.h +17 -0
@@ -2,6 +2,22 @@ #ifndef _ASM_RUNTIME_CONST_H #define _ASM_RUNTIME_CONST_H +#ifdef MODULE + #error "Cannot use runtime-const infrastructure from modules" +#endif + +#ifdef __ASSEMBLY__ + +.macro RUNTIME_CONST_PTR sym reg + movq $0x0123456789abcdef, %\reg + 1: + .pushsection runtime_ptr_\sym, "a" + .long 1b - 8 - . + .popsection +.endm + +#else /* __ASSEMBLY__ */ + #define runtime_const_ptr(sym) ({ \ typeof(sym) __ret; \ asm_inline("mov %1,%0\n1:\n" \
@@ -58,4 +74,5 @@ static inline void runtime_const_fixup(void (*fn)(void *, unsigned long), } } +#endif /* __ASSEMBLY__ */ #endif
arch/x86/include/asm/uaccess_64.h +11 -11
@@ -12,12 +12,12 @@#include <asm/cpufeatures.h> #include <asm/page.h> #include <asm/percpu.h> -#include <asm/runtime-const.h> -/* -* Virtual variable: there's no actual backing store for this, -* it can purely be used as 'runtime_const_ptr(USER_PTR_MAX)' -*/ +#ifdef MODULE +#define runtime_const_ptr (sym) (sym) +#else +#include <asm/runtime-const.h> +#endif extern unsigned long USER_PTR_MAX ;#ifdef CONFIG_ADDRESS_MASKING
@@ -63,13 +63,13 @@ static inline unsigned long __untagged_addr_remote(struct mm_struct *mm,*/ static inline void __user *mask_user_address (const void __user *ptr) { -unsigned long mask; +void __user *ret; asm("cmp %1,%0\n\t" -"sbb %0,%0" - :"=r" (mask) - :"r" (ptr), -"0" (runtime_const_ptr (USER_PTR_MAX ))); -return (__force void __user *)(mask | (__force unsigned long )ptr); +"cmova %1,%0" + :"=r" (ret) + :"r" (runtime_const_ptr (USER_PTR_MAX )), +"0" (ptr)); +return ret; }#define masked_user_access_begin (x) ({ \ __auto_type __masked_ptr = (x); \
arch/x86/include/asm/video.h +2 -0
@@ -13,8 +13,10 @@ pgprot_t pgprot_framebuffer(pgprot_t prot, unsigned long offset);#define pgprot_framebuffer pgprot_framebuffer +#ifdef CONFIG_VIDEO bool video_is_primary_device (struct device *dev);#define video_is_primary_device video_is_primary_device +#endif #include <asm-generic/video.h>
arch/x86/kernel/cpu/amd.c +35 -0
@@ -1018,8 +1018,43 @@ static void init_amd_zen4(struct cpuinfo_x86 *c) } } +static bool check_rdseed_microcode (void ) +{ +struct cpuinfo_x86 *c = &boot_cpu_data; +union zen_patch_rev p; +u32 min_rev =0 ; + + p.ext_fam = c->x86 -0xf ; + p.model = c->x86_model; + p.ext_model = c->x86_model >>4 ; + p.stepping = c->x86_stepping; +/* reserved bits are expected to be 0 in test below */ + p.__reserved =0 ; + +if (cpu_has (c,X86_FEATURE_ZEN5 )) { +switch (p.ucode_rev >>8 ) { +case 0xb0021 : min_rev =0xb00215a ;break ; +case 0xb1010 : min_rev =0xb101054 ;break ; +default : +pr_debug ("%s: ucode_rev: 0x%x, current revision: 0x%x\n" , + __func__, p.ucode_rev, c->microcode); +return false; + } + } + +if (!min_rev) +return false; + +return c->microcode >= min_rev; +} +static void init_amd_zen5 (struct cpuinfo_x86 *c) { +if (!check_rdseed_microcode ()) { +clear_cpu_cap (c,X86_FEATURE_RDSEED ); +msr_clear_bit (MSR_AMD64_CPUID_FN_7 ,18 ); +pr_emerg_once ("RDSEED32 is broken. Disabling the corresponding CPUID bit.\n" ); + } }static void init_amd (struct cpuinfo_x86 *c)
arch/x86/kernel/cpu/common.c +5 -1
@@ -76,6 +76,10 @@ DEFINE_PER_CPU_READ_MOSTLY(struct cpuinfo_x86, cpu_info);EXPORT_PER_CPU_SYMBOL (cpu_info); +/* Used for modules: built-in code uses runtime constants */ +unsigned long USER_PTR_MAX ; +EXPORT_SYMBOL (USER_PTR_MAX ); +u32 elf_hwcap2__read_mostly ;/* Number of siblings per CPU package */
@@ -2473,7 +2477,7 @@ void __init arch_cpu_finalize_init(void)alternative_instructions ();if (IS_ENABLED (CONFIG_X86_64 )) { -unsigned long USER_PTR_MAX =TASK_SIZE_MAX ; +USER_PTR_MAX =TASK_SIZE_MAX ;/* * Enable this when LAM is gated on LASS support
arch/x86/kernel/cpu/microcode/amd.c +2 -0
@@ -208,10 +208,12 @@ static bool need_sha_check(u32 cur_rev)case 0xaa001 :return cur_rev <=0xaa00116 ;break ;case 0xaa002 :return cur_rev <=0xaa00218 ;break ;case 0xb0021 :return cur_rev <=0xb002146 ;break ; +case 0xb0081 :return cur_rev <=0xb008111 ;break ;case 0xb1010 :return cur_rev <=0xb101046 ;break ;case 0xb2040 :return cur_rev <=0xb204031 ;break ;case 0xb4040 :return cur_rev <=0xb404031 ;break ;case 0xb6000 :return cur_rev <=0xb600031 ;break ; +case 0xb6080 :return cur_rev <=0xb608031 ;break ;case 0xb7000 :return cur_rev <=0xb700031 ;break ;default :break ; }
arch/x86/kernel/fpu/core.c +3 -0
@@ -757,6 +757,9 @@ void fpu__clear_user_states(struct fpu *fpu) !fpregs_state_valid(fpu, smp_processor_id()))os_xrstor_supervisor (fpu->fpstate); +/* Ensure XFD state is in sync before reloading XSTATE */ +xfd_update_state (fpu->fpstate); +/* Reset user states in registers. */ restore_fpregs_from_init_fpstate (XFEATURE_MASK_USER_RESTORE );
arch/x86/kernel/kvm.c +10 -10
@@ -1089,16 +1089,6 @@ static void kvm_wait(u8 *ptr, u8 val)*/ void __init kvm_spinlock_init (void ) { -/* -* In case host doesn't support KVM_FEATURE_PV_UNHALT there is still an -* advantage of keeping virt_spin_lock_key enabled: virt_spin_lock() is -* preferred over native qspinlock when vCPU is preempted. -*/ -if (!kvm_para_has_feature (KVM_FEATURE_PV_UNHALT )) { -pr_info ("PV spinlocks disabled, no host support\n" ); -return ; - } -/* * Disable PV spinlocks and use native qspinlock when dedicated pCPUs * are available.
@@ -1118,6 +1108,16 @@ void __init kvm_spinlock_init(void) goto out; } +/* +* In case host doesn't support KVM_FEATURE_PV_UNHALT there is still an +* advantage of keeping virt_spin_lock_key enabled: virt_spin_lock() is +* preferred over native qspinlock when vCPU is preempted. +*/ +if (!kvm_para_has_feature (KVM_FEATURE_PV_UNHALT )) { +pr_info ("PV spinlocks disabled, no host support\n" ); +return ; + } +pr_info ("PV spinlocks enabled\n" );__pv_init_lock_hash ();
arch/x86/lib/getuser.S +4 -8
@@ -34,19 +34,15 @@ #include <asm/thread_info.h> #include <asm/asm.h> #include <asm/smap.h> +#include <asm/runtime-const.h> #define ASM_BARRIER_NOSPEC ALTERNATIVE "", "lfence", X86_FEATURE_LFENCE_RDTSC .macro check_range size:req .if IS_ENABLED(CONFIG_X86_64) - movq $0x0123456789abcdef,%rdx - 1: - .pushsection runtime_ptr_USER_PTR_MAX,"a" - .long 1b - 8 - . - .popsection - cmp %rax, %rdx - sbb %rdx, %rdx - or %rdx, %rax + RUNTIME_CONST_PTR USER_PTR_MAX, rdx + cmp %rdx, %rax + cmova %rdx, %rax .else cmp $TASK_SIZE_MAX-\size+1, %eax jae .Lbad_get_user
arch/x86/net/bpf_jit_comp.c +8 -5
@@ -1472,14 +1472,17 @@ static int do_jit(struct bpf_prog *bpf_prog, int *addrs, u8 *image, u8 *rw_imageint i, excnt =0 ;int ilen, proglen =0 ;u8 *prog = temp; +u32 stack_depth;int err; + stack_depth = bpf_prog->aux->stack_depth; + arena_vm_start =bpf_arena_get_kern_vm_start (bpf_prog->aux->arena); user_vm_start =bpf_arena_get_user_vm_start (bpf_prog->aux->arena);detect_reg_usage (insn, insn_cnt, callee_regs_used); -emit_prologue (&prog, bpf_prog->aux->stack_depth, +emit_prologue (&prog, stack_depth,bpf_prog_was_classic (bpf_prog), tail_call_reachable,bpf_is_subprog (bpf_prog), bpf_prog->aux->exception_cb);/* Exception callback will clobber callee regs for its own use, and
@@ -2175,7 +2178,7 @@ st: if (is_imm8(insn->off)) func = (u8 *) __bpf_call_base + imm32;if (tail_call_reachable) { -LOAD_TAIL_CALL_CNT_PTR (bpf_prog->aux->stack_depth); +LOAD_TAIL_CALL_CNT_PTR (stack_depth); ip +=7 ; }if (!imm32)
@@ -2192,13 +2195,13 @@ st: if (is_imm8(insn->off)) &bpf_prog->aux->poke_tab[imm32 -1 ], &prog, image + addrs[i -1 ], callee_regs_used, - bpf_prog->aux->stack_depth, + stack_depth, ctx); else emit_bpf_tail_call_indirect(bpf_prog, &prog, callee_regs_used, - bpf_prog->aux->stack_depth, + stack_depth, image + addrs[i - 1], ctx);break ;
@@ -2450,7 +2453,7 @@ st: if (is_imm8(insn->off))/* Update cleanup_addr */ ctx->cleanup_addr = proglen;if (bpf_prog_was_classic (bpf_prog) && - !capable (CAP_SYS_ADMIN )) { + !ns_capable_noaudit (&init_user_ns,CAP_SYS_ADMIN )) {u8 *ip = image + addrs[i -1 ];if (emit_spectre_bhb_barrier (&prog, ip, bpf_prog))
block/blk-cgroup.c +8 -15
@@ -847,14 +847,8 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, disk = ctx->bdev->bd_disk; q = disk->queue; -/* -* blkcg_deactivate_policy() requires queue to be frozen, we can grab -* q_usage_counter to prevent concurrent with blkcg_deactivate_policy(). -*/ - ret =blk_queue_enter (q,0 ); -if (ret) - goto fail; - +/* Prevent concurrent with blkcg_deactivate_policy() */ +mutex_lock (&q->blkcg_mutex);spin_lock_irq (&q->queue_lock);if (!blkcg_policy_enabled (q, pol)) {
@@ -884,16 +878,16 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,/* Drop locks to do new blkg allocation with GFP_KERNEL. */ spin_unlock_irq (&q->queue_lock); - new_blkg =blkg_alloc (pos, disk,GFP_KERNEL ); + new_blkg =blkg_alloc (pos, disk,GFP_NOIO );if (unlikely (!new_blkg)) { ret = -ENOMEM ; - goto fail_exit_queue; + goto fail_exit; }if (radix_tree_preload (GFP_KERNEL )) {blkg_free (new_blkg); ret = -ENOMEM ; - goto fail_exit_queue; + goto fail_exit; }spin_lock_irq (&q->queue_lock);
@@ -921,7 +915,7 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, goto success; } success: -blk_queue_exit (q); +mutex_unlock (&q->blkcg_mutex); ctx->blkg = blkg;return 0 ;
@@ -929,9 +923,8 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,radix_tree_preload_end (); fail_unlock:spin_unlock_irq (&q->queue_lock); -fail_exit_queue: -blk_queue_exit (q); -fail: +fail_exit: +mutex_unlock (&q->blkcg_mutex);/* * If queue was bypassing, we should retry. Do so after a * short msleep(). It isn't strictly necessary but queue
drivers/accel/habanalabs/common/memory.c +1 -1
@@ -2332,7 +2332,7 @@ static int get_user_memory(struct hl_device *hdev, u64 addr, u64 size,if (rc <0 ) goto destroy_pages; npages = rc; - rc = -EFAULT ; + rc = -ENOMEM ; goto put_pages; } userptr->npages = npages;
drivers/accel/habanalabs/gaudi/gaudi.c +19 -0
@@ -4168,10 +4168,29 @@ static int gaudi_mmap(struct hl_device *hdev, struct vm_area_struct *vma,vm_flags_set (vma,VM_IO |VM_PFNMAP |VM_DONTEXPAND |VM_DONTDUMP |VM_DONTCOPY |VM_NORESERVE ); +#ifdef _HAS_DMA_MMAP_COHERENT +/* +* If dma_alloc_coherent() returns a vmalloc address, set VM_MIXEDMAP +* so vm_insert_page() can handle it safely. Without this, the kernel +* may BUG_ON due to VM_PFNMAP. +*/ +if (is_vmalloc_addr (cpu_addr)) +vm_flags_set (vma,VM_MIXEDMAP ); + rc =dma_mmap_coherent (hdev->dev, vma, cpu_addr, (dma_addr -HOST_PHYS_BASE ), size);if (rc)dev_err (hdev->dev,"dma_mmap_coherent error %d" , rc); +#else + + rc =remap_pfn_range (vma, vma->vm_start, +virt_to_phys (cpu_addr) >>PAGE_SHIFT , + size, vma->vm_page_prot); +if (rc) +dev_err (hdev->dev,"remap_pfn_range error %d" , rc); + +#endif +return rc; }
drivers/accel/habanalabs/gaudi2/gaudi2.c +14 -1
@@ -3150,7 +3150,6 @@ static int gaudi2_early_init(struct hl_device *hdev) rc =hl_fw_read_preboot_status (hdev);if (rc) {if (hdev->reset_on_preboot_fail) -/* we are already on failure flow, so don't check if hw_fini fails. */ hdev->asic_funcs->hw_fini (hdev, true, false); goto pci_fini; }
@@ -3162,6 +3161,13 @@ static int gaudi2_early_init(struct hl_device *hdev)dev_err (hdev->dev,"failed to reset HW in dirty state (%d)\n" , rc); goto pci_fini; } + + rc =hl_fw_read_preboot_status (hdev); +if (rc) { +if (hdev->reset_on_preboot_fail) + hdev->asic_funcs->hw_fini (hdev, true, false); + goto pci_fini; + } }return 0 ;
@@ -6484,6 +6490,13 @@ static int gaudi2_mmap(struct hl_device *hdev, struct vm_area_struct *vma, VM_DONTCOPY | VM_NORESERVE);#ifdef _HAS_DMA_MMAP_COHERENT +/* +* If dma_alloc_coherent() returns a vmalloc address, set VM_MIXEDMAP +* so vm_insert_page() can handle it safely. Without this, the kernel +* may BUG_ON due to VM_PFNMAP. +*/ +if (is_vmalloc_addr (cpu_addr)) +vm_flags_set (vma,VM_MIXEDMAP ); rc =dma_mmap_coherent (hdev->dev, vma, cpu_addr, dma_addr, size);if (rc)
drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c +1 -1
@@ -2426,7 +2426,7 @@ static int gaudi2_config_bmon(struct hl_device *hdev, struct hl_debug_params *paWREG32 (base_reg + mmBMON_ADDRH_E3_OFFSET,0 );WREG32 (base_reg + mmBMON_REDUCTION_OFFSET,0 );WREG32 (base_reg + mmBMON_STM_TRC_OFFSET,0x7 | (0xA <<8 )); -WREG32 (base_reg + mmBMON_CR_OFFSET,0x77 |0xf <<24 ); +WREG32 (base_reg + mmBMON_CR_OFFSET,0x41 ); }return 0 ;
drivers/acpi/acpi_video.c +3 -1
@@ -1946,8 +1946,10 @@ static void acpi_video_bus_remove_notify_handler(struct acpi_video_bus *video)struct acpi_video_device *dev;mutex_lock (&video->device_list_lock); -list_for_each_entry (dev, &video->video_device_list, entry) +list_for_each_entry (dev, &video->video_device_list, entry) {acpi_video_dev_remove_notify_handler (dev); +cancel_delayed_work_sync (&dev->switch_brightness_work); + }mutex_unlock (&video->device_list_lock);acpi_video_bus_stop_devices (video);
drivers/acpi/acpica/dsmethod.c +1 -9
@@ -462,7 +462,6 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,struct acpi_walk_state *next_walk_state =NULL ;union acpi_operand_object *obj_desc;struct acpi_evaluate_info *info; -u32 i;ACPI_FUNCTION_TRACE_PTR (ds_call_control_method, this_walk_state);
@@ -546,14 +545,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,* Delete the operands on the previous walkstate operand stack * (they were copied to new objects) */ -for (i =0 ; i < obj_desc->method.param_count; i++) { -acpi_ut_remove_reference (this_walk_state->operands[i]); - this_walk_state->operands[i] =NULL ; - } - -/* Clear the operand stack */ - - this_walk_state->num_operands =0 ; +acpi_ds_clear_operands (this_walk_state); ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "**** Begin nested execution of [%4.4s] **** WalkState=%p\n",
drivers/acpi/button.c +3 -1
@@ -613,8 +613,10 @@ static int acpi_button_add(struct acpi_device *device)input_set_drvdata (input, device); error =input_register_device (input); -if (error) +if (error) { +input_free_device (input); goto err_remove_fs; + }switch (device->device_type) {case ACPI_BUS_TYPE_POWER_BUTTON :
drivers/acpi/device_sysfs.c +1 -1
@@ -464,7 +464,7 @@ static ssize_t description_show(struct device *dev, buf[result++] ='\n' ; -kfree (str_obj); +ACPI_FREE (str_obj);return result; }
drivers/acpi/fan.h +5 -3
@@ -47,7 +47,9 @@ struct acpi_fan_fst { };struct acpi_fan { +acpi_handle handle;bool acpi4; +bool has_fst;struct acpi_fan_fif fif;struct acpi_fan_fps *fps;int fps_count;
@@ -56,14 +58,14 @@ struct acpi_fan { struct device_attribute fine_grain_control; }; -int acpi_fan_get_fst (struct acpi_device *device,struct acpi_fan_fst *fst); +int acpi_fan_get_fst (acpi_handle handle,struct acpi_fan_fst *fst);int acpi_fan_create_attributes (struct acpi_device *device);void acpi_fan_delete_attributes (struct acpi_device *device);#if IS_REACHABLE (CONFIG_HWMON ) -int devm_acpi_fan_create_hwmon (struct acpi_device *device); +int devm_acpi_fan_create_hwmon (struct device *dev);#else -static inline int devm_acpi_fan_create_hwmon (struct acpi_device *device) {return 0 ; }; +static inline int devm_acpi_fan_create_hwmon (struct device *dev) {return 0 ; };#endif #endif
drivers/acpi/fan_attr.c +23 -16
@@ -55,7 +55,7 @@ static ssize_t show_fan_speed(struct device *dev, struct device_attribute *attr,struct acpi_fan_fst fst;int status; - status =acpi_fan_get_fst (acpi_dev, &fst); + status =acpi_fan_get_fst (acpi_dev->handle, &fst);if (status)return status;
@@ -75,15 +75,6 @@ int acpi_fan_create_attributes(struct acpi_device *device)struct acpi_fan *fan =acpi_driver_data (device);int i, status; -sysfs_attr_init (&fan->fine_grain_control.attr); - fan->fine_grain_control.show = show_fine_grain_control; - fan->fine_grain_control.store =NULL ; - fan->fine_grain_control.attr.name ="fine_grain_control" ; - fan->fine_grain_control.attr.mode =0444 ; - status =sysfs_create_file (&device->dev.kobj, &fan->fine_grain_control.attr); -if (status) -return status; -/* _FST is present if we are here */ sysfs_attr_init (&fan->fst_speed.attr); fan->fst_speed.show = show_fan_speed;
@@ -92,7 +83,19 @@ int acpi_fan_create_attributes(struct acpi_device *device) fan->fst_speed.attr.mode =0444 ; status =sysfs_create_file (&device->dev.kobj, &fan->fst_speed.attr);if (status) - goto rem_fine_grain_attr; +return status; + +if (!fan->acpi4) +return 0 ; + +sysfs_attr_init (&fan->fine_grain_control.attr); + fan->fine_grain_control.show = show_fine_grain_control; + fan->fine_grain_control.store =NULL ; + fan->fine_grain_control.attr.name ="fine_grain_control" ; + fan->fine_grain_control.attr.mode =0444 ; + status =sysfs_create_file (&device->dev.kobj, &fan->fine_grain_control.attr); +if (status) + goto rem_fst_attr;for (i =0 ; i < fan->fps_count; ++i) {struct acpi_fan_fps *fps = &fan->fps[i];
@@ -109,18 +112,18 @@ int acpi_fan_create_attributes(struct acpi_device *device)for (j =0 ; j < i; ++j)sysfs_remove_file (&device->dev.kobj, &fan->fps[j].dev_attr.attr); - goto rem_fst_attr; + goto rem_fine_grain_attr; } }return 0 ; -rem_fst_attr: -sysfs_remove_file (&device->dev.kobj, &fan->fst_speed.attr); - rem_fine_grain_attr:sysfs_remove_file (&device->dev.kobj, &fan->fine_grain_control.attr); +rem_fst_attr: +sysfs_remove_file (&device->dev.kobj, &fan->fst_speed.attr); +return status; }
@@ -129,9 +132,13 @@ void acpi_fan_delete_attributes(struct acpi_device *device)struct acpi_fan *fan =acpi_driver_data (device);int i; +sysfs_remove_file (&device->dev.kobj, &fan->fst_speed.attr); + +if (!fan->acpi4) +return ; +for (i =0 ; i < fan->fps_count; ++i)sysfs_remove_file (&device->dev.kobj, &fan->fps[i].dev_attr.attr); -sysfs_remove_file (&device->dev.kobj, &fan->fst_speed.attr);sysfs_remove_file (&device->dev.kobj, &fan->fine_grain_control.attr); }
drivers/acpi/fan_core.c +41 -20
131 lines not on this page · raw message
drivers/acpi/fan_hwmon.c +13 -6
@@ -43,6 +43,10 @@ static umode_t acpi_fan_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_case hwmon_fan_input:return 0444 ;case hwmon_fan_target: +/* Only acpi4 fans support fan control. */ +if (!fan->acpi4) +return 0 ; +/* * When in fine grain control mode, not every fan control value * has an associated fan performance state.
@@ -57,6 +61,10 @@ static umode_t acpi_fan_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_case hwmon_power:switch (attr) {case hwmon_power_input: +/* Only acpi4 fans support fan control. */ +if (!fan->acpi4) +return 0 ; +/* * When in fine grain control mode, not every fan control value * has an associated fan performance state.
@@ -85,13 +93,12 @@ static umode_t acpi_fan_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_static int acpi_fan_hwmon_read (struct device *dev,enum hwmon_sensor_types type,u32 attr,int channel,long *val) { -struct acpi_device *adev =to_acpi_device (dev->parent);struct acpi_fan *fan =dev_get_drvdata (dev);struct acpi_fan_fps *fps;struct acpi_fan_fst fst;int ret; - ret =acpi_fan_get_fst (adev, &fst); + ret =acpi_fan_get_fst (fan->handle, &fst);if (ret <0 )return ret;
@@ -159,12 +166,12 @@ static const struct hwmon_chip_info acpi_fan_hwmon_chip_info = { .info = acpi_fan_hwmon_info, }; -int devm_acpi_fan_create_hwmon (struct acpi_device *device) +int devm_acpi_fan_create_hwmon (struct device *dev) { -struct acpi_fan *fan =acpi_driver_data (device); +struct acpi_fan *fan =dev_get_drvdata (dev);struct device *hdev; - hdev =devm_hwmon_device_register_with_info (&device->dev,"acpi_fan" , fan, - &acpi_fan_hwmon_chip_info,NULL ); + hdev =devm_hwmon_device_register_with_info (dev,"acpi_fan" , fan, &acpi_fan_hwmon_chip_info, +NULL );return PTR_ERR_OR_ZERO (hdev); }
drivers/acpi/prmt.c +16 -3
@@ -150,15 +150,28 @@ acpi_parse_prmt(union acpi_subtable_headers *header, const unsigned long end) th = &tm->handlers[cur_handler];guid_copy (&th->guid, (guid_t *)handler_info->handler_guid); + +/* +* Print an error message if handler_address is NULL, the parse of VA also +* can be skipped. +*/ +if (unlikely (!handler_info->handler_address)) { +pr_info ("Skipping handler with NULL address for GUID: %pUL" , + (guid_t *)handler_info->handler_guid); +continue ; + } + th->handler_addr = (void *)efi_pa_va_lookup (&th->guid, handler_info->handler_address);/* -* Print a warning message if handler_addr is zero which is not expected to -* ever happen. +* Print a warning message and skip the parse of VA if handler_addr is zero +* which is not expected to ever happen. */ -if (unlikely (!th->handler_addr)) +if (unlikely (!th->handler_addr)) {pr_warn ("Failed to find VA of handler for GUID: %pUL, PA: 0x%llx" , &th->guid, handler_info->handler_address); +continue ; + } th->static_data_buffer_addr =efi_pa_va_lookup (&th->guid, handler_info->static_data_buffer_address);
drivers/acpi/property.c +23 -1
@@ -1357,6 +1357,28 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,return NULL ; } +/* +* acpi_get_next_present_subnode - Return the next present child node handle +* @fwnode: Firmware node to find the next child node for. +* @child: Handle to one of the device's child nodes or a null handle. +* +* Like acpi_get_next_subnode(), but the device nodes returned by +* acpi_get_next_present_subnode() are guaranteed to be present. +* +* Returns: The fwnode handle of the next present sub-node. +*/ +static struct fwnode_handle * +acpi_get_next_present_subnode (const struct fwnode_handle *fwnode, +struct fwnode_handle *child) +{ +do { + child =acpi_get_next_subnode (fwnode, child); + }while (is_acpi_device_node (child) && + !acpi_device_is_present (to_acpi_device_node (child))); + +return child; +} +/** * acpi_node_get_parent - Return parent fwnode of this fwnode * @fwnode: Firmware node whose parent to get
@@ -1700,7 +1722,7 @@ static int acpi_fwnode_irq_get(const struct fwnode_handle *fwnode, .property_read_string_array = \ acpi_fwnode_property_read_string_array, \ .get_parent = acpi_node_get_parent, \ - .get_next_child_node = acpi_get_next_subnode, \ + .get_next_child_node = acpi_get_next_present_subnode, \ .get_named_child_node = acpi_fwnode_get_named_child_node, \ .get_name = acpi_fwnode_get_name, \ .get_name_prefix = acpi_fwnode_get_name_prefix, \
drivers/acpi/resource.c +7 -0
@@ -510,6 +510,13 @@ static const struct dmi_system_id irq1_level_low_skip_override[] = { DMI_MATCH(DMI_BOARD_NAME, "N6506M"), }, }, + { +/* Asus Vivobook Pro N6506CU* */ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"ASUSTeK COMPUTER INC." ), + DMI_MATCH(DMI_BOARD_NAME, "N6506CU"), + }, + }, {/* LG Electronics 17U70P */ .matches = {
drivers/acpi/scan.c +4 -0
@@ -847,6 +847,8 @@ static bool acpi_info_matches_ids(struct acpi_device_info *info,static const char *const acpi_ignore_dep_ids[] = {"PNP0D80" ,/* Windows-compatible System Power Management Controller */ "INT33BD" ,/* Intel Baytrail Mailbox Device */ +"INTC10DE" ,/* Intel CVS LNL */ +"INTC10E0" ,/* Intel CVS ARL */ "LATT2021" ,/* Lattice FW Update Client Driver */ NULL };
@@ -860,6 +862,8 @@ static const char * const acpi_honor_dep_ids[] = {"INTC10CF" ,/* IVSC (MTL) driver must be loaded to allow i2c access to camera sensors */ "RSCV0001" ,/* RISC-V PLIC */ "RSCV0002" ,/* RISC-V APLIC */ +"RSCV0005" ,/* RISC-V SBI MPXY MBOX */ +"RSCV0006" ,/* RISC-V RPMI SYSMSI */ "PNP0C0F" ,/* PCI Link Device */ NULL };
drivers/acpi/spcr.c +9 -1
@@ -146,7 +146,15 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console) goto done; } -switch (table->baud_rate) { +/* +* SPCR 1.09 defines Precise Baud Rate Filed contains a specific +* non-zero baud rate which overrides the value of the Configured +* Baud Rate field. If this field is zero or not present, Configured +* Baud Rate is used. +*/ +if (table->header.revision >=4 && table->precise_baudrate) + baud_rate = table->precise_baudrate; +else switch (table->baud_rate) {case 0 :/* * SPCR 1.04 defines 0 as a preconfigured state of UART.
drivers/acpi/video_detect.c +8 -0
@@ -948,6 +948,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "Mipad2"), }, }, +/* https://gitlab.freedesktop.org/drm/amd/-/issues/4512 */ + { + .callback = video_detect_force_native, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82K8"), + }, + }, { }, };
drivers/base/regmap/regmap-slimbus.c +2 -4
@@ -48,8 +48,7 @@ struct regmap *__regmap_init_slimbus(struct slim_device *slimbus,if (IS_ERR (bus))return ERR_CAST (bus); -return __regmap_init (&slimbus->dev, bus, &slimbus->dev, config, - lock_key, lock_name); +return __regmap_init (&slimbus->dev, bus, slimbus, config, lock_key, lock_name); }EXPORT_SYMBOL_GPL (__regmap_init_slimbus);
@@ -63,8 +62,7 @@ struct regmap *__devm_regmap_init_slimbus(struct slim_device *slimbus,if (IS_ERR (bus))return ERR_CAST (bus); -return __devm_regmap_init (&slimbus->dev, bus, &slimbus, config, - lock_key, lock_name); +return __devm_regmap_init (&slimbus->dev, bus, slimbus, config, lock_key, lock_name); }EXPORT_SYMBOL_GPL (__devm_regmap_init_slimbus);
drivers/bluetooth/btmtksdio.c +12 -0
@@ -1270,6 +1270,12 @@ static void btmtksdio_cmd_timeout(struct hci_dev *hdev)sdio_claim_host (bdev->func); +/* set drv_pmctrl if BT is closed before doing reset */ +if (!test_bit (BTMTKSDIO_FUNC_ENABLED , &bdev->tx_state)) { +sdio_enable_func (bdev->func); +btmtksdio_drv_pmctrl (bdev); + } +sdio_writel (bdev->func,C_INT_EN_CLR ,MTK_REG_CHLPCR ,NULL );skb_queue_purge (&bdev->txq);cancel_work_sync (&bdev->txrx_work);
@@ -1285,6 +1291,12 @@ static void btmtksdio_cmd_timeout(struct hci_dev *hdev) goto err; } +/* set fw_pmctrl back if BT is closed after doing reset */ +if (!test_bit (BTMTKSDIO_FUNC_ENABLED , &bdev->tx_state)) { +btmtksdio_fw_pmctrl (bdev); +sdio_disable_func (bdev->func); + } +clear_bit (BTMTKSDIO_PATCH_ENABLED , &bdev->tx_state); err:sdio_release_host (bdev->func);
drivers/bluetooth/btrtl.c +3 -1
@@ -625,8 +625,10 @@ static int rtlbt_parse_firmware_v2(struct hci_dev *hdev, len += entry->len; } -if (!len) +if (!len) { +kvfree (ptr);return -EPERM ; + } *_buf = ptr;return len;
drivers/bluetooth/btusb.c +19 -0
@@ -65,6 +65,7 @@ static struct usb_driver btusb_driver;#define BTUSB_INTEL_BROKEN_INITIAL_NCMD BIT(25)#define BTUSB_INTEL_NO_WBS_SUPPORT BIT(26)#define BTUSB_ACTIONS_SEMI BIT(27) +#define BTUSB_BARROT BIT(28)static const struct usb_device_id btusb_table[] = {/* Generic Bluetooth USB device */
@@ -688,6 +689,8 @@ static const struct usb_device_id quirks_table[] = { BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x13d3, 0x3615), .driver_info = BTUSB_MEDIATEK | BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x13d3, 0x3633), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x35f5, 0x7922), .driver_info = BTUSB_MEDIATEK | BTUSB_WIDEBAND_SPEECH },
@@ -796,6 +799,10 @@ static const struct usb_device_id quirks_table[] = { { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + /* Barrot Technology Bluetooth devices */ + { USB_DEVICE(0x33fa, 0x0010), .driver_info = BTUSB_BARROT }, + { USB_DEVICE(0x33fa, 0x0012), .driver_info = BTUSB_BARROT }, + /* Actions Semiconductor ATS2851 based devices */ { USB_DEVICE(0x10d7, 0xb012), .driver_info = BTUSB_ACTIONS_SEMI },
@@ -1193,6 +1200,18 @@ static int btusb_recv_intr(struct btusb_data *data, void *buffer, int count) }if (!hci_skb_expect (skb)) { +/* Each chunk should correspond to at least 1 or more +* events so if there are still bytes left that doesn't +* constitute a new event this is likely a bug in the +* controller. +*/ +if (count && count <HCI_EVENT_HDR_SIZE ) { +bt_dev_warn (data->hdev, +"Unexpected continuation: %d bytes" , + count); + count =0 ; + } +/* Complete frame */ btusb_recv_event (data, skb); skb =NULL ;
drivers/bluetooth/hci_bcsp.c +3 -0
@@ -582,6 +582,9 @@ static int bcsp_recv(struct hci_uart *hu, const void *data, int count)struct bcsp_struct *bcsp = hu->priv;const unsigned char *ptr; +if (!test_bit (HCI_UART_REGISTERED , &hu->flags)) +return -EUNATCH ; +BT_DBG ("hu %p count %d rx_state %d rx_count %ld" , hu, count, bcsp->rx_state, bcsp->rx_count);
drivers/bus/mhi/host/internal.h +2 -0
@@ -163,6 +163,8 @@ enum mhi_pm_state { MHI_PM_IN_ERROR_STATE(pm_state))#define MHI_PM_IN_SUSPEND_STATE (pm_state) (pm_state & \ (MHI_PM_M3_ENTER | MHI_PM_M3)) +#define MHI_PM_FATAL_ERROR (pm_state) ((pm_state == MHI_PM_FW_DL_ERR) || \ + (pm_state >= MHI_PM_SYS_ERR_FAIL))#define NR_OF_CMD_RINGS 1#define CMD_EL_PER_RING 128
drivers/bus/mhi/host/pm.c +1 -1
@@ -1279,7 +1279,7 @@ int mhi_sync_power_up(struct mhi_controller *mhi_cntrl) mhi_cntrl->ready_timeout_ms : mhi_cntrl->timeout_ms;wait_event_timeout (mhi_cntrl->state_event,MHI_IN_MISSION_MODE (mhi_cntrl->ee) || -MHI_PM_IN_ERROR_STATE (mhi_cntrl->pm_state), +MHI_PM_FATAL_ERROR (mhi_cntrl->pm_state),msecs_to_jiffies (timeout_ms)); ret = (MHI_IN_MISSION_MODE (mhi_cntrl->ee)) ?0 : -ETIMEDOUT ;
drivers/char/misc.c +13 -27
@@ -58,9 +58,8 @@ static LIST_HEAD(misc_list);static DEFINE_MUTEX (misc_mtx);/* -* Assigned numbers, used for dynamic minors +* Assigned numbers. */ -#define DYNAMIC_MINORS 128/* like dynamic majors */ static DEFINE_IDA (misc_minors_ida);static int misc_minor_alloc (int minor)
@@ -69,34 +68,17 @@ static int misc_minor_alloc(int minor)if (minor ==MISC_DYNAMIC_MINOR ) {/* allocate free id */ - ret =ida_alloc_max (&misc_minors_ida,DYNAMIC_MINORS -1 ,GFP_KERNEL ); -if (ret >=0 ) { - ret =DYNAMIC_MINORS - ret -1 ; - }else { - ret =ida_alloc_range (&misc_minors_ida,MISC_DYNAMIC_MINOR +1 , -MINORMASK ,GFP_KERNEL ); - } + ret =ida_alloc_range (&misc_minors_ida,MISC_DYNAMIC_MINOR +1 , +MINORMASK ,GFP_KERNEL ); }else { -/* specific minor, check if it is in dynamic or misc dynamic range */ -if (minor <DYNAMIC_MINORS ) { - minor =DYNAMIC_MINORS - minor -1 ; - ret =ida_alloc_range (&misc_minors_ida, minor, minor,GFP_KERNEL ); - }else if (minor >MISC_DYNAMIC_MINOR ) { - ret =ida_alloc_range (&misc_minors_ida, minor, minor,GFP_KERNEL ); - }else { -/* case of non-dynamic minors, no need to allocate id */ - ret =0 ; - } + ret =ida_alloc_range (&misc_minors_ida, minor, minor,GFP_KERNEL ); }return ret; }static void misc_minor_free (int minor) { -if (minor <DYNAMIC_MINORS ) -ida_free (&misc_minors_ida,DYNAMIC_MINORS - minor -1 ); -else if (minor >MISC_DYNAMIC_MINOR ) -ida_free (&misc_minors_ida, minor); +ida_free (&misc_minors_ida, minor); }#ifdef CONFIG_PROC_FS
@@ -150,7 +132,8 @@ static int misc_open(struct inode *inode, struct file *file)break ; } -if (!new_fops) { +/* Only request module for fixed minor code */ +if (!new_fops && minor <MISC_DYNAMIC_MINOR ) {mutex_unlock (&misc_mtx);request_module ("char-major-%d-%d" ,MISC_MAJOR , minor);mutex_lock (&misc_mtx);
@@ -162,10 +145,11 @@ static int misc_open(struct inode *inode, struct file *file) new_fops =fops_get (iter->fops);break ; } -if (!new_fops) - goto fail; } +if (!new_fops) + goto fail; +/* * Place the miscdevice in the file's * private_data so it can be used by the
@@ -297,9 +281,11 @@ void misc_deregister(struct miscdevice *misc)return ;mutex_lock (&misc_mtx); -list_del (&misc->list); +list_del_init (&misc->list);device_destroy (&misc_class,MKDEV (MISC_MAJOR , misc->minor));misc_minor_free (misc->minor); +if (misc->minor >MISC_DYNAMIC_MINOR ) + misc->minor =MISC_DYNAMIC_MINOR ;mutex_unlock (&misc_mtx); }EXPORT_SYMBOL (misc_deregister);
drivers/clk/at91/clk-master.c +3 -0
@@ -580,6 +580,9 @@ clk_sama7g5_master_recalc_rate(struct clk_hw *hw, {struct clk_master *master =to_clk_master (hw); +if (master->div ==MASTER_PRES_MAX ) +return DIV_ROUND_CLOSEST_ULL (parent_rate,3 ); +return DIV_ROUND_CLOSEST_ULL (parent_rate, (1 << master->div)); }
drivers/clk/at91/clk-sam9x60-pll.c +39 -36
162 lines not on this page · raw message
drivers/clk/at91/sam9x7.c +1 -0
@@ -403,6 +403,7 @@ static const struct { { .n = "pioD_clk", .id = 44, }, { .n = "tcb1_clk", .id = 45, }, { .n = "dbgu_clk", .id = 47, }, + { .n = "pmecc_clk", .id = 48, }, /* * mpddr_clk feeds DDR controller and is enabled by bootloader thus we * need to keep it enabled in case there is no Linux consumer for it.
drivers/clk/clk-scmi.c +9 -2
@@ -349,6 +349,8 @@ scmi_clk_ops_select(struct scmi_clk *sclk, bool atomic_capable,unsigned int atomic_threshold_us, const struct clk_ops **clk_ops_db, size_t db_size) { + int ret; +u32 val;const struct scmi_clock_info *ci = sclk->info;unsigned int feats_key =0 ;const struct clk_ops *ops;
@@ -370,8 +372,13 @@ scmi_clk_ops_select(struct scmi_clk *sclk, bool atomic_capable,if (!ci->parent_ctrl_forbidden) feats_key |=BIT (SCMI_CLK_PARENT_CTRL_SUPPORTED ); -if (ci->extended_config) - feats_key |=BIT (SCMI_CLK_DUTY_CYCLE_SUPPORTED ); +if (ci->extended_config) { + ret = scmi_proto_clk_ops->config_oem_get (sclk->ph, sclk->id, +SCMI_CLOCK_CFG_DUTY_CYCLE , + &val,NULL , false); +if (!ret) + feats_key |=BIT (SCMI_CLK_DUTY_CYCLE_SUPPORTED ); + }if (WARN_ON (feats_key >= db_size))return NULL ;
drivers/clk/qcom/gcc-ipq6018.c +38 -22
93 lines not on this page · raw message
drivers/clk/sunxi-ng/ccu-sun6i-rtc.c +11 -0
@@ -325,6 +325,13 @@ static const struct sun6i_rtc_match_data sun50i_r329_rtc_ccu_data = { .osc32k_fanout_nparents = ARRAY_SIZE(sun50i_r329_osc32k_fanout_parents), }; +static const struct sun6i_rtc_match_data sun55i_a523_rtc_ccu_data = { + .have_ext_osc32k = true, + .have_iosc_calibration = true, + .osc32k_fanout_parents = sun50i_r329_osc32k_fanout_parents, + .osc32k_fanout_nparents =ARRAY_SIZE (sun50i_r329_osc32k_fanout_parents), +}; +static const struct of_device_id sun6i_rtc_ccu_match[] = { { .compatible ="allwinner,sun50i-h616-rtc" ,
@@ -334,6 +341,10 @@ static const struct of_device_id sun6i_rtc_ccu_match[] = { .compatible = "allwinner,sun50i-r329-rtc", .data = &sun50i_r329_rtc_ccu_data, }, + { + .compatible = "allwinner,sun55i-a523-rtc", + .data = &sun55i_a523_rtc_ccu_data, + }, {}, };MODULE_DEVICE_TABLE (of, sun6i_rtc_ccu_match);
drivers/clk/ti/clk-33xx.c +2 -0
@@ -258,6 +258,8 @@ static const char *enable_init_clks[] = {"dpll_ddr_m2_ck" ,"dpll_mpu_m2_ck" ,"l3_gclk" , +/* WKUP_DEBUGSS_CLKCTRL - disable fails, AM335x Errata Advisory 1.0.42 */ +"l3-aon-clkctrl:0000:0" ,/* AM3_L3_L3_MAIN_CLKCTRL, needed during suspend */ "l3-clkctrl:00bc:0" , "l4hs_gclk",
drivers/clk/xilinx/clk-xlnx-clock-wizard.c +1 -1
@@ -1153,7 +1153,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) (&pdev->dev, clkout_name, clk_name,0 , clk_wzrd->base, - (WZRD_CLK_CFG_REG (is_versal,3 ) + i *8 ), + (WZRD_CLK_CFG_REG (is_versal,2 ) + i *8 ),WZRD_CLKOUT_DIVIDE_SHIFT ,WZRD_CLKOUT_DIVIDE_WIDTH , CLK_DIVIDER_ONE_BASED |
drivers/clocksource/timer-rtl-otto.c +23 -3
@@ -38,6 +38,7 @@#define RTTM_BIT_COUNT 28#define RTTM_MIN_DELTA 8#define RTTM_MAX_DELTA CLOCKSOURCE_MASK(28) +#define RTTM_MAX_DIVISOR GENMASK(15, 0)/* * Timers are derived from the LXB clock frequency. Usually this is a fixed
@@ -112,6 +113,22 @@ static irqreturn_t rttm_timer_interrupt(int irq, void *dev_id)return IRQ_HANDLED ; } +static void rttm_bounce_timer (void __iomem *base,u32 mode) +{ +/* +* When a running timer has less than ~5us left, a stop/start sequence +* might fail. While the details are unknown the most evident effect is +* that the subsequent interrupt will not be fired. +* +* As a workaround issue an intermediate restart with a very slow +* frequency of ~3kHz keeping the target counter (>=8). So the follow +* up restart will always be issued outside the critical window. +*/ + +rttm_disable_timer (base); +rttm_enable_timer (base, mode,RTTM_MAX_DIVISOR ); +} +static void rttm_stop_timer (void __iomem *base) {rttm_disable_timer (base);
@@ -129,7 +146,8 @@ static int rttm_next_event(unsigned long delta, struct clock_event_device *clkevstruct timer_of *to =to_timer_of (clkevt);RTTM_DEBUG (to->of_base.base); -rttm_stop_timer (to->of_base.base); +rttm_bounce_timer (to->of_base.base,RTTM_CTRL_COUNTER ); +rttm_disable_timer (to->of_base.base);rttm_set_period (to->of_base.base, delta);rttm_start_timer (to,RTTM_CTRL_COUNTER );
@@ -141,7 +159,8 @@ static int rttm_state_oneshot(struct clock_event_device *clkevt)struct timer_of *to =to_timer_of (clkevt);RTTM_DEBUG (to->of_base.base); -rttm_stop_timer (to->of_base.base); +rttm_bounce_timer (to->of_base.base,RTTM_CTRL_COUNTER ); +rttm_disable_timer (to->of_base.base);rttm_set_period (to->of_base.base,RTTM_TICKS_PER_SEC /HZ );rttm_start_timer (to,RTTM_CTRL_COUNTER );
@@ -153,7 +172,8 @@ static int rttm_state_periodic(struct clock_event_device *clkevt)struct timer_of *to =to_timer_of (clkevt);RTTM_DEBUG (to->of_base.base); -rttm_stop_timer (to->of_base.base); +rttm_bounce_timer (to->of_base.base,RTTM_CTRL_TIMER ); +rttm_disable_timer (to->of_base.base);rttm_set_period (to->of_base.base,RTTM_TICKS_PER_SEC /HZ );rttm_start_timer (to,RTTM_CTRL_TIMER );
drivers/clocksource/timer-vf-pit.c +11 -11
@@ -35,30 +35,30 @@ static unsigned long cycle_per_jiffy;static inline void pit_timer_enable (void ) { -__raw_writel (PITTCTRL_TEN |PITTCTRL_TIE , clkevt_base +PITTCTRL ); +writel (PITTCTRL_TEN |PITTCTRL_TIE , clkevt_base +PITTCTRL ); }static inline void pit_timer_disable (void ) { -__raw_writel (0 , clkevt_base +PITTCTRL ); +writel (0 , clkevt_base +PITTCTRL ); }static inline void pit_irq_acknowledge (void ) { -__raw_writel (PITTFLG_TIF , clkevt_base +PITTFLG ); +writel (PITTFLG_TIF , clkevt_base +PITTFLG ); } static u64 notrace pit_read_sched_clock(void) { -return ~__raw_readl (clksrc_base +PITCVAL ); +return ~readl (clksrc_base +PITCVAL ); }static int __init pit_clocksource_init (unsigned long rate) {/* set the max load value and start the clock source counter */ -__raw_writel (0 , clksrc_base +PITTCTRL ); -__raw_writel (~0UL , clksrc_base +PITLDVAL ); -__raw_writel (PITTCTRL_TEN , clksrc_base +PITTCTRL ); +writel (0 , clksrc_base +PITTCTRL ); +writel (~0UL , clksrc_base +PITLDVAL ); +writel (PITTCTRL_TEN , clksrc_base +PITTCTRL );sched_clock_register (pit_read_sched_clock,32 , rate); return clocksource_mmio_init(clksrc_base + PITCVAL, "vf-pit", rate,
@@ -76,7 +76,7 @@ static int pit_set_next_event(unsigned long delta,* hardware requirement. */ pit_timer_disable (); -__raw_writel (delta -1 , clkevt_base +PITLDVAL ); +writel (delta -1 , clkevt_base +PITLDVAL );pit_timer_enable ();return 0 ;
@@ -125,8 +125,8 @@ static struct clock_event_device clockevent_pit = {static int __init pit_clockevent_init (unsigned long rate,int irq) { -__raw_writel (0 , clkevt_base +PITTCTRL ); -__raw_writel (PITTFLG_TIF , clkevt_base +PITTFLG ); +writel (0 , clkevt_base +PITTCTRL ); +writel (PITTFLG_TIF , clkevt_base +PITTFLG );BUG_ON (request_irq (irq, pit_timer_interrupt,IRQF_TIMER |IRQF_IRQPOLL ,"VF pit timer" , &clockevent_pit));
@@ -183,7 +183,7 @@ static int __init pit_timer_init(struct device_node *np) cycle_per_jiffy = clk_rate / (HZ );/* enable the pit module */ -__raw_writel (~PITMCR_MDIS , timer_base +PITMCR ); +writel (~PITMCR_MDIS , timer_base +PITMCR ); ret =pit_clocksource_init (clk_rate);if (ret)
drivers/cpufreq/cpufreq_ondemand.c +1 -24
@@ -29,29 +29,6 @@ static struct od_ops od_ops;static unsigned int default_powersave_bias; -/* -* Not all CPUs want IO time to be accounted as busy; this depends on how -* efficient idling at a higher frequency/voltage is. -* Pavel Machek says this is not so for various generations of AMD and old -* Intel systems. -* Mike Chan (android.com) claims this is also not true for ARM. -* Because of this, whitelist specific known (series) of CPUs by default, and -* leave all others up to the user. -*/ -static int should_io_be_busy (void ) -{ -#if defined(CONFIG_X86 ) -/* -* For Intel, Core 2 (model 15) and later have an efficient idle. -*/ -if (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL && - boot_cpu_data.x86 ==6 && - boot_cpu_data.x86_model >=15 ) -return 1 ; -#endif -return 0 ; -} -/* * Find right freq to be set now with powersave_bias on. * Returns the freq_hi to be used right now and will set freq_hi_delay_us,
@@ -377,7 +354,7 @@ static int od_init(struct dbs_data *dbs_data) dbs_data->sampling_down_factor =DEF_SAMPLING_DOWN_FACTOR ; dbs_data->ignore_nice_load =0 ; tuners->powersave_bias = default_powersave_bias; - dbs_data->io_is_busy =should_io_be_busy (); + dbs_data->io_is_busy =od_should_io_be_busy (); dbs_data->tuners = tuners;return 0 ;
drivers/cpufreq/cpufreq_ondemand.h +23 -0
@@ -24,3 +24,26 @@ static inline struct od_policy_dbs_info *to_dbs_info(struct policy_dbs_info *polstruct od_dbs_tuners {unsigned int powersave_bias; }; + +#ifdef CONFIG_X86 +#include <asm/cpu_device_id.h> + +/* +* Not all CPUs want IO time to be accounted as busy; this depends on +* how efficient idling at a higher frequency/voltage is. +* +* Pavel Machek says this is not so for various generations of AMD and +* old Intel systems. Mike Chan (android.com) claims this is also not +* true for ARM. +* +* Because of this, select a known series of Intel CPUs (Family 6 and +* later) by default, and leave all others up to the user. +*/ +static inline bool od_should_io_be_busy (void ) +{ +return (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL && + boot_cpu_data.x86_vfm >=INTEL_PENTIUM_PRO ); +} +#else +static inline bool od_should_io_be_busy (void ) {return false; } +#endif
drivers/cpufreq/longhaul.c +3 -0
@@ -954,6 +954,9 @@ static void __exit longhaul_exit(void)struct cpufreq_policy *policy =cpufreq_cpu_get (0 );int i; +if (unlikely (!policy)) +return ; +for (i =0 ; i < numscales; i++) {if (mults[i] == maxmult) {struct cpufreq_freqs freqs;
drivers/cpufreq/tegra186-cpufreq.c +21 -6
@@ -132,13 +132,14 @@ static struct cpufreq_driver tegra186_cpufreq_driver = {static struct cpufreq_frequency_table *init_vhint_table (struct platform_device *pdev,struct tegra_bpmp *bpmp, -struct tegra186_cpufreq_cluster *cluster,unsigned int cluster_id) +struct tegra186_cpufreq_cluster *cluster,unsigned int cluster_id, +int *num_rates) {struct cpufreq_frequency_table *table;struct mrq_cpu_vhint_request req;struct tegra_bpmp_message msg;struct cpu_vhint_data *data; -int err, i, j, num_rates =0 ; +int err, i, j;dma_addr_t phys;void *virt;
@@ -168,6 +169,7 @@ static struct cpufreq_frequency_table *init_vhint_table( goto free; } + *num_rates =0 ;for (i = data->vfloor; i <= data->vceil; i++) {u16 ndiv = data->ndiv[i];
@@ -178,10 +180,10 @@ static struct cpufreq_frequency_table *init_vhint_table(if (i >0 && ndiv == data->ndiv[i -1 ])continue ; - num_rates++; + (*num_rates)++; } - table =devm_kcalloc (&pdev->dev, num_rates +1 ,sizeof (*table), + table =devm_kcalloc (&pdev->dev, *num_rates +1 ,sizeof (*table),GFP_KERNEL );if (!table) { table =ERR_PTR (-ENOMEM );
@@ -223,7 +225,9 @@ static int tegra186_cpufreq_probe(struct platform_device *pdev) {struct tegra186_cpufreq_data *data;struct tegra_bpmp *bpmp; -unsigned int i =0 , err; +unsigned int i =0 , err, edvd_offset; +int num_rates =0 ; +u32 edvd_val, cpu; data = devm_kzalloc(&pdev->dev, struct_size(data, clusters, TEGRA186_NUM_CLUSTERS),
@@ -246,10 +250,21 @@ static int tegra186_cpufreq_probe(struct platform_device *pdev)for (i =0 ; i <TEGRA186_NUM_CLUSTERS ; i++) {struct tegra186_cpufreq_cluster *cluster = &data->clusters[i]; - cluster->table =init_vhint_table (pdev, bpmp, cluster, i); + cluster->table =init_vhint_table (pdev, bpmp, cluster, i, &num_rates);if (IS_ERR (cluster->table)) { err =PTR_ERR (cluster->table); goto put_bpmp; + }else if (!num_rates) { + err = -EINVAL ; + goto put_bpmp; + } + +for (cpu =0 ; cpu <ARRAY_SIZE (tegra186_cpus); cpu++) { +if (data->cpus[cpu].bpmp_cluster_id == i) { + edvd_val = cluster->table[num_rates -1 ].driver_data; + edvd_offset = data->cpus[cpu].edvd_offset; +writel (edvd_val, data->regs + edvd_offset); + } } }
drivers/cpufreq/ti-cpufreq.c +2 -0
@@ -308,6 +308,7 @@ static const struct soc_device_attribute k3_cpufreq_soc[] = { { .family = "AM62X", .revision = "SR1.0" }, { .family = "AM62AX", .revision = "SR1.0" }, { .family = "AM62PX", .revision = "SR1.0" }, + { .family = "AM62DX", .revision = "SR1.0" }, {/* sentinel */ } };
@@ -453,6 +454,7 @@ static const struct of_device_id ti_cpufreq_of_match[] __maybe_unused = { { .compatible = "ti,omap36xx", .data = &omap36xx_soc_data, }, { .compatible = "ti,am625", .data = &am625_soc_data, }, { .compatible = "ti,am62a7", .data = &am62a7_soc_data, }, + { .compatible = "ti,am62d2", .data = &am62a7_soc_data, }, { .compatible = "ti,am62p5", .data = &am62p5_soc_data, }, /* legacy */ { .compatible = "ti,omap3430", .data = &omap34xx_soc_data, },
drivers/cpuidle/cpuidle.c +7 -1
@@ -631,8 +631,14 @@ static void __cpuidle_device_init(struct cpuidle_device *dev)static int __cpuidle_register_device (struct cpuidle_device *dev) {struct cpuidle_driver *drv =cpuidle_get_cpu_driver (dev); +unsigned int cpu = dev->cpu;int i, ret; +if (per_cpu (cpuidle_devices, cpu)) { +pr_info ("CPU%d: cpuidle device already registered\n" , cpu); +return -EEXIST ; + } +if (!try_module_get (drv->owner))return -EINVAL ;
@@ -644,7 +650,7 @@ static int __cpuidle_register_device(struct cpuidle_device *dev) dev->states_usage[i].disable |=CPUIDLE_STATE_DISABLED_BY_USER ; } -per_cpu (cpuidle_devices, dev->cpu) = dev; +per_cpu (cpuidle_devices, cpu) = dev;list_add (&dev->device_list, &cpuidle_detected_devices); ret =cpuidle_coupled_register_device (dev);
drivers/cpuidle/governors/menu.c +39 -34
84 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +0 -1
@@ -264,7 +264,6 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req goto theend_sgs; } - chan->timeout = areq->cryptlen; rctx->nr_sgs = ns; rctx->nr_sgd = nd;return 0 ;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +2 -3
@@ -210,11 +210,10 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow, const char *name)mutex_unlock (&ce->mlock);wait_for_completion_interruptible_timeout (&ce->chanlist[flow].complete, -msecs_to_jiffies (ce->chanlist[flow].timeout)); +msecs_to_jiffies (CE_DMA_TIMEOUT_MS ));if (ce->chanlist[flow].status ==0 ) { -dev_err (ce->dev,"DMA timeout for %s (tm=%d) on flow %d\n" , name, - ce->chanlist[flow].timeout, flow); +dev_err (ce->dev,"DMA timeout for %s on flow %d\n" , name, flow); err = -EFAULT ; }/* No need to lock for this read, the channel is locked so
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +0 -2
@@ -457,8 +457,6 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, void *breq)else cet->t_dlen =cpu_to_le32 (areq->nbytes /4 + j); - chan->timeout = areq->nbytes; - err =sun8i_ce_run_task (ce, flow,crypto_ahash_alg_name (tfm));dma_unmap_single (ce->dev, addr_pad, j *4 ,DMA_TO_DEVICE );
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c +0 -1
@@ -137,7 +137,6 @@ int sun8i_ce_prng_generate(struct crypto_rng *tfm, const u8 *src, cet->t_dst[0 ].addr =desc_addr_val_le32 (ce, dma_dst); cet->t_dst[0 ].len =cpu_to_le32 (todo /4 ); - ce->chanlist[flow].timeout =2000 ; err =sun8i_ce_run_task (ce,3 ,"PRNG" );mutex_unlock (&ce->rnglock);
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c +0 -1
@@ -79,7 +79,6 @@ static int sun8i_ce_trng_read(struct hwrng *rng, void *data, size_t max, bool wa cet->t_dst[0 ].addr =desc_addr_val_le32 (ce, dma_dst); cet->t_dst[0 ].len =cpu_to_le32 (todo /4 ); - ce->chanlist[flow].timeout = todo; err =sun8i_ce_run_task (ce,3 ,"TRNG" );mutex_unlock (&ce->rnglock);
drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h +1 -1
@@ -106,6 +106,7 @@#define MAX_SG 8#define CE_MAX_CLOCKS 4 +#define CE_DMA_TIMEOUT_MS 3000#define MAXFLOW 4
@@ -196,7 +197,6 @@ struct sun8i_ce_flow {struct completion complete;int status;dma_addr_t t_phy; -int timeout;struct ce_task *tl;void *backup_iv;void *bounce_iv;
drivers/crypto/aspeed/aspeed-acry.c +0 -2
@@ -789,7 +789,6 @@ static int aspeed_acry_probe(struct platform_device *pdev) err_engine_rsa_start:crypto_engine_exit (acry_dev->crypt_engine_rsa); clk_exit: -clk_disable_unprepare (acry_dev->clk);return rc; }
@@ -801,7 +800,6 @@ static void aspeed_acry_remove(struct platform_device *pdev)aspeed_acry_unregister (acry_dev);crypto_engine_exit (acry_dev->crypt_engine_rsa);tasklet_kill (&acry_dev->done_task); -clk_disable_unprepare (acry_dev->clk); }MODULE_DEVICE_TABLE (of, aspeed_acry_of_matches);
drivers/crypto/caam/ctrl.c +2 -2
@@ -702,12 +702,12 @@ static int caam_ctrl_rng_init(struct device *dev)*/ if (needs_entropy_delay_adjustment ()) ent_delay =12000 ; -if (!(ctrlpriv->rng4_sh_init || inst_handles)) { +if (!inst_handles) {dev_info (dev,"Entropy delay = %u\n" , ent_delay);kick_trng (dev, ent_delay); - ent_delay +=400 ; + ent_delay = ent_delay *2 ; }/* * if instantiate_rng(...) fails, the loop will rerun
drivers/crypto/ccp/hsti.c +1 -1
@@ -88,7 +88,7 @@ static int psp_poulate_hsti(struct psp_device *psp)if (!req)return -ENOMEM ; - req->header.payload_size =sizeof (req); + req->header.payload_size =sizeof (*req); ret =psp_send_platform_access_msg (PSP_CMD_HSTI_QUERY , (struct psp_request *)req);if (ret)
drivers/crypto/ccp/sev-dev.c +10 -0
@@ -28,6 +28,7 @@#include <linux/fs_struct.h> #include <linux/psp.h> #include <linux/amd-iommu.h> +#include <linux/crash_dump.h> #include <asm/smp.h> #include <asm/cacheflush.h>
@@ -1314,6 +1315,15 @@ static int _sev_platform_init_locked(struct sev_platform_init_args *args)if (!psp_master || !psp_master->sev_data)return -ENODEV ; +/* +* Skip SNP/SEV initialization under a kdump kernel as SEV/SNP +* may already be initialized in the previous kernel. Since no +* SNP/SEV guests are run under a kdump kernel, there is no +* need to initialize SNP or SEV during kdump boot. +*/ +if (is_kdump_kernel ()) +return 0 ; + sev = psp_master->sev_data;if (sev->state ==SEV_STATE_INIT )
drivers/crypto/hisilicon/qm.c +52 -26
162 lines not on this page · raw message
drivers/crypto/intel/qat/qat_common/qat_uclo.c +1 -1
@@ -1746,7 +1746,7 @@ static int qat_uclo_map_objs_from_mof(struct icp_qat_mof_handle *mobj_handle)if (sobj_hdr) sobj_chunk_num = sobj_hdr->num_chunks; - mobj_hdr =kzalloc ((uobj_chunk_num + sobj_chunk_num) * + mobj_hdr =kcalloc (size_add (uobj_chunk_num, sobj_chunk_num),sizeof (*mobj_hdr),GFP_KERNEL );if (!mobj_hdr)return -ENOMEM ;
drivers/dma/dw-edma/dw-edma-core.c +22 -0
@@ -595,6 +595,25 @@ dw_edma_device_prep_interleaved_dma(struct dma_chan *dchan,return dw_edma_device_transfer (&xfer); } +static void dw_hdma_set_callback_result (struct virt_dma_desc *vd, +enum dmaengine_tx_result result) +{ +u32 residue =0 ; +struct dw_edma_desc *desc; +struct dmaengine_result *res; + +if (!vd->tx.callback_result) +return ; + + desc =vd2dw_edma_desc (vd); +if (desc) + residue = desc->alloc_sz - desc->xfer_sz; + + res = &vd->tx_result; + res->result = result; + res->residue = residue; +} +static void dw_edma_done_interrupt (struct dw_edma_chan *chan) {struct dw_edma_desc *desc;
@@ -608,6 +627,8 @@ static void dw_edma_done_interrupt(struct dw_edma_chan *chan)case EDMA_REQ_NONE : desc =vd2dw_edma_desc (vd);if (!desc->chunks_alloc) { +dw_hdma_set_callback_result (vd, +DMA_TRANS_NOERROR );list_del (&vd->node);vchan_cookie_complete (vd); }
@@ -644,6 +665,7 @@ static void dw_edma_abort_interrupt(struct dw_edma_chan *chan)spin_lock_irqsave (&chan->vc.lock, flags); vd =vchan_next_desc (&chan->vc);if (vd) { +dw_hdma_set_callback_result (vd,DMA_TRANS_ABORTED );list_del (&vd->node);vchan_cookie_complete (vd); }
drivers/dma/mv_xor.c +2 -2
@@ -1013,7 +1013,7 @@ static int mv_xor_channel_remove(struct mv_xor_chan *mv_chan)dma_async_device_unregister (&mv_chan->dmadev); -dma_free_coherent (dev,MV_XOR_POOL_SIZE , +dma_free_wc (dev,MV_XOR_POOL_SIZE , mv_chan->dma_desc_pool_virt, mv_chan->dma_desc_pool);dma_unmap_single (dev, mv_chan->dummy_src_addr,MV_XOR_MIN_BYTE_COUNT ,DMA_FROM_DEVICE );
@@ -1163,7 +1163,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev, err_free_irq:free_irq (mv_chan->irq, mv_chan); err_free_dma: -dma_free_coherent (&pdev->dev,MV_XOR_POOL_SIZE , +dma_free_wc (&pdev->dev,MV_XOR_POOL_SIZE , mv_chan->dma_desc_pool_virt, mv_chan->dma_desc_pool); err_unmap_dst: dma_unmap_single(dma_dev->dev, mv_chan->dummy_dst_addr,
drivers/dma/sh/shdma-base.c +19 -6
@@ -129,12 +129,25 @@ static dma_cookie_t shdma_tx_submit(struct dma_async_tx_descriptor *tx)const struct shdma_ops *ops = sdev->ops;dev_dbg (schan->dev,"Bring up channel %d\n" , schan->id); -/* -* TODO: .xfer_setup() might fail on some platforms. -* Make it int then, on error remove chunks from the -* queue again -*/ - ops->setup_xfer (schan, schan->slave_id); + + ret = ops->setup_xfer (schan, schan->slave_id); +if (ret <0 ) { +dev_err (schan->dev,"setup_xfer failed: %d\n" , ret); + +/* Remove chunks from the queue and mark them as idle */ +list_for_each_entry_safe (chunk, c, &schan->ld_queue, node) { +if (chunk->cookie == cookie) { + chunk->mark =DESC_IDLE ; +list_move (&chunk->node, &schan->ld_free); + } + } + + schan->pm_state =SHDMA_PM_ESTABLISHED ; + ret =pm_runtime_put (schan->dev); + +spin_unlock_irq (&schan->chan_lock); +return ret; + }if (schan->pm_state ==SHDMA_PM_PENDING )shdma_chan_xfer_ld_queue (schan);
drivers/dma/sh/shdmac.c +13 -4
@@ -300,21 +300,30 @@ static bool sh_dmae_channel_busy(struct shdma_chan *schan)return dmae_is_busy (sh_chan); } -static void sh_dmae_setup_xfer (struct shdma_chan *schan, -int slave_id) +static int sh_dmae_setup_xfer (struct shdma_chan *schan,int slave_id) { struct sh_dmae_chan *sh_chan = container_of(schan, struct sh_dmae_chan, shdma_chan); +int ret =0 ;if (slave_id >=0 ) {const struct sh_dmae_slave_config *cfg = sh_chan->config; -dmae_set_dmars (sh_chan, cfg->mid_rid); -dmae_set_chcr (sh_chan, cfg->chcr); + ret =dmae_set_dmars (sh_chan, cfg->mid_rid); +if (ret <0 ) + goto END; + + ret =dmae_set_chcr (sh_chan, cfg->chcr); +if (ret <0 ) + goto END; + }else {dmae_init (sh_chan); } + +END: +return ret; }/*
drivers/extcon/extcon-adc-jack.c +2 -0
@@ -164,6 +164,8 @@ static void adc_jack_remove(struct platform_device *pdev) {struct adc_jack_data *data =platform_get_drvdata (pdev); +if (data->wakeup_source) +device_init_wakeup (&pdev->dev, false);free_irq (data->irq, data);cancel_work_sync (&data->handler.work); }
drivers/firewire/ohci.c +4 -8
@@ -2060,6 +2060,9 @@ static void bus_reset_work(struct work_struct *work)ohci_notice (ohci,"self ID receive error\n" );return ; } + +trace_self_id_complete (ohci->card.index, reg, ohci->self_id,has_be_header_quirk (ohci)); +/* * The count in the SelfIDCount register is the number of * bytes in the self ID receive buffer. Since we also receive
@@ -2228,15 +2231,8 @@ static irqreturn_t irq_handler(int irq, void *data)if (event & OHCI1394_busReset)reg_write (ohci, OHCI1394_IntMaskClear, OHCI1394_busReset); -if (event & OHCI1394_selfIDComplete) { -if (trace_self_id_complete_enabled ()) { -u32 reg =reg_read (ohci, OHCI1394_SelfIDCount); - -trace_self_id_complete (ohci->card.index, reg, ohci->self_id, -has_be_header_quirk (ohci)); - } +if (event & OHCI1394_selfIDComplete)queue_work (selfid_workqueue, &ohci->bus_reset_work); - }if (event & OHCI1394_RQPkt)tasklet_schedule (&ohci->ar_request_ctx.tasklet);
drivers/firmware/qcom/qcom_scm.c +1 -1
@@ -1093,7 +1093,7 @@ int qcom_scm_assign_mem(phys_addr_t mem_addr, size_t mem_sz,if (ret) {dev_err (__scm->dev,"Assign memory protection call failed %d\n" , ret); -return -EINVAL ; +return ret; } *srcvm = next_vm;
drivers/firmware/qcom/qcom_tzmem.c +1 -0
@@ -76,6 +76,7 @@ static bool qcom_tzmem_using_shm_bridge;/* List of machines that are known to not support SHM bridge correctly. */ static const char *const qcom_tzmem_blacklist[] = { +"qcom,sc7180" ,/* hang in rmtfs memory assignment */ "qcom,sc8180x" ,"qcom,sdm670" ,/* failure in GPU firmware loading */ "qcom,sdm845" ,/* reset in rmtfs memory assignment */
drivers/gpio/gpiolib-swnode.c +1 -1
@@ -41,7 +41,7 @@ static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode) !strcmp(gdev_node->name, GPIOLIB_SWNODE_UNDEFINED_NAME))return ERR_PTR (-ENOENT ); - gdev =gpio_device_find_by_label (gdev_node->name); + gdev =gpio_device_find_by_fwnode (fwnode);return gdev ?:ERR_PTR (-EPROBE_DEFER ); }
drivers/gpio/gpiolib.c +7 -1
@@ -4997,6 +4997,8 @@ static void *gpiolib_seq_start(struct seq_file *s, loff_t *pos)struct gpio_device *gdev;loff_t index = *pos; + s->private =NULL ; + priv =kzalloc (sizeof (*priv),GFP_KERNEL );if (!priv)return NULL ;
@@ -5030,7 +5032,11 @@ static void *gpiolib_seq_next(struct seq_file *s, void *v, loff_t *pos)static void gpiolib_seq_stop (struct seq_file *s,void *v) { -struct gpiolib_seq_priv *priv = s->private; +struct gpiolib_seq_priv *priv; + + priv = s->private; +if (!priv) +return ;srcu_read_unlock (&gpio_devices_srcu, priv->idx);kfree (priv);
drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c +32 -21
83 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +14 -1
@@ -3001,9 +3001,22 @@ int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info, struct dma_fence __rcu *struct amdgpu_device *adev =amdgpu_ttm_adev ( peer_vm->root.bo->tbo.bdev); +struct amdgpu_fpriv *fpriv = + container_of(peer_vm, struct amdgpu_fpriv, vm); + + ret =amdgpu_vm_bo_update (adev, fpriv->prt_va, false); +if (ret) { +dev_dbg (adev->dev, +"Memory eviction: handle PRT moved failed, pid %8d. Try again.\n" , +pid_nr (process_info->pid)); + goto validate_map_fail; + } + ret =amdgpu_vm_handle_moved (adev, peer_vm, &exec.ticket);if (ret) { -pr_debug ("Memory eviction: handle moved failed. Try again\n" ); +dev_dbg (adev->dev, +"Memory eviction: handle moved failed, pid %8d. Try again.\n" , +pid_nr (process_info->pid)); goto validate_map_fail; } }
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +53 -13
82 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +6 -15
@@ -286,7 +286,7 @@ static int amdgpu_cs_pass1(struct amdgpu_cs_parser *p, } } -if (!p->gang_size) { +if (!p->gang_size || (amdgpu_sriov_vf (p->adev) && p->gang_size >1 )) { ret = -EINVAL ; goto free_all_kdata; }
@@ -1737,30 +1737,21 @@ int amdgpu_cs_wait_fences_ioctl(struct drm_device *dev, void *data, {struct amdgpu_device *adev =drm_to_adev (dev);
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +38 -37
75 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c +30 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c +8 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c +9 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +14 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_device.c +9 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c +47 -9
56 lines not on this page · raw message
drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +87 -13
100 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c +63 -23
86 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +10 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/vg_clk_mgr.c +16 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c +137 -5
142 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.h +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +22 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +13 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dc_helper.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dc_stream.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dccg/dcn401/dcn401_dccg.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dm_services.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c +17 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml2/display_mode_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_wrapper.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c +19 -9
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c +27 -46
73 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/link/link_detection.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/link/link_dpms.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/optc/dcn401/dcn401_optc.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/include/dal_asic_id.h +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/smumgr/fiji_smumgr.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/smumgr/iceland_smumgr.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/display-connector.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_gem_atomic_helper.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_panel_backlight_quirks.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/etnaviv/etnaviv_buffer.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_drm_drv.c +0 -10
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c +10 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/registers/gen_header.py +7 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nouveau_sched.c +12 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/core/enum.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/scheduler/sched_entity.c +42 -31
73 lines not on this page · raw message
drivers/gpu/drm/xe/abi/guc_errors_abi.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/hid/usbhid/hid-pidff.c +34 -8
42 lines not on this page · raw message
drivers/hwmon/sbtsi_temp.c +31 -15
46 lines not on this page · raw message
drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_cq.c +55 -3
58 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_device.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +8 -3
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_main.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_qp.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/ipoib/ipoib_main.c +11 -10
Lines of this file are not shown. View the raw message.
drivers/media/common/videobuf2/videobuf2-v4l2.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/media/i2c/adv7180.c +21 -27
48 lines not on this page · raw message
drivers/media/pci/intel/ipu6/ipu6-isys-subdev.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/amphion/vpu_v4l2.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/verisilicon/hantro_drv.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/verisilicon/hantro_v4l2.c +2 -4
Lines of this file are not shown. View the raw message.
drivers/media/rc/imon.c +37 -24
61 lines not on this page · raw message
drivers/net/dsa/microchip/ksz9477.c +84 -14
98 lines not on this page · raw message
drivers/net/dsa/microchip/ksz9477_reg.h +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/dsa/microchip/ksz_common.c +49 -0
49 lines not on this page · raw message
drivers/net/ethernet/broadcom/bnxt/bnxt.c +49 -26
75 lines not on this page · raw message
drivers/net/ethernet/broadcom/bnxt/bnxt.h +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cadence/macb_main.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/fm10k/fm10k_common.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/fm10k/fm10k_common.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/fm10k/fm10k_pf.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/fm10k/fm10k_vf.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_trace.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/idpf/idpf_lib.c +96 -6
102 lines not on this page · raw message
drivers/net/ethernet/intel/idpf/idpf_txrx.c +22 -107
129 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan865x/lan865x.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c +9 -9
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_main.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_main.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/sparx5/Kconfig +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/pensando/ionic/ionic_txrx.c +17 -17
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/realtek/r8169_main.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/common.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_est.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_est.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +10 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/icssg/icssg_config.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/wangxun/libwx/wx_ethtool.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/wangxun/libwx/wx_hw.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/wangxun/libwx/wx_type.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/hamradio/6pack.c +5 -52
57 lines not on this page · raw message
drivers/net/wan/framer/pef2256/pef2256.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/wmi.c +21 -19
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/core.c +48 -6
54 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/mac.c +55 -6
61 lines not on this page · raw message
drivers/net/wireless/ath/ath12k/mac.c +18 -16
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c +10 -18
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.h +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/fw/regulatory.c +12 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/eeprom.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/init.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/init.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/init.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7925/init.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/init.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/sdio.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/core.c +52 -7
59 lines not on this page · raw message
drivers/net/wireless/realtek/rtw89/core.h +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/debug.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/fw.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/mac.c +3 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/phy.c +3 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/txrx.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/virtual/mac80211_hwsim.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/ntb/hw/epf/ntb_hw_epf.c +53 -50
103 lines not on this page · raw message
drivers/pci/controller/cadence/pcie-cadence-host.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/pci/controller/cadence/pcie-cadence.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/pci/controller/cadence/pcie-cadence.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/pci/controller/dwc/pcie-designware.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/pci/endpoint/functions/pci-epf-test.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/phy/renesas/r8a779f0-ether-serdes.c +28 -0
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/pwm/pwm-pca9685.c +29 -17
46 lines not on this page · raw message
drivers/scsi/mpt3sas/mpt3sas_transport.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/soc/tegra/fuse/fuse-tegra30.c +122 -0
122 lines not on this page · raw message
drivers/tty/serial/ip22zilog.c +143 -209
352 lines not on this page · raw message
drivers/ufs/host/ufs-mediatek.c +174 -48
222 lines not on this page · raw message
drivers/ufs/host/ufshcd-pci.c +67 -3
70 lines not on this page · raw message
drivers/usb/host/xhci-pci.c +25 -18
43 lines not on this page · raw message
fs/exfat/balloc.c +60 -12
72 lines not on this page · raw message
kernel/bpf/verifier.c +90 -10
100 lines not on this page · raw message
kernel/futex/syscalls.c +56 -50
106 lines not on this page · raw message
net/dsa/tag_brcm.c +38 -32
70 lines not on this page · raw message
net/ipv6/ah6.c +31 -19
50 lines not on this page · raw message
sound/soc/mediatek/mt8173/mt8173-rt5650.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8186/mt8186-mt6366.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8188/mt8188-mt6359.c +4 -4
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8195/mt8195-mt6359.c +2 -2
Lines of this file are not shown. View the raw message.
sound/soc/sof/ipc4-pcm.c +56 -0
56 lines not on this page · raw message
tools/lib/bpf/usdt.bpf.h +42 -2
44 lines not on this page · raw message
tools/lib/bpf/usdt.c +57 -5
62 lines not on this page · raw message
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +20 -10
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +1 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/verifier_arena_large.c +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_lirc_mode2_user.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_xsk.sh +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/drivers/net/hw/rss_ctx.py +8 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/drivers/net/netdevsim/Makefile +4 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fcnal-test.sh +217 -215
432 lines not on this page · raw message
tools/testing/selftests/net/forwarding/custom_multipath_hash.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh +3 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/lib.sh +4 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_join.sh +4 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/psock_tpacket.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/traceroute.sh +12 -39
51 lines not on this page · raw message
tools/testing/selftests/thermal/intel/workload_hint/workload_hint_test.c +2 -0
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.