Skip to contentSkip to conversation

Linux 5.15.153

DISCUSSION Sasha Levin 1 participant 2 messages Mar 26, 2024 Stable branch

lore
Share & tools
lore

Sasha Levin

author maintainer
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

I'm announcing the release of the 5.15.153 kernel.

All users of the 5.15 kernel series must upgrade.

The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.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,
Sasha

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

 Documentation/admin-guide/kernel-parameters.txt    |   17 +-
 Makefile                                           |    2 +-
 arch/arm/boot/dts/arm-realview-pb1176.dts          |    2 +-
 arch/arm/boot/dts/imx6dl-yapp4-common.dtsi         |   28 +-
 arch/arm/crypto/sha256_glue.c                      |   13 +-
 arch/arm/crypto/sha512-glue.c                      |   12 +-
 arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi   |    3 -
 .../boot/dts/freescale/imx8mm-kontron-n801x-s.dts  |   55 +-
 .../dts/freescale/imx8mm-kontron-n801x-som.dtsi    |    4 +-
 .../boot/dts/freescale/imx8mm-venice-gw71xx.dtsi   |   29 +-
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi       |   10 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi      |   10 +-
 .../boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts  |    1 +
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts       |    1 +
 .../boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi    |    2 +
 .../boot/dts/mediatek/mt8183-kukui-kakadu.dtsi     |   10 +
 .../boot/dts/mediatek/mt8183-kukui-kodama.dtsi     |   10 +
 .../boot/dts/mediatek/mt8183-kukui-krane.dtsi      |   10 +
 arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi     |   15 +-
 arch/arm64/boot/dts/renesas/r8a779a0.dtsi          |   28 +-
 arch/mips/include/asm/ptrace.h                     |    1 +
 arch/parisc/kernel/ftrace.c                        |    2 +-
 arch/powerpc/include/asm/vmalloc.h                 |    4 +-
 arch/powerpc/perf/hv-gpci.c                        |   29 +-
 arch/powerpc/platforms/embedded6xx/linkstation.c   |    3 -
 arch/powerpc/platforms/embedded6xx/mpc10x.h        |    3 +
 .../riscv/boot/dts/sifive/hifive-unmatched-a00.dts |    1 +
 arch/s390/include/uapi/asm/dasd.h                  |    2 +
 arch/s390/kernel/vdso32/Makefile                   |    2 +-
 arch/s390/kernel/vdso64/Makefile                   |    2 +-
 arch/s390/kernel/vtime.c                           |    4 +-
 arch/sparc/kernel/leon_pci_grpci1.c                |    2 +-
 arch/sparc/kernel/leon_pci_grpci2.c                |    2 +-
 arch/x86/include/asm/vsyscall.h                    |   10 +
 arch/x86/mm/fault.c                                |    9 -
 arch/x86/mm/maccess.c                              |   10 +
 arch/x86/tools/relocs.c                            |    8 +
 arch/x86/xen/smp.c                                 |   12 +
 block/opal_proto.h                                 |    1 +
 block/sed-opal.c                                   |    6 +-
 drivers/acpi/processor_idle.c                      |    2 +
 drivers/acpi/resource.c                            |   33 +
 drivers/acpi/scan.c                                |    8 +-
 drivers/base/regmap/regmap.c                       |    2 +-
 drivers/block/aoe/aoecmd.c                         |   12 +-
 drivers/block/aoe/aoenet.c                         |    1 +
 drivers/block/nbd.c                                |    6 +
 drivers/bluetooth/btqca.c                          |   14 +-
 drivers/bluetooth/btqca.h                          |   10 +
 drivers/bluetooth/hci_qca.c                        |   59 +-
 drivers/bus/Kconfig                                |    5 +-
 drivers/clk/clk.c                                  |    3 +
 drivers/clk/hisilicon/clk-hi3519.c                 |    2 +-
 drivers/clk/hisilicon/clk-hi3559a.c                |    1 -
 drivers/clk/meson/axg.c                            |    2 +
 drivers/clk/qcom/dispcc-sdm845.c                   |    2 +
 drivers/clk/qcom/reset.c                           |   27 +-
 drivers/clk/zynq/clkc.c                            |    8 +-
 drivers/comedi/drivers/comedi_test.c               |   30 +-
 drivers/cpufreq/armada-37xx-cpufreq.c              |    4 +-
 drivers/cpufreq/brcmstb-avs-cpufreq.c              |    2 +
 drivers/cpufreq/mediatek-cpufreq-hw.c              |   22 +-
 drivers/cpufreq/ppc_cbe_cpufreq.c                  |    2 +-
 drivers/cpufreq/ppc_cbe_cpufreq_pmi.c              |    1 -
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |    1 -
 drivers/cpufreq/scpi-cpufreq.c                     |    2 +-
 drivers/cpufreq/sti-cpufreq.c                      |    2 +-
 drivers/cpufreq/ti-cpufreq.c                       |    2 +-
 drivers/cpufreq/vexpress-spc-cpufreq.c             |    1 -
 drivers/crypto/xilinx/zynqmp-aes-gcm.c             |    3 +
 drivers/dma/Kconfig                                |   14 +-
 drivers/firewire/core-card.c                       |   14 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c        |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c    |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c       |    2 +
 drivers/gpu/drm/amd/amdgpu/atom.c                  |    2 +-
 drivers/gpu/drm/amd/amdgpu/soc15.c                 |   45 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |    2 +-
 .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c  |    7 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |    2 +
 drivers/gpu/drm/lima/lima_gem.c                    |   23 +-
 drivers/gpu/drm/mediatek/mtk_drm_crtc.c            |   12 +-
 drivers/gpu/drm/mediatek/mtk_dsi.c                 |   10 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |    6 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |    2 +
 drivers/gpu/drm/nouveau/nouveau_mem.c              |    3 +-
 drivers/gpu/drm/nouveau/nouveau_mem.h              |    3 +-
 drivers/gpu/drm/nouveau/nouveau_ttm.c              |    9 +-
 drivers/gpu/drm/radeon/ni.c                        |    2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c               |    4 +-
 drivers/gpu/drm/rockchip/rockchip_lvds.c           |    3 +-
 drivers/gpu/drm/tegra/Kconfig                      |    1 +
 drivers/gpu/drm/tegra/dc.c                         |   27 +-
 drivers/gpu/drm/tegra/dc.h                         |    1 +
 drivers/gpu/drm/tegra/dpaux.c                      |   19 +-
 drivers/gpu/drm/tegra/dsi.c                        |   47 +-
 drivers/gpu/drm/tegra/fb.c                         |    1 +
 drivers/gpu/drm/tegra/output.c                     |   16 +-
 drivers/gpu/drm/tegra/rgb.c                        |   63 +-
 drivers/gpu/drm/tidss/tidss_plane.c                |    2 +-
 drivers/gpu/drm/ttm/ttm_range_manager.c            |    2 +
 drivers/gpu/drm/ttm/ttm_resource.c                 |   23 +
 drivers/gpu/drm/ttm/ttm_sys_manager.c              |    1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c      |    7 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_system_manager.c     |    1 +
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.h             |    6 +-
 drivers/hid/hid-lenovo.c                           |   57 +-
 drivers/hid/hid-multitouch.c                       |    4 +
 drivers/infiniband/core/device.c                   |   37 +-
 drivers/infiniband/hw/mlx5/devx.c                  |    2 +-
 drivers/infiniband/hw/mlx5/wr.c                    |    2 +-
 drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c       |    2 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |    3 +-
 drivers/input/keyboard/gpio_keys_polled.c          |   10 +-
 drivers/iommu/amd/init.c                           |    3 +
 drivers/iommu/intel/pasid.c                        |    3 +
 drivers/leds/flash/leds-sgm3140.c                  |    3 +
 drivers/leds/leds-aw2013.c                         |    1 +
 drivers/md/dm-crypt.c                              |    4 +-
 drivers/md/dm-raid.c                               |    4 +-
 drivers/md/dm-verity.h                             |    4 +-
 drivers/md/dm.c                                    |   26 +-
 drivers/md/md.c                                    |   14 +-
 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c      |   52 +-
 drivers/media/dvb-core/dvbdev.c                    |    5 +
 drivers/media/dvb-frontends/stv0367.c              |   34 +-
 drivers/media/i2c/tc358743.c                       |    7 +-
 drivers/media/pci/ttpci/budget-av.c                |    8 +-
 drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c       |    2 +-
 .../media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c  |   10 +-
 drivers/media/platform/mtk-vpu/mtk_vpu.c           |    2 +-
 drivers/media/platform/mtk-vpu/mtk_vpu.h           |    2 +-
 drivers/media/platform/sunxi/sun8i-di/sun8i-di.c   |   69 +-
 drivers/media/usb/em28xx/em28xx-cards.c            |    4 +
 drivers/media/usb/go7007/go7007-driver.c           |    8 +-
 drivers/media/usb/go7007/go7007-usb.c              |    4 +-
 drivers/media/usb/pvrusb2/pvrusb2-context.c        |   10 +-
 drivers/media/usb/pvrusb2/pvrusb2-dvb.c            |    6 +-
 drivers/media/usb/pvrusb2/pvrusb2-v4l2.c           |   11 +-
 drivers/media/v4l2-core/v4l2-mem2mem.c             |   10 +-
 drivers/mfd/altera-sysmgr.c                        |    4 +-
 drivers/mfd/syscon.c                               |    4 +-
 drivers/mmc/host/wmt-sdmmc.c                       |    4 -
 drivers/mtd/maps/physmap-core.c                    |    2 +-
 drivers/mtd/nand/raw/lpc32xx_mlc.c                 |    5 +-
 drivers/net/dsa/mt7530.c                           |   57 +-
 drivers/net/dsa/mt7530.h                           |   27 +
 drivers/net/ethernet/amazon/ena/ena_netdev.c       |   17 -
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h    |    6 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    |    5 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c |    2 +-
 drivers/net/ethernet/intel/igb/igb_main.c          |  112 +-
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c    |    2 +-
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c    |   17 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |   38 +-
 drivers/net/ethernet/mediatek/mtk_ppe.c            |   18 +-
 .../net/ethernet/netronome/nfp/flower/lag_conf.c   |    5 +
 drivers/net/phy/dp83822.c                          |   38 +-
 drivers/net/phy/phy_device.c                       |    6 +-
 drivers/net/usb/sr9800.c                           |    4 +-
 drivers/net/veth.c                                 |   18 -
 drivers/net/wireguard/receive.c                    |    6 +-
 drivers/net/wireless/ath/ath10k/core.c             |    3 -
 drivers/net/wireless/ath/ath10k/sdio.c             |    1 -
 drivers/net/wireless/ath/ath10k/wmi-tlv.c          |    4 +
 drivers/net/wireless/ath/ath9k/htc.h               |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_init.c      |    4 +
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c      |    4 -
 drivers/net/wireless/ath/ath9k/wmi.c               |   10 +-
 drivers/net/wireless/broadcom/b43/b43.h            |   16 +
 drivers/net/wireless/broadcom/b43/dma.c            |    4 +-
 drivers/net/wireless/broadcom/b43/main.c           |   16 +-
 drivers/net/wireless/broadcom/b43/pio.c            |    6 +-
 .../broadcom/brcm80211/brcmsmac/phy/phy_cmn.c      |    3 +-
 .../broadcom/brcm80211/brcmsmac/phy_shim.c         |    5 +-
 .../broadcom/brcm80211/brcmsmac/phy_shim.h         |    2 +-
 drivers/net/wireless/intel/iwlegacy/3945-mac.c     |    1 -
 drivers/net/wireless/intel/iwlegacy/4965-mac.c     |    1 -
 drivers/net/wireless/intel/iwlwifi/dvm/main.c      |    1 -
 drivers/net/wireless/intel/iwlwifi/fw/acpi.c       |    2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c   |    6 +
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c        |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |   26 +-
 drivers/net/wireless/marvell/libertas/cmd.c        |   13 +-
 drivers/net/wireless/marvell/mwifiex/cfg80211.c    |    2 -
 drivers/net/wireless/marvell/mwifiex/debugfs.c     |    3 -
 drivers/net/wireless/marvell/mwifiex/main.c        |    2 -
 drivers/net/wireless/microchip/wilc1000/cfg80211.c |    1 -
 drivers/net/wireless/microchip/wilc1000/hif.c      |   40 +-
 drivers/net/wireless/microchip/wilc1000/netdev.c   |   29 +-
 drivers/net/wireless/quantenna/qtnfmac/core.c      |    2 -
 drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c |    2 -
 .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c  |    1 +
 drivers/net/wireless/realtek/rtlwifi/pci.c         |    1 -
 drivers/net/wireless/realtek/rtw88/rtw8821c.c      |    2 +-
 drivers/net/wireless/rndis_wlan.c                  |    2 -
 drivers/net/wireless/st/cw1200/bh.c                |    2 -
 drivers/ntb/core.c                                 |    8 +-
 drivers/opp/debugfs.c                              |    6 +-
 drivers/pci/endpoint/functions/Kconfig             |   11 +
 drivers/pci/endpoint/functions/Makefile            |    1 +
 drivers/pci/endpoint/functions/pci-epf-vntb.c      | 1421 ++++++++++++++++++++
 drivers/pci/p2pdma.c                               |    2 +-
 drivers/pci/pci.h                                  |    5 -
 drivers/pci/pcie/dpc.c                             |    2 +-
 drivers/pci/quirks.c                               |    1 +
 drivers/pci/switch/switchtec.c                     |    4 +-
 drivers/pinctrl/mediatek/pinctrl-mt8192.c          |    1 -
 drivers/pwm/pwm-atmel-hlcdc.c                      |   71 +-
 drivers/pwm/pwm-sti.c                              |   40 +-
 drivers/remoteproc/Kconfig                         |    2 +-
 drivers/remoteproc/stm32_rproc.c                   |   24 +-
 drivers/rtc/Kconfig                                |    3 +-
 drivers/rtc/lib_test.c                             |    2 +-
 drivers/s390/block/dasd.c                          |  111 +-
 drivers/s390/block/dasd_devmap.c                   |  566 +++++++-
 drivers/s390/block/dasd_eckd.c                     |  154 ++-
 drivers/s390/block/dasd_eckd.h                     |    8 +-
 drivers/s390/block/dasd_eer.c                      |    1 +
 drivers/s390/block/dasd_int.h                      |   54 +
 drivers/scsi/bfa/bfa.h                             |    9 +-
 drivers/scsi/bfa/bfa_core.c                        |    4 +-
 drivers/scsi/bfa/bfa_ioc.h                         |    8 +-
 drivers/scsi/bfa/bfad_bsg.c                        |   11 +-
 drivers/scsi/csiostor/csio_defs.h                  |   18 +-
 drivers/scsi/csiostor/csio_lnode.c                 |    8 +-
 drivers/scsi/csiostor/csio_lnode.h                 |   13 -
 drivers/scsi/mpt3sas/mpt3sas_base.c                |    4 +-
 drivers/soc/fsl/dpio/dpio-service.c                |    2 +-
 drivers/spi/spi-mt65xx.c                           |   22 +-
 drivers/staging/greybus/light.c                    |    8 +-
 drivers/staging/media/imx/imx-media-csc-scaler.c   |    1 +
 drivers/tty/serial/8250/8250_exar.c                |    5 +-
 drivers/tty/serial/max310x.c                       |    2 +-
 drivers/tty/serial/samsung_tty.c                   |    5 +-
 drivers/tty/vt/vt.c                                |    2 +-
 drivers/usb/gadget/udc/net2272.c                   |    2 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.c                  |   13 +-
 drivers/video/backlight/da9052_bl.c                |    1 +
 drivers/video/backlight/lm3630a_bl.c               |   15 +-
 drivers/video/backlight/lm3639_bl.c                |    1 +
 drivers/video/backlight/lp8788_bl.c                |    1 +
 drivers/watchdog/stm32_iwdg.c                      |    3 +
 fs/afs/dir.c                                       |   10 -
 fs/f2fs/checkpoint.c                               |    6 +-
 fs/f2fs/compress.c                                 |   36 +-
 fs/f2fs/data.c                                     |   72 +-
 fs/f2fs/f2fs.h                                     |   48 +-
 fs/f2fs/file.c                                     |   28 +-
 fs/f2fs/gc.c                                       |    8 +-
 fs/f2fs/node.c                                     |    2 +-
 fs/f2fs/segment.c                                  |   59 +-
 fs/f2fs/super.c                                    |   13 +-
 fs/fhandle.c                                       |    2 +-
 fs/nfs/nfs42.h                                     |    7 +-
 fs/nfs/nfs4proc.c                                  |   16 +-
 fs/nfs/nfsroot.c                                   |    4 +-
 fs/quota/dquot.c                                   |  226 ++--
 fs/select.c                                        |    2 +-
 include/drm/drm_fixed.h                            |    2 +-
 include/drm/ttm/ttm_resource.h                     |    3 +
 include/linux/bpf.h                                |    7 +-
 include/linux/filter.h                             |   24 +-
 include/linux/igmp.h                               |    4 +-
 include/linux/io_uring.h                           |   10 +-
 include/linux/mlx5/qp.h                            |    5 +-
 include/linux/moduleloader.h                       |    8 +
 include/linux/mroute.h                             |    6 +-
 include/linux/pci.h                                |    5 +
 include/linux/poll.h                               |    4 -
 include/linux/rcupdate.h                           |   43 +
 include/linux/sockptr.h                            |    5 +
 include/trace/events/f2fs.h                        |   21 +-
 init/main.c                                        |    5 +-
 io_uring/io_uring.c                                |  234 +---
 kernel/bpf/cpumap.c                                |    3 +
 kernel/bpf/devmap.c                                |   11 +-
 kernel/bpf/hashtab.c                               |   14 +-
 kernel/bpf/helpers.c                               |    4 +-
 kernel/bpf/map_in_map.c                            |   11 +-
 kernel/bpf/stackmap.c                              |    9 +-
 kernel/bpf/syscall.c                               |   26 +-
 kernel/module.c                                    |   20 +-
 kernel/rcu/tasks.h                                 |    2 +
 kernel/sched/fair.c                                |    4 +-
 kernel/time/time_test.c                            |    2 +-
 kernel/time/timekeeping.c                          |   24 +-
 lib/cmdline_kunit.c                                |    2 +-
 lib/test_blackhole_dev.c                           |    3 +-
 net/bluetooth/hci_core.c                           |    2 +-
 net/bluetooth/hci_event.c                          |    2 -
 net/bluetooth/rfcomm/core.c                        |    2 +-
 net/core/dev.c                                     |    5 +-
 net/core/filter.c                                  |    5 +-
 net/core/scm.c                                     |    2 +-
 net/core/sock.c                                    |   51 +-
 net/core/sock_diag.c                               |   10 +-
 net/hsr/hsr_framereg.c                             |    4 +
 net/hsr/hsr_main.c                                 |   15 +-
 net/ipv4/igmp.c                                    |   22 +-
 net/ipv4/inet_diag.c                               |    6 +-
 net/ipv4/ip_sockglue.c                             |   80 +-
 net/ipv4/ip_tunnel.c                               |   15 +-
 net/ipv4/ipmr.c                                    |   13 +-
 net/ipv4/tcp.c                                     |    4 +-
 net/ipv4/udp.c                                     |    4 +-
 net/ipv6/fib6_rules.c                              |    6 +
 net/ipv6/mcast.c                                   |    1 -
 net/iucv/iucv.c                                    |    4 +-
 net/kcm/kcmsock.c                                  |    3 +-
 net/l2tp/l2tp_ppp.c                                |    4 +-
 net/netfilter/nf_tables_api.c                      |    2 +-
 net/netfilter/nft_set_pipapo.c                     |    5 +-
 net/packet/af_packet.c                             |    4 +-
 net/rds/send.c                                     |    5 +-
 net/sunrpc/addr.c                                  |    4 +-
 net/sunrpc/auth_gss/gss_rpc_xdr.c                  |   27 +-
 net/unix/garbage.c                                 |    2 +-
 net/unix/scm.c                                     |    4 +-
 net/x25/af_x25.c                                   |    4 +-
 scripts/clang-tools/gen_compile_commands.py        |    2 +-
 scripts/kconfig/lexer.l                            |    7 +-
 sound/core/seq/seq_midi.c                          |    8 +-
 sound/core/seq/seq_virmidi.c                       |    9 +-
 sound/pci/hda/patch_realtek.c                      |   64 +
 sound/soc/codecs/rt5645.c                          |   10 +
 sound/soc/codecs/wm8962.c                          |   29 +-
 sound/soc/intel/boards/bytcr_rt5640.c              |   12 +
 sound/soc/meson/aiu.c                              |   49 +-
 sound/soc/meson/aiu.h                              |    1 -
 sound/soc/meson/axg-fifo.c                         |   16 +-
 sound/soc/meson/axg-pdm.c                          |   25 +-
 sound/soc/meson/axg-spdifin.c                      |   17 +-
 sound/soc/meson/axg-spdifout.c                     |   17 +-
 sound/soc/meson/axg-tdm-formatter.c                |   50 +-
 sound/soc/meson/axg-tdm-interface.c                |   54 +-
 sound/soc/meson/meson-card-utils.c                 |    8 +-
 sound/soc/meson/t9015.c                            |   30 +-
 sound/usb/stream.c                                 |    5 +-
 tools/bpf/bpftool/prog.c                           |    2 +-
 tools/perf/builtin-record.c                        |    2 +-
 tools/perf/util/evsel.c                            |    1 -
 tools/perf/util/stat-display.c                     |    2 +-
 tools/perf/util/thread_map.c                       |    2 +-
 tools/testing/selftests/net/tls.c                  |    8 +-
 345 files changed, 4732 insertions(+), 1803 deletions(-)

Ajay Singh (1):
wifi: wilc1000: fix multi-vif management when deleting a vif

Alban Boyé (1):
ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet

Alex Bee (1):
drm/rockchip: inno_hdmi: Fix video timing

Alexander Gordeev (1):
net/iucv: fix the allocation size of iucv_path_table array

Alexander Stein (1):
media: tc358743: register v4l2 async device only after successful setup

Alexey I. Froloff (1):
ACPI: resource: Do IRQ override on Lunnen Ground laptops

Alexey Kodanev (1):
RDMA/rtrs-clt: Check strnlen return len in sysfs mpath_policy_store()

Alexis Lothoré (3):
wifi: wilc1000: fix declarations ordering
wifi: wilc1000: fix RCU usage in connect path
wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces

Anastasia Belova (1):
cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value

Andrew Ballance (1):
gen_compile_commands: fix invalid escape sequence warning

Andy Shevchenko (1):
serial: 8250_exar: Don't remove GPIO device on suspend

AngeloGioacchino Del Regno (1):
drm/mediatek: dsi: Fix DSI RGB666 formats and definitions

Armin Wolf (1):
ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()

Arnaud Pouliquen (2):
remoteproc: stm32: Fix incorrect type in assignment for va
remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef

Arnd Bergmann (12):
fs/select: rework stack allocation hack for clang
wifi: brcmsmac: avoid function pointer casts
media: pvrusb2: fix pvr2_stream_callback casts
crypto: arm/sha - fix function cast warnings
mtd: rawnand: lpc32xx_mlc: fix irq handler prototype
media: dvb-frontends: avoid stack overflow warnings with clang
media: mediatek: vcodec: avoid -Wcast-function-type-strict warning
scsi: csiostor: Avoid function pointer casts
scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn
remoteproc: stm32: use correct format strings on 64-bit
soc: fsl: dpio: fix kcalloc() argument order
remoteproc: stm32: fix incorrect optional pointers

Arınç ÜNAL (5):
net: dsa: mt7530: prevent possible incorrect XTAL frequency selection
net: dsa: mt7530: fix handling of LLDP frames
net: dsa: mt7530: fix handling of 802.1X PAE frames
net: dsa: mt7530: fix link-local frames that ingress vlan filtering ports
net: dsa: mt7530: fix handling of all link-local frames

Athaariq Ardhiansyah (1):
ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops

Baokun Li (1):
quota: simplify drop_dquot_ref()

Bartosz Golaszewski (1):
Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() with gpiod_get_optional()

Baruch Siach (1):
mtd: maps: physmap-core: fix flash size larger than 32-bit

Basavaraj Natikar (1):
HID: amd_sfh: Update HPD sensor structure elements

Ben Wolsieffer (1):
watchdog: stm32_iwdg: initialize default timeout

Bitterblue Smith (1):
wifi: rtw88: 8821c: Fix false alarm count

Breno Leitao (1):
net: blackhole_dev: fix build warning for ethh set but not used

Bryan O'Donoghue (1):
clk: Fix clk_core_get NULL dereference

Cai Huoqing (1):
drm/tegra: dsi: Make use of the helper function dev_err_probe()

Changbin Du (1):
modules: wait do_free_init correctly

Chao Yu (5):
f2fs: multidevice: support direct IO
f2fs: fix to invalidate META_MAPPING before DIO write
f2fs: invalidate meta pages only for post_read required inode
f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_info
f2fs: compress: fix to cover normal cluster write with cp_rwsem

Chen Ni (2):
sr9800: Add check for usbnet_get_endpoints drm/tegra: dsi: Add missing check for of_find_device_by_node

Chen-Yu Tsai (1):
pinctrl: mediatek: Drop bogus slew rate register range for MT8192

Christian König (1):
drm/ttm: add ttm_resource_fini v2

Christophe JAILLET (13):
wireless: Remove redundant 'flush_workqueue()' calls
mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()
drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() drm/tegra: rgb: Fix some error handling paths in tegra_dc_rgb_probe()
drm/tegra: rgb: Fix missing clk_put() in the error handling paths of tegra_dc_rgb_probe() drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() PCI/P2PDMA: Fix a sleeping issue in a RCU read section
PCI: switchtec: Fix an error handling path in switchtec_pci_probe()
clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()
clk: hisilicon: hi3559a: Fix an erroneous devm_kfree()
net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()
NFS: Fix an off by one in root_nfs_cat()

Christophe Leroy (1):
powerpc: Force inlining of arch_vmap_p{u/m}d_supported()

Chun-Yi Lee (1):
aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts

Colin Ian King (1):
usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin

Conor Dooley (1):
riscv: dts: sifive: add missing #interrupt-cells to pmic

Dan Carpenter (1):
staging: greybus: fix get_channel_from_mode() failure path

Daniel Golle (2):
net: mediatek: mtk_eth_soc: clear MAC_MCR_FORCE_LINK only when MAC is up
net: ethernet: mtk_eth_soc: fix PPE hanging issue

Daniel Thompson (3):
backlight: da9052: Fully initialize backlight_properties during probe
backlight: lm3639: Fully initialize backlight_properties during probe
backlight: lp8788: Fully initialize backlight_properties during probe

Daniil Dulov (2):
media: go7007: add check of return value of go7007_read_addr()
media: pvrusb2: remove redundant NULL check

Dave Airlie (1):
nouveau: reset the bo resource bus info after an eviction

David Gow (3):
lib/cmdline: Fix an invalid format specifier in an assertion msg
time: test: Fix incorrect format specifier
rtc: test: Fix invalid format specifier.

David Howells (1):
afs: Revert "afs: Hide silly-rename files from userspace"

David McFarland (1):
ACPI: resource: Add Infinity laptops to irq1_edge_low_force_override

Dmitry Osipenko (1):
drm/tegra: dc: rgb: Allow changing PLLD rate on Tegra30+

Duoming Zhou (2):
nfp: flower: handle acti_netdevs allocation failure
clk: zynq: Prevent null pointer dereference caused by kmalloc failure

Edward Adam Davis (1):
media: pvrusb2: fix uaf in pvr2_context_set_notify

Eric Dumazet (5):
sock_diag: annotate data-races around sock_diag_handlers[family]
inet_diag: annotate data-races around inet_diag_table[]
ipv6: mcast: remove one synchronize_net() barrier in ipv6_mc_down()
net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()
packet: annotate data-races around ignore_outgoing

Ethan Zhao (2):
PCI: Make pci_dev_is_disconnected() helper public for other drivers iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected

Fedor Pchelkin (1):
drm/tegra: put drm_gem_object ref on error in tegra_fb_create

Fei Shao (1):
spi: spi-mt65xx: Fix NULL pointer access in interrupt handler

Felix Maurer (1):
hsr: Handle failures in module init

Frank Li (1):
PCI: endpoint: Support NTB transfer between RC and EP

Frieder Schrempf (5):
arm64: dts: imx8mm-kontron: Disable pullups for I2C signals on SL/BL i.MX8MM
arm64: dts: imx8mm-kontron: Disable pullups for onboard UART signals on BL board
arm64: dts: imx8mm-kontron: Add support for ultra high speed modes on SD card
arm64: dts: imx8mm-kontron: Use the VSELECT signal to switch SD card IO voltage
arm64: dts: imx8mm-kontron: Disable pull resistors for SD card signals on BL board

Gavrilov Ilia (6):
tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function
ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function
l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function
udp: fix incorrect parameter validation in the udp_lib_getsockopt() function
net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function net/x25: fix incorrect parameter validation in the x25_getsockopt() function

Geert Uytterhoeven (3):
ARM: dts: arm: realview: Fix development chip ROM compatible value
arm64: dts: renesas: r8a779a0: Update to R-Car Gen4 compatible values
arm64: dts: renesas: r8a779a0: Correct avb[01] reg sizes

George Stark (1):
leds: aw2013: Unlock mutex before destroying it

Greg Joyce (1):
block: sed-opal: handle empty atoms when parsing response

Hans de Goede (1):
ASoC: rt5645: Make LattePanda board DMI match more precise

Harry Wentland (1):
drm: Don't treat 0 as -1 in drm_fixp2int_ceil

Hou Tao (3):
bpf: Defer the free of inner map when necessary x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()

Hsin-Yi Wang (2):
arm64: dts: mt8183: kukui: Split out keyboard node and describe detachables drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip

Hugo Villeneuve (1):

      serial: max310x: fix syntax error in IRQ error message

Hyeong-Jun Kim (1):
f2fs: invalidate META_MAPPING before IPU/DIO write

Ian Abbott (1):
comedi: comedi_test: Prevent timers rescheduling during deletion

Ian Rogers (1):
perf stat: Avoid metric-only segv

Ignat Korchagin (1):
net: veth: do not manipulate GRO when using XDP

Igor Prusov (1):
clk: meson: Add missing clocks to axg_clk_regmaps

Ilpo Järvinen (1):
PCI/DPC: Print all TLP Prefixes, not just the first

Jakub Kicinski (1):
selftests: tls: use exact comparison in recv_partial

Jan Höppner (1):
s390/dasd: Use dev_*() for device log messages

Jan Kara (1):
quota: Fix rcu annotations of inode dquot pointers

Jens Axboe (3):
io_uring/unix: drop usage of io_uring socket
io_uring: drop any code related to SCM_RIGHTS
io_uring: don't save/restore iowait state

Jernej Skrabec (3):
media: sun8i-di: Fix coefficient writes
media: sun8i-di: Fix power on/off sequences
media: sun8i-di: Fix chroma difference threshold

Jerome Brunet (4):
ASoC: meson: aiu: fix function pointer type mismatch
ASoC: meson: t9015: fix function pointer type mismatch
ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs
ASoC: meson: axg-tdm-interface: add frame rate constraint

Jiaxun Yang (1):
MIPS: Clear Cause.BD in instruction_pointer_set

Jie Wang (1):
net: hns3: fix port duplex configure error in IMP reset

Jinjie Ruan (1):
wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()

Jiri Slaby (SUSE) (1):

      tty: vt: fix 20 vs 0x20 typo in EScsiignore

Johan Carlsson (1):
ALSA: usb-audio: Stop parsing channels bits when all channels are found.

Johannes Berg (3):
wifi: iwlwifi: mvm: report beacon protection failures
wifi: iwlwifi: dbg-tlv: ensure NUL termination
wifi: iwlwifi: mvm: don't set replay counters to 0xff

Jonah Palmer (1):
vdpa/mlx5: Allow CVQ size changes

Jonas Dreßler (1):
Bluetooth: Remove superfluous call to hci_conn_check_pending()

Jorge Mora (2):
NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102 NFSv4.2: fix listxattr maximum XDR buffer size

Jörg Wedekind (1):
PCI: Mark 3ware-9650SE Root Port Extended Tags as broken

Kailang Yang (1):
ALSA: hda/realtek - ALC285 reduce pop noise from Headphone port

Kajol Jain (1):
powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks

Kamal Heib (1):
net: ena: Remove ena_select_queue

Kees Cook (1):
x86, relocs: Ignore relocations in .notes section

Keisuke Nishimura (1):
sched/fair: Take the scheduling domain into account in select_idle_core()

Konrad Dybcio (3):
clk: qcom: reset: Commonize the de/assert functions
clk: qcom: reset: Ensure write completion on reset de/assertion
clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times

Kuninori Morimoto (1):
ASoC: meson: Use dev_err_probe() helper

Kuniyuki Iwashima (1):
af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().

Kunwu Chan (1):
x86/xen: Add some null pointer checking to smp.c

Kévin L'hôpital (1):
net: phy: fix phy_get_internal_delay accessing an empty array

Leon Romanovsky (1):
RDMA/mlx5: Fix fortify source warning while accessing Eth segment

Li Nan (1):
md: Don't clear MD_CLOSING when the raid is about to stop

Linu Cherian (1):
octeontx2-af: Use matching wake_up API variant in CGX command interface

Luca Weiss (2):
backlight: lm3630a: Initialize backlight_properties on init
backlight: lm3630a: Don't set bl->props.brightness in get_brightness

Lucas Stach (1):
media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak

Luiz Augusto von Dentz (1):
Bluetooth: hci_core: Fix possible buffer overflow

Manuel Fombuena (1):

      HID: multitouch: Add required quirk for Synaptics 0xcddc device

Marek Vasut (1):

      regmap: Add missing map->bus check

Mario Limonciello (1):
iommu/amd: Mark interrupt as managed

Martin KaFai Lau (3):
net: Change sock_getsockopt() to take the sk ptr instead of the sock ptr
bpf: net: Change sk_getsockopt() to take the sockptr_t argument
bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument

Martin Kaistra (1):
wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work

Masahiro Yamada (1):
kconfig: fix infinite loop when expanding a macro at the end of file

Max Kellermann (1):
parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check

Maxim Kudinov (1):
ACPI: resource: Add MAIBENBEN X577 to irq1_edge_low_force_override

Mete Durlu (1):
s390/vtime: fix average steal time calculation

Michael Ellerman (1):
powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.

Michal Vokáč (3):
ARM: dts: imx6dl-yapp4: Move phy reset into switch node
ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address
ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node

Mikhail Khvainitski (1):
HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd

Mikulas Patocka (2):
dm-verity, dm-crypt: align "struct bvec_iter" correctly
dm: call the resume method on internal suspend

Ming Lei (1):
dm raid: fix false positive for requeue needed during reshape

Miri Korenblit (1):
wifi: iwlwifi: fix EWRD table validity check

Miroslav Franc (1):
s390/dasd: fix double module refcount decrement

Nathan Chancellor (1):
s390/vdso: drop '-fPIC' from LDFLAGS

Navid Emamdoost (1):
nbd: null check for nla_nest_start

NeilBrown (1):
f2fs: replace congestion_wait() calls with io_schedule_timeout()

Nikita Kiryushin (1):
net: phy: fix phy_read_poll_timeout argument type in genphy_loopback

Nikita Zhandarovich (4):
do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
media: em28xx: annotate unchecked call to media_device_register() drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()
wireguard: receive: annotate data-race around receiving_counter.counter

Nícolas F. R. A. Prado (3):
cpufreq: mediatek-hw: Wait for CPU supplies before probing
cpufreq: mediatek-hw: Don't error out if supply is not found
arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs

Ondrej Jirman (1):
leds: sgm3140: Add missing timer cleanup and flash gpio control

Pablo Neira Ayuso (2):
netfilter: nft_set_pipapo: release elements in clone only from destroy path
netfilter: nf_tables: do not compare internal table flags on updates

Paloma Arellano (1):
drm/msm/dpu: add division of drm_display_mode's hskew parameter

Paul E. McKenney (1):
rcu-tasks: Provide rcu_trace_implies_rcu_gp()

Peter Griffin (2):
mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref

Peter Hilber (3):
timekeeping: Fix cross-timestamp interpolation on counter wrap
timekeeping: Fix cross-timestamp interpolation corner case decision
timekeeping: Fix cross-timestamp interpolation for non-x86

Peter Robinson (2):
bus: tegra-aconnect: Update dependency to ARCH_TEGRA
dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA

Prashant Malani (1):
arm64: dts: mt8183: kukui: Add Type C node

Prike Liang (1):
drm/amdgpu: Enable gpu reset for S3 abort cases on Raven series

Quanyang Wang (1):
crypto: xilinx - call finalize with bh disabled

Quentin Schulz (2):
drm/rockchip: lvds: do not overwrite error code drm/rockchip: lvds: do not print scary message when probing defer

Rafael J. Wysocki (1):
ACPI: scan: Fix device check notification handling

Rafał Miłecki (3):
arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes
arm64: dts: marvell: reorder crypto interrupts on Armada SoCs
arm64: dts: broadcom: bcmbca: bcm4908: drop invalid switch cells

Rahul Rameshbabu (4):
wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
wifi: b43: Stop correct queue in DMA worker when QoS is disabled
wifi: b43: Disable QoS for bcm4331

Randy Dunlap (1):
rtc: mt6397: select IRQ_DOMAIN instead of depending on it

Ranjan Kumar (1):
scsi: mpt3sas: Prevent sending diag_reset when the controller is ready

Rob Herring (1):
cpufreq: Explicitly include correct DT includes

Russell King (Oracle) (1):
net: mtk_eth_soc: move MAC_MCR setting to mac_finish()

Ruud Bos (1):
igb: move PEROUT and EXTTS isr logic to separate functions

Sam Ravnborg (1):
sparc32: Fix section mismatch in leon_pci_grpci

Saravana Kannan (1):
module: Add support for default value for module async_probe

Sasha Levin (1):

      Linux 5.15.153

Sheng Yong (1):
f2fs: compress: fix to check unreleased compressed cluster

Shifeng Li (1):
RDMA/device: Fix a race between mad_client and cm_client init

Shigeru Yoshida (1):
hsr: Fix uninit-value access in hsr_get_node()

Shiming Cheng (1):
ipv6: fib6_rules: flush route cache when rule is changed

Srinivasan Shanmugam (3):
drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()' drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()

Steev Klimaszewski (1):
Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855

Stefan Haberland (4):
s390/dasd: put block allocation in separate function s390/dasd: add query PPRC function s390/dasd: add copy pair setup
s390/dasd: add autoquiesce feature

Stuart Henderson (3):
ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC
ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode
ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll

Subbaraya Sundeep (1):
octeontx2-af: Use separate handlers for interrupts

Takashi Iwai (1):
ALSA: seq: fix function cast warnings

Takashi Sakamoto (1):
firewire: core: use long bus reset on gap count error

Thierry Reding (1):
drm/tegra: dpaux: Populate AUX bus

Thinh Tran (1):
net/bnx2x: Prevent access to a freed page in page_pool

Tiezhu Yang (1):
bpftool: Silence build warning about calloc()

Tim Harvey (1):
arm64: dts: imx8mm-venice-gw71xx: fix USB OTG VBUS

Tim Pambor (1):
net: phy: dp83822: Fix RGMII TX delay configuration

Toke Høiland-Jørgensen (4):
wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete
bpf: Fix DEVMAP_HASH overflow check on 32-bit arches
bpf: Fix hashtab overflow check on 32-bit arches
bpf: Fix stackmap overflow check on 32-bit arches

Tomi Valkeinen (1):
drm/tidss: Fix initial plane zpos values

Tommaso Merciai (1):
net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii

Tudor Ambarus (1):
tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT

Uwe Kleine-König (6):
Input: gpio_keys_polled - suppress deferred probe error for gpio
pwm: atmel-hlcdc: Convert to platform remove callback returning void
pwm: atmel-hlcdc: Use consistent variable naming
pwm: atmel-hlcdc: Fix clock imbalance related to suspend support
pwm: sti: Implement .apply() callback
pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan

Vinicius Costa Gomes (1):
igb: Fix missing time sync events

Viresh Kumar (1):
OPP: debugfs: Fix warning around icc_get_name()

Wang Jianjian (1):
quota: Fix potential NULL pointer dereference

William Kucharski (1):
RDMA/srpt: Do not register event handler until srpt device is fully setup

Xingyuan Mo (1):
wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()

Xiuhong Wang (1):
f2fs: compress: fix reserve_cblocks counting error when out of space

Yan Zhai (3):
rcu: add a helper to report consolidated flavor QS
net: report RCU QS on threaded NAPI repolling
bpf: report RCU QS in cpumap kthread

Yang Jihong (3):
perf record: Fix possible incorrect free in record__switch_output() perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()

Yang Yingliang (1):
NTB: fix possible name leak in ntb_register_device()

Yewon Choi (1):
rds: introduce acquire/release ordering in acquire/release_in_xmit()

Yishai Hadas (1):
RDMA/mlx5: Relax DEVX access upon modify commands

Yonghong Song (1):
bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly

Yonglong Liu (1):
net: hns3: fix kernel crash when 1588 is received on HIP08 devices

Yuxuan Hu (1):
Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security

Zhang Shurong (1):
drm/tegra: dpaux: Fix PM disable depth imbalance in tegra_dpaux_probe

Zhipeng Lu (9):
wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()
SUNRPC: fix some memleaks in gssx_dec_option_array drm/vmwgfx: fix a memleak in vmw_gmrid_man_get_node drm/lima: fix a memleak in lima_heap_alloc
media: v4l2-tpg: fix some memleaks in tpg_alloc
media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity
media: edia: dvbdev: fix a use-after-free
media: go7007: fix a memleak in go7007_load_encoder
media: ttpci: fix two memleaks in budget_av_attach

ruanjinjie (1):
NTB: EPF: fix possible memory leak in pci_vntb_probe()

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAmYDTuQACgkQ3qZv95d3 LNxHKw//cyChUuXAS3yYPD4dZj897+/k7LEm4zfISrbUXFz81QF6CPeOpwzXwGDD foZOwVV0tJgsl32i1Vy3KCdfI8QK0rSsQDhoE+XPZYBsUAaVNNZYfjQfiAk1ixXW iIpvcULXqr7cKzBA299GbCF0Biyp0yKPBCymGZ1/BjGLUGzFKVUPXsBcpeq95vte dXa4S8wEaOC7GATwHGlx+dfK37PiGmrUiUn0aHae+nx7tVolVM77727/HQcgfDqp e4fWUdPeFP+okBV6WlIzi2z/YxGrqzMmL5Se44frgljuTrmW1WTx/3zrCIhkAmtp Vnu9hIsoaPVX9r9/uLApZXYLSY6QyQhCWdUHxG00Rdkz2lbZM4BkOSMvxdNHh6Xp wToyGb3ckOVI/pNj0rbnIUc+v9AFCyRaqv7jeX/hDZ3goq/U++EapJuSMfRCT2ib 0K21x3i0wg3YtzqTOJ3Lsq8ypSDmTJzGP9jHfSG6pDK9Toc/lAnGy4+UdxnEa0j6 vXVK8BA5ylqsfxZAkDS49qnX9KlZCN3LvIsDoSCSXl70Wdeub0RV3wZTC0ocEtNv nBB9UN+7k8WRY7dNfYPiHOAeN4dO+yzceOCOYIV/sxiPckXyC2o94nt6AIqm1oN8 C9Cp6GnLuwytRollCPkmwl3cq7uAWRZPINEfWn7Sc5qE5RYpAjo= =ZYqn
-----END PGP SIGNATURE-----

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +15 -2
index 34b093e7f8910..c4c7273419bda 100644
@@ -1084,8 +1084,12 @@
 	nopku		[X86] Disable Memory Protection Keys CPU feature found
 			in some Intel CPUs.
 
-	<module>.async_probe [KNL]
-			Enable asynchronous probe on this module.
+	<module>.async_probe[=<bool>] [KNL]
+			If no <bool> value is specified or if the value
+			specified is not a valid <bool>, enable asynchronous
+			probe on this module.  Otherwise, enable/disable
+			asynchronous probe on this module as indicated by the
+			<bool> value. See also: module.async_probe
 
 	early_ioremap_debug [KNL]
 			Enable debug messages in early_ioremap support. This
@@ -3137,6 +3141,15 @@
 			For details see:
 			Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
 
+	module.async_probe=<bool>
+			[KNL] When set to true, modules will use async probing
+			by default. To enable/disable async probing for a
+			specific module, use the module specific control that
+			is documented under <module>.async_probe. When both
+			module.async_probe and <module>.async_probe are
+			specified, <module>.async_probe takes precedence for
+			the specific module.
+
 	module.sig_enforce
 			[KNL] When CONFIG_MODULE_SIG is set, this means that
 			modules without (valid) signatures will fail to load.
Makefile +1 -1
index 918a73d3976f9..07a0f520f2df7 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 15
-SUBLEVEL = 152
+SUBLEVEL = 153
 EXTRAVERSION =
 NAME = Trick or Treat
 
arch/arm/boot/dts/arm-realview-pb1176.dts +1 -1
index 366687fb1ee39..e794a4bb8f1f2 100644
@@ -435,7 +435,7 @@ pb1176_serial3: serial@1010f000 {
 
 		/* Direct-mapped development chip ROM */
 		pb1176_rom@10200000 {
-			compatible = "direct-mapped";
+			compatible = "mtd-rom";
 			reg = <0x10200000 0x4000>;
 			bank-width = <1>;
 		};
arch/arm/boot/dts/imx6dl-yapp4-common.dtsi +17 -11
index e5c4dc65fbabf..69ad1f198fa71 100644
@@ -105,8 +105,6 @@ &fec {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_enet>;
 	phy-mode = "rgmii-id";
-	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
-	phy-reset-duration = <20>;
 	phy-supply = <&sw2_reg>;
 	status = "okay";
 
@@ -119,17 +117,10 @@ mdio {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
-		phy_port2: phy@1 {
-			reg = <1>;
-		};
-
-		phy_port3: phy@2 {
-			reg = <2>;
-		};
-
 		switch@10 {
 			compatible = "qca,qca8334";
-			reg = <10>;
+			reg = <0x10>;
+			reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
 
 			switch_ports: ports {
 				#address-cells = <1>;
@@ -150,15 +141,30 @@ fixed-link {
 				eth2: port@2 {
 					reg = <2>;
 					label = "eth2";
+					phy-mode = "internal";
 					phy-handle = <&phy_port2>;
 				};
 
 				eth1: port@3 {
 					reg = <3>;
 					label = "eth1";
+					phy-mode = "internal";
 					phy-handle = <&phy_port3>;
 				};
 			};
+
+			mdio {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				phy_port2: ethernet-phy@1 {
+					reg = <1>;
+				};
+
+				phy_port3: ethernet-phy@2 {
+					reg = <2>;
+				};
+			};
 		};
 	};
 };
arch/arm/crypto/sha256_glue.c +5 -8
index 433ee4ddce6c8..f85933fdec75f 100644
@@ -24,8 +24,8 @@
 
 #include "sha256_glue.h"
 
-asmlinkage void sha256_block_data_order(u32 *digest, const void *data,
-					unsigned int num_blks);
+asmlinkage void sha256_block_data_order(struct sha256_state *state,
+					const u8 *data, int num_blks);
 
 int crypto_sha256_arm_update(struct shash_desc *desc, const u8 *data,
 			     unsigned int len)
@@ -33,23 +33,20 @@ int crypto_sha256_arm_update(struct shash_desc *desc, const u8 *data,
 	/* make sure casting to sha256_block_fn() is safe */
 	BUILD_BUG_ON(offsetof(struct sha256_state, state) != 0);
 
-	return sha256_base_do_update(desc, data, len,
-				(sha256_block_fn *)sha256_block_data_order);
+	return sha256_base_do_update(desc, data, len, sha256_block_data_order);
 }
 EXPORT_SYMBOL(crypto_sha256_arm_update);
 
 static int crypto_sha256_arm_final(struct shash_desc *desc, u8 *out)
 {
-	sha256_base_do_finalize(desc,
-				(sha256_block_fn *)sha256_block_data_order);
+	sha256_base_do_finalize(desc, sha256_block_data_order);
 	return sha256_base_finish(desc, out);
 }
 
 int crypto_sha256_arm_finup(struct shash_desc *desc, const u8 *data,
 			    unsigned int len, u8 *out)
 {
-	sha256_base_do_update(desc, data, len,
-			      (sha256_block_fn *)sha256_block_data_order);
+	sha256_base_do_update(desc, data, len, sha256_block_data_order);
 	return crypto_sha256_arm_final(desc, out);
 }
 EXPORT_SYMBOL(crypto_sha256_arm_finup);
arch/arm/crypto/sha512-glue.c +5 -7
index 0635a65aa488b..1be5bd498af36 100644
@@ -25,27 +25,25 @@ MODULE_ALIAS_CRYPTO("sha512");
 MODULE_ALIAS_CRYPTO("sha384-arm");
 MODULE_ALIAS_CRYPTO("sha512-arm");
 
-asmlinkage void sha512_block_data_order(u64 *state, u8 const *src, int blocks);
+asmlinkage void sha512_block_data_order(struct sha512_state *state,
+					u8 const *src, int blocks);
 
 int sha512_arm_update(struct shash_desc *desc, const u8 *data,
 		      unsigned int len)
 {
-	return sha512_base_do_update(desc, data, len,
-		(sha512_block_fn *)sha512_block_data_order);
+	return sha512_base_do_update(desc, data, len, sha512_block_data_order);
 }
 
 static int sha512_arm_final(struct shash_desc *desc, u8 *out)
 {
-	sha512_base_do_finalize(desc,
-		(sha512_block_fn *)sha512_block_data_order);
+	sha512_base_do_finalize(desc, sha512_block_data_order);
 	return sha512_base_finish(desc, out);
 }
 
 int sha512_arm_finup(struct shash_desc *desc, const u8 *data,
 		     unsigned int len, u8 *out)
 {
-	sha512_base_do_update(desc, data, len,
-		(sha512_block_fn *)sha512_block_data_order);
+	sha512_base_do_update(desc, data, len, sha512_block_data_order);
 	return sha512_arm_final(desc, out);
 }
 
arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi +0 -3
index b7db95ce0bbf2..d8e5796509fc9 100644
@@ -180,9 +180,6 @@ ethernet-switch@0 {
 				brcm,num-gphy = <5>;
 				brcm,num-rgmii-ports = <2>;
 
-				#address-cells = <1>;
-				#size-cells = <0>;
-
 				ports: ports {
 					#address-cells = <1>;
 					#size-cells = <0>;
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts +42 -13

90 lines not on this page · raw message

arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi +2 -2
index 42bbbb3f532bc..646615ca4b48b 100644
@@ -220,8 +220,8 @@ MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9		0x19
 
 	pinctrl_i2c1: i2c1grp {
 		fsl,pins = <
-			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL			0x400001c3
-			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA			0x400001c3
+			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL			0x40000083
+			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA			0x40000083
 		>;
 	};
 
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx.dtsi +9 -20
index 7ea909a4c1d5e..6de00c9dcd349 100644
@@ -40,17 +40,6 @@ pps {
 		gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
 		status = "okay";
 	};
-
-	reg_usb_otg1_vbus: regulator-usb-otg1 {
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_reg_usb1_en>;
-		compatible = "regulator-fixed";
-		regulator-name = "usb_otg1_vbus";
-		gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-	};
 };
 
 /* off-board header */
@@ -102,9 +91,10 @@ &uart3 {
 };
 
 &usbotg1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbotg1>;
 	dr_mode = "otg";
 	over-current-active-low;
-	vbus-supply = <&reg_usb_otg1_vbus>;
 	status = "okay";
 };
 
@@ -156,14 +146,6 @@ MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15	0x41
 		>;
 	};
 
-	pinctrl_reg_usb1_en: regusb1grp {
-		fsl,pins = <
-			MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10	0x41
-			MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12	0x141
-			MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC	0x41
-		>;
-	};
-
 	pinctrl_spi2: spi2grp {
 		fsl,pins = <
 			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
@@ -186,4 +168,11 @@ MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX	0x140
 			MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX	0x140
 		>;
 	};
+
+	pinctrl_usbotg1: usbotg1grp {
+		fsl,pins = <
+			MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12	0x141
+			MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC	0x41
+		>;
+	};
 };
arch/arm64/boot/dts/marvell/armada-37xx.dtsi +5 -5
index 0adc194e46d15..9d147af115831 100644
@@ -414,14 +414,14 @@ xor11 {
 			crypto: crypto@90000 {
 				compatible = "inside-secure,safexcel-eip97ies";
 				reg = <0x90000 0x20000>;
-				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
-					     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
+				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
 					     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
 					     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
 					     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
-					     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-				interrupt-names = "mem", "ring0", "ring1",
-						  "ring2", "ring3", "eip";
+					     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+				interrupt-names = "ring0", "ring1", "ring2",
+						  "ring3", "eip", "mem";
 				clocks = <&nb_periph_clk 15>;
 			};
 
arch/arm64/boot/dts/marvell/armada-cp11x.dtsi +5 -5
index 3bd2182817fb8..408fc9bfc9627 100644
@@ -506,14 +506,14 @@ CP11X_LABEL(sdhci0): sdhci@780000 {
 		CP11X_LABEL(crypto): crypto@800000 {
 			compatible = "inside-secure,safexcel-eip197b";
 			reg = <0x800000 0x200000>;
-			interrupts = <87 IRQ_TYPE_LEVEL_HIGH>,
-				<88 IRQ_TYPE_LEVEL_HIGH>,
+			interrupts = <88 IRQ_TYPE_LEVEL_HIGH>,
 				<89 IRQ_TYPE_LEVEL_HIGH>,
 				<90 IRQ_TYPE_LEVEL_HIGH>,
 				<91 IRQ_TYPE_LEVEL_HIGH>,
-				<92 IRQ_TYPE_LEVEL_HIGH>;
-			interrupt-names = "mem", "ring0", "ring1",
-				"ring2", "ring3", "eip";
+				<92 IRQ_TYPE_LEVEL_HIGH>,
+				<87 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "ring0", "ring1", "ring2", "ring3",
+					  "eip", "mem";
 			clock-names = "core", "reg";
 			clocks = <&CP11X_LABEL(clk) 1 26>,
 				 <&CP11X_LABEL(clk) 1 17>;
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +1 -0
index cdbd70bf5dd9b..483f7ab4f31c7 100644
@@ -71,6 +71,7 @@ red {
 
 	memory@40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts +1 -0
index ee454a26b4597..28e17a7e2a5a6 100644
@@ -57,6 +57,7 @@ wps {
 
 	memory@40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi +2 -0
index c1153580ef958..88fca67dead01 100644
@@ -4,6 +4,8 @@
  */
 
 #include "mt8183-kukui.dtsi"
+/* Must come after mt8183-kukui.dtsi to modify cros_ec */
+#include <arm/cros-ec-keyboard.dtsi>
 
 / {
 	panel: panel {
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi +10 -0
index 28966a65391b0..fa90708956945 100644
@@ -372,6 +372,16 @@ pen_eject {
 	};
 };
 
+&cros_ec {
+	cbas {
+		compatible = "google,cros-cbas";
+	};
+
+	keyboard-controller {
+		compatible = "google,cros-ec-keyb-switches";
+	};
+};
+
 &qca_wifi {
 	qcom,ath10k-calibration-variant = "GO_KAKADU";
 };
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi +10 -0
index 3aa79403c0c2c..03724c80c0804 100644
@@ -338,6 +338,16 @@ touch_pin_reset: pin_reset {
 	};
 };
 
+&cros_ec {
+	cbas {
+		compatible = "google,cros-cbas";
+	};
+
+	keyboard-controller {
+		compatible = "google,cros-ec-keyb-switches";
+	};
+};
+
 &qca_wifi {
 	qcom,ath10k-calibration-variant = "GO_KODAMA";
 };
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi +10 -0
index 30c183c96a54c..be0ac786bcbc9 100644
@@ -342,6 +342,16 @@ rst_pin {
 	};
 };
 
+&cros_ec {
+	cbas {
+		compatible = "google,cros-cbas";
+	};
+
+	keyboard-controller {
+		compatible = "google,cros-ec-keyb-switches";
+	};
+};
+
 &qca_wifi {
 	qcom,ath10k-calibration-variant = "LE_Krane";
 };
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +12 -3
index 6b7a42c5d5153..22a1c66325c29 100644
@@ -828,8 +828,18 @@ usbc_extcon: extcon0 {
 			google,usb-port-id = <0>;
 		};
 
-		cbas {
-			compatible = "google,cros-cbas";
+		typec {
+			compatible = "google,cros-ec-typec";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			usb_c0: connector@0 {
+				compatible = "usb-c-connector";
+				reg = <0>;
+				power-role = "dual";
+				data-role = "host";
+				try-power-role = "sink";
+			};
 		};
 	};
 };
@@ -917,5 +927,4 @@ hub@1 {
 	};
 };
 
-#include <arm/cros-ec-keyboard.dtsi>
 #include <arm/cros-ec-sbs.dtsi>
arch/arm64/boot/dts/renesas/r8a779a0.dtsi +14 -14
index 26899fb768a73..ed71a10d023ee 100644
@@ -583,8 +583,8 @@ hscif3: serial@e66a0000 {
 
 		avb0: ethernet@e6800000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
-			reg = <0 0xe6800000 0 0x800>;
+				     "renesas,etheravb-rcar-gen4";
+			reg = <0 0xe6800000 0 0x1000>;
 			interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
@@ -631,8 +631,8 @@ avb0: ethernet@e6800000 {
 
 		avb1: ethernet@e6810000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
-			reg = <0 0xe6810000 0 0x800>;
+				     "renesas,etheravb-rcar-gen4";
+			reg = <0 0xe6810000 0 0x1000>;
 			interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
@@ -679,7 +679,7 @@ avb1: ethernet@e6810000 {
 
 		avb2: ethernet@e6820000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
+				     "renesas,etheravb-rcar-gen4";
 			reg = <0 0xe6820000 0 0x1000>;
 			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
 					<GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
@@ -727,7 +727,7 @@ avb2: ethernet@e6820000 {
 
 		avb3: ethernet@e6830000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
+				     "renesas,etheravb-rcar-gen4";
 			reg = <0 0xe6830000 0 0x1000>;
 			interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
 					<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
@@ -775,7 +775,7 @@ avb3: ethernet@e6830000 {
 
 		avb4: ethernet@e6840000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
+				     "renesas,etheravb-rcar-gen4";
 			reg = <0 0xe6840000 0 0x1000>;
 			interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
 					<GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
@@ -823,7 +823,7 @@ avb4: ethernet@e6840000 {
 
 		avb5: ethernet@e6850000 {
 			compatible = "renesas,etheravb-r8a779a0",
-				     "renesas,etheravb-rcar-gen3";
+				     "renesas,etheravb-rcar-gen4";
 			reg = <0 0xe6850000 0 0x1000>;
 			interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
 					<GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>,
@@ -935,7 +935,7 @@ scif4: serial@e6c40000 {
 
 		msiof0: spi@e6e90000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6e90000 0 0x0064>;
 			interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 618>;
@@ -950,7 +950,7 @@ msiof0: spi@e6e90000 {
 
 		msiof1: spi@e6ea0000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6ea0000 0 0x0064>;
 			interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 619>;
@@ -965,7 +965,7 @@ msiof1: spi@e6ea0000 {
 
 		msiof2: spi@e6c00000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6c00000 0 0x0064>;
 			interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 620>;
@@ -980,7 +980,7 @@ msiof2: spi@e6c00000 {
 
 		msiof3: spi@e6c10000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6c10000 0 0x0064>;
 			interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 621>;
@@ -995,7 +995,7 @@ msiof3: spi@e6c10000 {
 
 		msiof4: spi@e6c20000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6c20000 0 0x0064>;
 			interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 622>;
@@ -1010,7 +1010,7 @@ msiof4: spi@e6c20000 {
 
 		msiof5: spi@e6c28000 {
 			compatible = "renesas,msiof-r8a779a0",
-				     "renesas,rcar-gen3-msiof";
+				     "renesas,rcar-gen4-msiof";
 			reg = <0 0xe6c28000 0 0x0064>;
 			interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 623>;
arch/mips/include/asm/ptrace.h +1 -0
index daf3cf244ea97..b3e4dd6be7e20 100644
@@ -60,6 +60,7 @@ static inline void instruction_pointer_set(struct pt_regs *regs,
                                            unsigned long val)
 {
 	regs->cp0_epc = val;
+	regs->cp0_cause &= ~CAUSEF_BD;
 }
 
 /* Query offset/name of register from its name/offset */
arch/parisc/kernel/ftrace.c +1 -1
index 0a1e75af5382d..44d70fc30aae5 100644
@@ -81,7 +81,7 @@ void notrace __hot ftrace_function_trampoline(unsigned long parent,
 #endif
 }
 
-#ifdef CONFIG_FUNCTION_GRAPH_TRACER
+#if defined(CONFIG_DYNAMIC_FTRACE) && defined(CONFIG_FUNCTION_GRAPH_TRACER)
 int ftrace_enable_ftrace_graph_caller(void)
 {
 	return 0;
arch/powerpc/include/asm/vmalloc.h +2 -2
index 4c69ece52a31e..59ed89890c902 100644
@@ -7,14 +7,14 @@
 #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
 
 #define arch_vmap_pud_supported arch_vmap_pud_supported
-static inline bool arch_vmap_pud_supported(pgprot_t prot)
+static __always_inline bool arch_vmap_pud_supported(pgprot_t prot)
 {
 	/* HPT does not cope with large pages in the vmalloc area */
 	return radix_enabled();
 }
 
 #define arch_vmap_pmd_supported arch_vmap_pmd_supported
-static inline bool arch_vmap_pmd_supported(pgprot_t prot)
+static __always_inline bool arch_vmap_pmd_supported(pgprot_t prot)
 {
 	return radix_enabled();
 }
arch/powerpc/perf/hv-gpci.c +27 -2
index 28b770bbc10b4..2a054de80e50b 100644
@@ -164,6 +164,20 @@ static unsigned long single_gpci_request(u32 req, u32 starting_index,
 
 	ret = plpar_hcall_norets(H_GET_PERF_COUNTER_INFO,
 			virt_to_phys(arg), HGPCI_REQ_BUFFER_SIZE);
+
+	/*
+	 * ret value as 'H_PARAMETER' with detail_rc as 'GEN_BUF_TOO_SMALL',
+	 * specifies that the current buffer size cannot accommodate
+	 * all the information and a partial buffer returned.
+	 * Since in this function we are only accessing data for a given starting index,
+	 * we don't need to accommodate whole data and can get required count by
+	 * accessing first entry data.
+	 * Hence hcall fails only incase the ret value is other than H_SUCCESS or
+	 * H_PARAMETER with detail_rc value as GEN_BUF_TOO_SMALL(0x1B).
+	 */
+	if (ret == H_PARAMETER && be32_to_cpu(arg->params.detail_rc) == 0x1B)
+		ret = 0;
+
 	if (ret) {
 		pr_devel("hcall failed: 0x%lx\n", ret);
 		goto out;
@@ -228,6 +242,7 @@ static int h_gpci_event_init(struct perf_event *event)
 {
 	u64 count;
 	u8 length;
+	unsigned long ret;
 
 	/* Not our event */
 	if (event->attr.type != event->pmu->type)
@@ -258,13 +273,23 @@ static int h_gpci_event_init(struct perf_event *event)
 	}
 
 	/* check if the request works... */
-	if (single_gpci_request(event_get_request(event),
+	ret = single_gpci_request(event_get_request(event),
 				event_get_starting_index(event),
 				event_get_secondary_index(event),
 				event_get_counter_info_version(event),
 				event_get_offset(event),
 				length,
-				&count)) {
+				&count);
+
+	/*
+	 * ret value as H_AUTHORITY implies that partition is not permitted to retrieve
+	 * performance information, and required to set
+	 * "Enable Performance Information Collection" option.
+	 */
+	if (ret == H_AUTHORITY)
+		return -EPERM;
+
+	if (ret) {
 		pr_devel("gpci hcall failed\n");
 		return -EINVAL;
 	}
arch/powerpc/platforms/embedded6xx/linkstation.c +0 -3
index eb8342e7f84e9..ac3bd4a3216ce 100644
@@ -100,9 +100,6 @@ static void __init linkstation_init_IRQ(void)
 	mpic_init(mpic);
 }
 
-extern void avr_uart_configure(void);
-extern void avr_uart_send(const char);
-
 static void __noreturn linkstation_restart(char *cmd)
 {
 	local_irq_disable();
arch/powerpc/platforms/embedded6xx/mpc10x.h +3 -0
index 5ad12023e5628..ebc258fa4858d 100644
@@ -156,4 +156,7 @@ int mpc10x_disable_store_gathering(struct pci_controller *hose);
 /* For MPC107 boards that use the built-in openpic */
 void mpc10x_set_openpic(void);
 
+void avr_uart_configure(void);
+void avr_uart_send(const char c);
+
 #endif	/* __PPC_KERNEL_MPC10X_H */
arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts +1 -0
index b40990210fb50..3c621f31b5fd2 100644
@@ -70,6 +70,7 @@ pmic@58 {
 		interrupt-parent = <&gpio>;
 		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
 		interrupt-controller;
+		#interrupt-cells = <2>;
 
 		regulators {
 			vdd_bcore1: bcore1 {
arch/s390/include/uapi/asm/dasd.h +2 -0
index 9ec86fae99805..188d17fc5f0c1 100644
@@ -78,6 +78,7 @@ typedef struct dasd_information2_t {
  * 0x040: give access to raw eckd data
  * 0x080: enable discard support
  * 0x100: enable autodisable for IFCC errors (default)
+ * 0x200: enable requeue of all requests on autoquiesce
  */
 #define DASD_FEATURE_READONLY	      0x001
 #define DASD_FEATURE_USEDIAG	      0x002
@@ -88,6 +89,7 @@ typedef struct dasd_information2_t {
 #define DASD_FEATURE_USERAW	      0x040
 #define DASD_FEATURE_DISCARD	      0x080
 #define DASD_FEATURE_PATH_AUTODISABLE 0x100
+#define DASD_FEATURE_REQUEUEQUIESCE   0x200
 #define DASD_FEATURE_DEFAULT	      DASD_FEATURE_PATH_AUTODISABLE
 
 #define DASD_PARTN_BITS 2
arch/s390/kernel/vdso32/Makefile +1 -1
index 245bddfe9bc0e..cc513add48eb5 100644
@@ -22,7 +22,7 @@ KBUILD_AFLAGS_32 += -m31 -s
 KBUILD_CFLAGS_32 := $(filter-out -m64,$(KBUILD_CFLAGS))
 KBUILD_CFLAGS_32 += -m31 -fPIC -shared -fno-common -fno-builtin
 
-LDFLAGS_vdso32.so.dbg += -fPIC -shared -soname=linux-vdso32.so.1 \
+LDFLAGS_vdso32.so.dbg += -shared -soname=linux-vdso32.so.1 \
 	--hash-style=both --build-id=sha1 -melf_s390 -T
 
 $(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = $(KBUILD_CFLAGS_32)
arch/s390/kernel/vdso64/Makefile +1 -1
index 1605ba45ac4c0..42d918d50a1ff 100644
@@ -26,7 +26,7 @@ KBUILD_AFLAGS_64 += -m64 -s
 
 KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS))
 KBUILD_CFLAGS_64 += -m64 -fPIC -fno-common -fno-builtin
-ldflags-y := -fPIC -shared -soname=linux-vdso64.so.1 \
+ldflags-y := -shared -soname=linux-vdso64.so.1 \
 	     --hash-style=both --build-id=sha1 -T
 
 $(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = $(KBUILD_CFLAGS_64)
arch/s390/kernel/vtime.c +2 -2
index f216a1b2f8257..86137029235ac 100644
@@ -211,13 +211,13 @@ void vtime_flush(struct task_struct *tsk)
 		virt_timer_expire();
 
 	steal = S390_lowcore.steal_timer;
-	avg_steal = S390_lowcore.avg_steal_timer / 2;
+	avg_steal = S390_lowcore.avg_steal_timer;
 	if ((s64) steal > 0) {
 		S390_lowcore.steal_timer = 0;
 		account_steal_time(cputime_to_nsecs(steal));
 		avg_steal += steal;
 	}
-	S390_lowcore.avg_steal_timer = avg_steal;
+	S390_lowcore.avg_steal_timer = avg_steal / 2;
 }
 
 static u64 vtime_delta(void)
arch/sparc/kernel/leon_pci_grpci1.c +1 -1
index e6935d0ac1ec9..c32590bdd3120 100644
@@ -696,7 +696,7 @@ static int grpci1_of_probe(struct platform_device *ofdev)
 	return err;
 }
 
-static const struct of_device_id grpci1_of_match[] __initconst = {
+static const struct of_device_id grpci1_of_match[] = {
 	{
 	 .name = "GAISLER_PCIFBRG",
 	 },
arch/sparc/kernel/leon_pci_grpci2.c +1 -1
index ca22f93d90454..dd06abc61657f 100644
@@ -887,7 +887,7 @@ static int grpci2_of_probe(struct platform_device *ofdev)
 	return err;
 }
 
-static const struct of_device_id grpci2_of_match[] __initconst = {
+static const struct of_device_id grpci2_of_match[] = {
 	{
 	 .name = "GAISLER_GRPCI2",
 	 },
arch/x86/include/asm/vsyscall.h +10 -0
index ab60a71a8dcb9..472f0263dbc61 100644
@@ -4,6 +4,7 @@
 
 #include <linux/seqlock.h>
 #include <uapi/asm/vsyscall.h>
+#include <asm/page_types.h>
 
 #ifdef CONFIG_X86_VSYSCALL_EMULATION
 extern void map_vsyscall(void);
@@ -24,4 +25,13 @@ static inline bool emulate_vsyscall(unsigned long error_code,
 }
 #endif
 
+/*
+ * The (legacy) vsyscall page is the long page in the kernel portion
+ * of the address space that has user-accessible permissions.
+ */
+static inline bool is_vsyscall_vaddr(unsigned long vaddr)
+{
+	return unlikely((vaddr & PAGE_MASK) == VSYSCALL_ADDR);
+}
+
 #endif /* _ASM_X86_VSYSCALL_H */
arch/x86/mm/fault.c +0 -9
index 4bfed53e210ec..abc6fbc3d5f21 100644
@@ -787,15 +787,6 @@ show_signal_msg(struct pt_regs *regs, unsigned long error_code,
 	show_opcodes(regs, loglvl);
 }
 
-/*
- * The (legacy) vsyscall page is the long page in the kernel portion
- * of the address space that has user-accessible permissions.
- */
-static bool is_vsyscall_vaddr(unsigned long vaddr)
-{
-	return unlikely((vaddr & PAGE_MASK) == VSYSCALL_ADDR);
-}
-
 static void
 __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
 		       unsigned long address, u32 pkey, int si_code)
arch/x86/mm/maccess.c +10 -0
index 6993f026adec9..42115ac079cfe 100644
@@ -3,6 +3,8 @@
 #include <linux/uaccess.h>
 #include <linux/kernel.h>
 
+#include <asm/vsyscall.h>
+
 #ifdef CONFIG_X86_64
 bool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size)
 {
@@ -15,6 +17,14 @@ bool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size)
 	if (vaddr < TASK_SIZE_MAX + PAGE_SIZE)
 		return false;
 
+	/*
+	 * Reading from the vsyscall page may cause an unhandled fault in
+	 * certain cases.  Though it is at an address above TASK_SIZE_MAX, it is
+	 * usually considered as a user space address.
+	 */
+	if (is_vsyscall_vaddr(vaddr))
+		return false;
+
 	/*
 	 * Allow everything during early boot before 'x86_virt_bits'
 	 * is initialized.  Needed for instruction decoding in early
arch/x86/tools/relocs.c +8 -0
index 27c82207d3878..3167228ca1746 100644
@@ -599,6 +599,14 @@ static void print_absolute_relocs(void)
 		if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) {
 			continue;
 		}
+		/*
+		 * Do not perform relocations in .notes section; any
+		 * values there are meant for pre-boot consumption (e.g.
+		 * startup_xen).
+		 */
+		if (sec_applies->shdr.sh_type == SHT_NOTE) {
+			continue;
+		}
 		sh_symtab  = sec_symtab->symtab;
 		sym_strtab = sec_symtab->link->strtab;
 		for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) {
arch/x86/xen/smp.c +12 -0
index cdec892b28e2e..a641e0d452194 100644
@@ -65,6 +65,8 @@ int xen_smp_intr_init(unsigned int cpu)
 	char *resched_name, *callfunc_name, *debug_name;
 
 	resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu);
+	if (!resched_name)
+		goto fail_mem;
 	per_cpu(xen_resched_irq, cpu).name = resched_name;
 	rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR,
 				    cpu,
@@ -77,6 +79,8 @@ int xen_smp_intr_init(unsigned int cpu)
 	per_cpu(xen_resched_irq, cpu).irq = rc;
 
 	callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu);
+	if (!callfunc_name)
+		goto fail_mem;
 	per_cpu(xen_callfunc_irq, cpu).name = callfunc_name;
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR,
 				    cpu,
@@ -90,6 +94,9 @@ int xen_smp_intr_init(unsigned int cpu)
 
 	if (!xen_fifo_events) {
 		debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
+		if (!debug_name)
+			goto fail_mem;
+
 		per_cpu(xen_debug_irq, cpu).name = debug_name;
 		rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu,
 					     xen_debug_interrupt,
@@ -101,6 +108,9 @@ int xen_smp_intr_init(unsigned int cpu)
 	}
 
 	callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu);
+	if (!callfunc_name)
+		goto fail_mem;
+
 	per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name;
 	rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
 				    cpu,
@@ -114,6 +124,8 @@ int xen_smp_intr_init(unsigned int cpu)
 
 	return 0;
 
+ fail_mem:
+	rc = -ENOMEM;
  fail:
 	xen_smp_intr_free(cpu);
 	return rc;
block/opal_proto.h +1 -0
index b486b3ec7dc41..a50191bddbc26 100644
@@ -66,6 +66,7 @@ enum opal_response_token {
 #define SHORT_ATOM_BYTE  0xBF
 #define MEDIUM_ATOM_BYTE 0xDF
 #define LONG_ATOM_BYTE   0xE3
+#define EMPTY_ATOM_BYTE  0xFF
 
 #define OPAL_INVAL_PARAM 12
 #define OPAL_MANUFACTURED_INACTIVE 0x08
block/sed-opal.c +5 -1
index 0ac5a4f3f2261..00e4d23ac49e7 100644
@@ -895,16 +895,20 @@ static int response_parse(const u8 *buf, size_t length,
 			token_length = response_parse_medium(iter, pos);
 		else if (pos[0] <= LONG_ATOM_BYTE) /* long atom */
 			token_length = response_parse_long(iter, pos);
+		else if (pos[0] == EMPTY_ATOM_BYTE) /* empty atom */
+			token_length = 1;
 		else /* TOKEN */
 			token_length = response_parse_token(iter, pos);
 
 		if (token_length < 0)
 			return token_length;
 
+		if (pos[0] != EMPTY_ATOM_BYTE)
+			num_entries++;
+
 		pos += token_length;
 		total -= token_length;
 		iter++;
-		num_entries++;
 	}
 
 	resp->num = num_entries;
drivers/acpi/processor_idle.c +2 -0
index e9116db1e3527..4cb44d80bf520 100644
@@ -1424,6 +1424,8 @@ int acpi_processor_power_exit(struct acpi_processor *pr)
 		acpi_processor_registered--;
 		if (acpi_processor_registered == 0)
 			cpuidle_unregister_driver(&acpi_idle_driver);
+
+		kfree(dev);
 	}
 
 	pr->flags.power_setup_done = 0;
drivers/acpi/resource.c +33 -0
index a364cb07c5578..0f533aff23a17 100644
@@ -546,6 +546,39 @@ static const struct dmi_system_id lg_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "17U70P"),
 		},
 	},
+	{
+		/* Infinity E15-5A165-BM */
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "GM5RG1E0009COM"),
+		},
+	},
+	{
+		/* Infinity E15-5A305-1M */
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "GM5RGEE0016COM"),
+		},
+	},
+	{
+		/* Lunnen Ground 15 / AMD Ryzen 5 5500U */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Lunnen"),
+			DMI_MATCH(DMI_BOARD_NAME, "LLL5DAW"),
+		},
+	},
+	{
+		/* Lunnen Ground 16 / AMD Ryzen 7 5800U */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Lunnen"),
+			DMI_MATCH(DMI_BOARD_NAME, "LL6FA"),
+		},
+	},
+	{
+		/* MAIBENBEN X577 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "MAIBENBEN"),
+			DMI_MATCH(DMI_BOARD_NAME, "X577"),
+		},
+	},
 	{ }
 };
 
drivers/acpi/scan.c +2 -6
index ae74720888dbf..2393cd993b3cb 100644
@@ -315,18 +315,14 @@ static int acpi_scan_device_check(struct acpi_device *adev)
 		 * again).
 		 */
 		if (adev->handler) {
-			dev_warn(&adev->dev, "Already enumerated\n");
-			return -EALREADY;
+			dev_dbg(&adev->dev, "Already enumerated\n");
+			return 0;
 		}
 		error = acpi_bus_scan(adev->handle);
 		if (error) {
 			dev_warn(&adev->dev, "Namespace scan failure\n");
 			return error;
 		}
-		if (!adev->handler) {
-			dev_warn(&adev->dev, "Enumeration failure\n");
-			error = -ENODEV;
-		}
 	} else {
 		error = acpi_scan_device_not_present(adev);
 	}
drivers/base/regmap/regmap.c +1 -1
index 6adb345866610..893b0615935e9 100644
@@ -1836,7 +1836,7 @@ static int _regmap_raw_write_impl(struct regmap *map, unsigned int reg,
 				 map->format.reg_bytes +
 				 map->format.pad_bytes +
 				 val_len);
-	else if (map->bus->gather_write)
+	else if (map->bus && map->bus->gather_write)
 		ret = map->bus->gather_write(map->bus_context, map->work_buf,
 					     map->format.reg_bytes +
 					     map->format.pad_bytes,
drivers/block/aoe/aoecmd.c +6 -6
index 588889bea7c30..a6e5306f725b3 100644
@@ -420,13 +420,16 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
 	rcu_read_lock();
 	for_each_netdev_rcu(&init_net, ifp) {
 		dev_hold(ifp);
-		if (!is_aoe_netif(ifp))
-			goto cont;
+		if (!is_aoe_netif(ifp)) {
+			dev_put(ifp);
+			continue;
+		}
 
 		skb = new_skb(sizeof *h + sizeof *ch);
 		if (skb == NULL) {
 			printk(KERN_INFO "aoe: skb alloc failure\n");
-			goto cont;
+			dev_put(ifp);
+			continue;
 		}
 		skb_put(skb, sizeof *h + sizeof *ch);
 		skb->dev = ifp;
@@ -441,9 +444,6 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
 		h->major = cpu_to_be16(aoemajor);
 		h->minor = aoeminor;
 		h->cmd = AOECMD_CFG;
-
-cont:
-		dev_put(ifp);
 	}
 	rcu_read_unlock();
 }
drivers/block/aoe/aoenet.c +1 -0
index 63773a90581dd..1e66c7a188a12 100644
@@ -64,6 +64,7 @@ tx(int id) __must_hold(&txlock)
 			pr_warn("aoe: packet could not be sent on %s.  %s\n",
 				ifp ? ifp->name : "netif",
 				"consider increasing tx_queue_len");
+		dev_put(ifp);
 		spin_lock_irq(&txlock);
 	}
 	return 0;
drivers/block/nbd.c +6 -0
index d379a047d4273..d12e9f1721c8e 100644
@@ -2344,6 +2344,12 @@ static int nbd_genl_status(struct sk_buff *skb, struct genl_info *info)
 	}
 
 	dev_list = nla_nest_start_noflag(reply, NBD_ATTR_DEVICE_LIST);
+	if (!dev_list) {
+		nlmsg_free(reply);
+		ret = -EMSGSIZE;
+		goto out;
+	}
+
 	if (index == -1) {
 		ret = idr_for_each(&nbd_index_idr, &status_cb, reply);
 		if (ret) {
drivers/bluetooth/btqca.c +13 -1
index be04d74037d20..0f3943ac54179 100644
@@ -566,6 +566,9 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		config.type = ELF_TYPE_PATCH;
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/msbtfw%02x.mbn", rom_ver);
+	} else if (soc_type == QCA_WCN6855) {
+		snprintf(config.fwname, sizeof(config.fwname),
+			 "qca/hpbtfw%02x.tlv", rom_ver);
 	} else {
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/rampatch_%08x.bin", soc_ver);
@@ -600,6 +603,9 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	else if (soc_type == QCA_WCN6750)
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/msnv%02x.bin", rom_ver);
+	else if (soc_type == QCA_WCN6855)
+		snprintf(config.fwname, sizeof(config.fwname),
+			 "qca/hpnv%02x.bin", rom_ver);
 	else
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/nvm_%08x.bin", soc_ver);
@@ -637,11 +643,17 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		return err;
 	}
 
-	if (soc_type == QCA_WCN3991 || soc_type == QCA_WCN6750) {
+	switch (soc_type) {
+	case QCA_WCN3991:
+	case QCA_WCN6750:
+	case QCA_WCN6855:
 		/* get fw build info */
 		err = qca_read_fw_build_info(hdev);
 		if (err < 0)
 			return err;
+		break;
+	default:
+		break;
 	}
 
 	bt_dev_info(hdev, "QCA setup on UART is completed");
drivers/bluetooth/btqca.h +10 -0
index 30afa7703afd3..b83bf202ea604 100644
@@ -145,6 +145,7 @@ enum qca_btsoc_type {
 	QCA_WCN3991,
 	QCA_QCA6390,
 	QCA_WCN6750,
+	QCA_WCN6855,
 };
 
 #if IS_ENABLED(CONFIG_BT_QCA)
@@ -166,6 +167,10 @@ static inline bool qca_is_wcn6750(enum qca_btsoc_type soc_type)
 {
 	return soc_type == QCA_WCN6750;
 }
+static inline bool qca_is_wcn6855(enum qca_btsoc_type soc_type)
+{
+	return soc_type == QCA_WCN6855;
+}
 
 #else
 
@@ -204,6 +209,11 @@ static inline bool qca_is_wcn6750(enum qca_btsoc_type soc_type)
 	return false;
 }
 
+static inline bool qca_is_wcn6855(enum qca_btsoc_type soc_type)
+{
+	return false;
+}
+
 static inline int qca_send_pre_shutdown_cmd(struct hci_dev *hdev)
 {
 	return -EOPNOTSUPP;
drivers/bluetooth/hci_qca.c +44 -15

155 lines not on this page · raw message

drivers/bus/Kconfig +3 -2
index a4cf3d692dc30..d224f5f7a7405 100644
@@ -175,11 +175,12 @@ config SUNXI_RSB
 
 config TEGRA_ACONNECT
 	tristate "Tegra ACONNECT Bus Driver"
-	depends on ARCH_TEGRA_210_SOC
+	depends on ARCH_TEGRA
 	depends on OF && PM
 	help
 	  Driver for the Tegra ACONNECT bus which is used to interface with
-	  the devices inside the Audio Processing Engine (APE) for Tegra210.
+	  the devices inside the Audio Processing Engine (APE) for
+	  Tegra210 and later.
 
 config TEGRA_GMI
 	tristate "Tegra Generic Memory Interface bus driver"
drivers/clk/clk.c +3 -0
index bf9057a8fbf06..84397af4fb336 100644
@@ -425,6 +425,9 @@ static struct clk_core *clk_core_get(struct clk_core *core, u8 p_index)
 	if (IS_ERR(hw))
 		return ERR_CAST(hw);
 
+	if (!hw)
+		return NULL;
+
 	return hw->core;
 }
 
drivers/clk/hisilicon/clk-hi3519.c +1 -1
index ad0c7f350cf03..60d8a27a90824 100644
@@ -130,7 +130,7 @@ static void hi3519_clk_unregister(struct platform_device *pdev)
 	of_clk_del_provider(pdev->dev.of_node);
 
 	hisi_clk_unregister_gate(hi3519_gate_clks,
-				ARRAY_SIZE(hi3519_mux_clks),
+				ARRAY_SIZE(hi3519_gate_clks),
 				crg->clk_data);
 	hisi_clk_unregister_mux(hi3519_mux_clks,
 				ARRAY_SIZE(hi3519_mux_clks),
drivers/clk/hisilicon/clk-hi3559a.c +0 -1
index 9ea1a80acbe8b..0272276550ff1 100644
@@ -491,7 +491,6 @@ static void hisi_clk_register_pll(struct hi3559av100_pll_clock *clks,
 
 		clk = clk_register(NULL, &p_clk->hw);
 		if (IS_ERR(clk)) {
-			devm_kfree(dev, p_clk);
 			dev_err(dev, "%s: failed to register clock %s\n",
 			       __func__, clks[i].name);
 			continue;
drivers/clk/meson/axg.c +2 -0
index 2ad3801398dc1..7802dabb26f6d 100644
@@ -2144,7 +2144,9 @@ static struct clk_regmap *const axg_clk_regmaps[] = {
 	&axg_vclk_input,
 	&axg_vclk2_input,
 	&axg_vclk_div,
+	&axg_vclk_div1,
 	&axg_vclk2_div,
+	&axg_vclk2_div1,
 	&axg_vclk_div2_en,
 	&axg_vclk_div4_en,
 	&axg_vclk_div6_en,
drivers/clk/qcom/dispcc-sdm845.c +2 -0
index 735adfefc3798..e792e0b130d33 100644
@@ -759,6 +759,8 @@ static struct clk_branch disp_cc_mdss_vsync_clk = {
 
 static struct gdsc mdss_gdsc = {
 	.gdscr = 0x3000,
+	.en_few_wait_val = 0x6,
+	.en_rest_wait_val = 0x5,
 	.pd = {
 		.name = "mdss_gdsc",
 	},
drivers/clk/qcom/reset.c +14 -13
index e45e32804d2c7..d96c96a9089f4 100644
@@ -22,8 +22,8 @@ static int qcom_reset(struct reset_controller_dev *rcdev, unsigned long id)
 	return 0;
 }
 
-static int
-qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
+static int qcom_reset_set_assert(struct reset_controller_dev *rcdev,
+				 unsigned long id, bool assert)
 {
 	struct qcom_reset_controller *rst;
 	const struct qcom_reset_map *map;
@@ -33,21 +33,22 @@ qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
 	map = &rst->reset_map[id];
 	mask = map->bitmask ? map->bitmask : BIT(map->bit);
 
-	return regmap_update_bits(rst->regmap, map->reg, mask, mask);
+	regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0);
+
+	/* Read back the register to ensure write completion, ignore the value */
+	regmap_read(rst->regmap, map->reg, &mask);
+
+	return 0;
 }
 
-static int
-qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
+static int qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
 {
-	struct qcom_reset_controller *rst;
-	const struct qcom_reset_map *map;
-	u32 mask;
-
-	rst = to_qcom_reset_controller(rcdev);
-	map = &rst->reset_map[id];
-	mask = map->bitmask ? map->bitmask : BIT(map->bit);
+	return qcom_reset_set_assert(rcdev, id, true);
+}
 
-	return regmap_update_bits(rst->regmap, map->reg, mask, 0);
+static int qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
+{
+	return qcom_reset_set_assert(rcdev, id, false);
 }
 
 const struct reset_control_ops qcom_reset_ops = {
drivers/clk/zynq/clkc.c +3 -5
index 204b83d911b90..c615664505a55 100644
@@ -42,6 +42,7 @@ static void __iomem *zynq_clkc_base;
 #define SLCR_SWDT_CLK_SEL		(zynq_clkc_base + 0x204)
 
 #define NUM_MIO_PINS	54
+#define CLK_NAME_LEN	16
 
 #define DBG_CLK_CTRL_CLKACT_TRC		BIT(0)
 #define DBG_CLK_CTRL_CPU_1XCLKACT	BIT(1)
@@ -215,7 +216,7 @@ static void __init zynq_clk_setup(struct device_node *np)
 	int i;
 	u32 tmp;
 	int ret;
-	char *clk_name;
+	char clk_name[CLK_NAME_LEN];
 	unsigned int fclk_enable = 0;
 	const char *clk_output_name[clk_max];
 	const char *cpu_parents[4];
@@ -425,12 +426,10 @@ static void __init zynq_clk_setup(struct device_node *np)
 			"gem1_emio_mux", CLK_SET_RATE_PARENT,
 			SLCR_GEM1_CLK_CTRL, 0, 0, &gem1clk_lock);
 
-	tmp = strlen("mio_clk_00x");
-	clk_name = kmalloc(tmp, GFP_KERNEL);
 	for (i = 0; i < NUM_MIO_PINS; i++) {
 		int idx;
 
-		snprintf(clk_name, tmp, "mio_clk_%2.2d", i);
+		snprintf(clk_name, CLK_NAME_LEN, "mio_clk_%2.2d", i);
 		idx = of_property_match_string(np, "clock-names", clk_name);
 		if (idx >= 0)
 			can_mio_mux_parents[i] = of_clk_get_parent_name(np,
@@ -438,7 +437,6 @@ static void __init zynq_clk_setup(struct device_node *np)
 		else
 			can_mio_mux_parents[i] = dummy_nm;
 	}
-	kfree(clk_name);
 	clk_register_mux(NULL, "can_mux", periph_parents, 4,
 			CLK_SET_RATE_NO_REPARENT, SLCR_CAN_CLK_CTRL, 4, 2, 0,
 			&canclk_lock);
drivers/comedi/drivers/comedi_test.c +26 -4
index cbc225eb19918..bea9a3adf08c8 100644
@@ -87,6 +87,8 @@ struct waveform_private {
 	struct comedi_device *dev;	/* parent comedi device */
 	u64 ao_last_scan_time;		/* time of previous AO scan in usec */
 	unsigned int ao_scan_period;	/* AO scan period in usec */
+	bool ai_timer_enable:1;		/* should AI timer be running? */
+	bool ao_timer_enable:1;		/* should AO timer be running? */
 	unsigned short ao_loopbacks[N_CHANS];
 };
 
@@ -236,8 +238,12 @@ static void waveform_ai_timer(struct timer_list *t)
 			time_increment = devpriv->ai_convert_time - now;
 		else
 			time_increment = 1;
-		mod_timer(&devpriv->ai_timer,
-			  jiffies + usecs_to_jiffies(time_increment));
+		spin_lock(&dev->spinlock);
+		if (devpriv->ai_timer_enable) {
+			mod_timer(&devpriv->ai_timer,
+				  jiffies + usecs_to_jiffies(time_increment));
+		}
+		spin_unlock(&dev->spinlock);
 	}
 
 overrun:
@@ -393,9 +399,12 @@ static int waveform_ai_cmd(struct comedi_device *dev,
 	 * Seem to need an extra jiffy here, otherwise timer expires slightly
 	 * early!
 	 */
+	spin_lock_bh(&dev->spinlock);
+	devpriv->ai_timer_enable = true;
 	devpriv->ai_timer.expires =
 		jiffies + usecs_to_jiffies(devpriv->ai_convert_period) + 1;
 	add_timer(&devpriv->ai_timer);
+	spin_unlock_bh(&dev->spinlock);
 	return 0;
 }
 
@@ -404,6 +413,9 @@ static int waveform_ai_cancel(struct comedi_device *dev,
 {
 	struct waveform_private *devpriv = dev->private;
 
+	spin_lock_bh(&dev->spinlock);
+	devpriv->ai_timer_enable = false;
+	spin_unlock_bh(&dev->spinlock);
 	if (in_softirq()) {
 		/* Assume we were called from the timer routine itself. */
 		del_timer(&devpriv->ai_timer);
@@ -495,8 +507,12 @@ static void waveform_ao_timer(struct timer_list *t)
 		unsigned int time_inc = devpriv->ao_last_scan_time +
 					devpriv->ao_scan_period - now;
 
-		mod_timer(&devpriv->ao_timer,
-			  jiffies + usecs_to_jiffies(time_inc));
+		spin_lock(&dev->spinlock);
+		if (devpriv->ao_timer_enable) {
+			mod_timer(&devpriv->ao_timer,
+				  jiffies + usecs_to_jiffies(time_inc));
+		}
+		spin_unlock(&dev->spinlock);
 	}
 
 underrun:
@@ -517,9 +533,12 @@ static int waveform_ao_inttrig_start(struct comedi_device *dev,
 	async->inttrig = NULL;
 
 	devpriv->ao_last_scan_time = ktime_to_us(ktime_get());
+	spin_lock_bh(&dev->spinlock);
+	devpriv->ao_timer_enable = true;
 	devpriv->ao_timer.expires =
 		jiffies + usecs_to_jiffies(devpriv->ao_scan_period);
 	add_timer(&devpriv->ao_timer);
+	spin_unlock_bh(&dev->spinlock);
 
 	return 1;
 }
@@ -604,6 +623,9 @@ static int waveform_ao_cancel(struct comedi_device *dev,
 	struct waveform_private *devpriv = dev->private;
 
 	s->async->inttrig = NULL;
+	spin_lock_bh(&dev->spinlock);
+	devpriv->ao_timer_enable = false;
+	spin_unlock_bh(&dev->spinlock);
 	if (in_softirq()) {
 		/* Assume we were called from the timer routine itself. */
 		del_timer(&devpriv->ao_timer);
drivers/cpufreq/armada-37xx-cpufreq.c +1 -3
index b74289a95a171..bea41ccabf1f0 100644
@@ -14,10 +14,8 @@
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/mfd/syscon.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
-#include <linux/of_address.h>
-#include <linux/of_device.h>
-#include <linux/of_irq.h>
 #include <linux/platform_device.h>
 #include <linux/pm_opp.h>
 #include <linux/regmap.h>
drivers/cpufreq/brcmstb-avs-cpufreq.c +2 -0
index f644c5e325fb2..38ec0fedb247f 100644
@@ -481,6 +481,8 @@ static bool brcm_avs_is_firmware_loaded(struct private_data *priv)
 static unsigned int brcm_avs_cpufreq_get(unsigned int cpu)
 {
 	struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
+	if (!policy)
+		return 0;
 	struct private_data *priv = policy->driver_data;
 
 	cpufreq_cpu_put(policy);
drivers/cpufreq/mediatek-cpufreq-hw.c +20 -2
index 0cf18dd46b923..314c1cb6e8f4d 100644
@@ -10,8 +10,10 @@
 #include <linux/iopoll.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/of_address.h>
+#include <linux/of.h>
 #include <linux/of_platform.h>
+#include <linux/platform_device.h>
+#include <linux/regulator/consumer.h>
 #include <linux/slab.h>
 
 #define LUT_MAX_ENTRIES			32U
@@ -267,7 +269,23 @@ static struct cpufreq_driver cpufreq_mtk_hw_driver = {
 static int mtk_cpufreq_hw_driver_probe(struct platform_device *pdev)
 {
 	const void *data;
-	int ret;
+	int ret, cpu;
+	struct device *cpu_dev;
+	struct regulator *cpu_reg;
+
+	/* Make sure that all CPU supplies are available before proceeding. */
+	for_each_possible_cpu(cpu) {
+		cpu_dev = get_cpu_device(cpu);
+		if (!cpu_dev)
+			return dev_err_probe(&pdev->dev, -EPROBE_DEFER,
+					     "Failed to get cpu%d device\n", cpu);
+
+		cpu_reg = devm_regulator_get(cpu_dev, "cpu");
+		if (IS_ERR(cpu_reg))
+			return dev_err_probe(&pdev->dev, PTR_ERR(cpu_reg),
+					     "CPU%d regulator get failed\n", cpu);
+	}
+
 
 	data = of_device_get_match_data(&pdev->dev);
 	if (!data)
drivers/cpufreq/ppc_cbe_cpufreq.c +1 -1
index c58abb4cca3a2..acaa8db57812d 100644
@@ -9,7 +9,7 @@
 
 #include <linux/cpufreq.h>
 #include <linux/module.h>
-#include <linux/of_platform.h>
+#include <linux/of.h>
 
 #include <asm/machdep.h>
 #include <asm/prom.h>
drivers/cpufreq/ppc_cbe_cpufreq_pmi.c +0 -1
index 037fe23bc6ed0..e85fa0f41991c 100644
@@ -11,7 +11,6 @@
 #include <linux/types.h>
 #include <linux/timer.h>
 #include <linux/init.h>
-#include <linux/of_platform.h>
 #include <linux/pm_qos.h>
 
 #include <asm/processor.h>
drivers/cpufreq/qcom-cpufreq-nvmem.c +0 -1
index 6e011e8bfb6a9..63fc879e23096 100644
@@ -22,7 +22,6 @@
 #include <linux/module.h>
 #include <linux/nvmem-consumer.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/pm_domain.h>
 #include <linux/pm_opp.h>
drivers/cpufreq/scpi-cpufreq.c +1 -1
index bda3e7d429647..763692e327b18 100644
@@ -22,7 +22,7 @@
 #include <linux/cpumask.h>
 #include <linux/export.h>
 #include <linux/module.h>
-#include <linux/of_platform.h>
+#include <linux/platform_device.h>
 #include <linux/pm_opp.h>
 #include <linux/scpi_protocol.h>
 #include <linux/slab.h>
drivers/cpufreq/sti-cpufreq.c +1 -1
index fdb0a722d8812..f1cde44670689 100644
@@ -13,7 +13,7 @@
 #include <linux/mfd/syscon.h>
 #include <linux/module.h>
 #include <linux/of.h>
-#include <linux/of_platform.h>
+#include <linux/platform_device.h>
 #include <linux/pm_opp.h>
 #include <linux/regmap.h>
 
drivers/cpufreq/ti-cpufreq.c +1 -1
index 8f9fdd864391a..88bffa0bd0139 100644
@@ -12,7 +12,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/of.h>
-#include <linux/of_platform.h>
+#include <linux/platform_device.h>
 #include <linux/pm_opp.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
drivers/cpufreq/vexpress-spc-cpufreq.c +0 -1
index d295f405c4bb0..865e501648034 100644
@@ -18,7 +18,6 @@
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
-#include <linux/of_platform.h>
 #include <linux/platform_device.h>
 #include <linux/pm_opp.h>
 #include <linux/slab.h>
drivers/crypto/xilinx/zynqmp-aes-gcm.c +3 -0
index bf1f421e05f25..74bd3eb63734d 100644
@@ -231,7 +231,10 @@ static int zynqmp_handle_aes_req(struct crypto_engine *engine,
 		err = zynqmp_aes_aead_cipher(areq);
 	}
 
+	local_bh_disable();
 	crypto_finalize_aead_request(engine, areq, err);
+	local_bh_enable();
+
 	return 0;
 }
 
drivers/dma/Kconfig +7 -7
index e1beddcc8c84a..143fb0f8c07fa 100644
@@ -645,16 +645,16 @@ config TEGRA20_APB_DMA
 
 config TEGRA210_ADMA
 	tristate "NVIDIA Tegra210 ADMA support"
-	depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST)
+	depends on (ARCH_TEGRA || COMPILE_TEST)
 	select DMA_ENGINE
 	select DMA_VIRTUAL_CHANNELS
 	help
-	  Support for the NVIDIA Tegra210 ADMA controller driver. The
-	  DMA controller has multiple DMA channels and is used to service
-	  various audio clients in the Tegra210 audio processing engine
-	  (APE). This DMA controller transfers data from memory to
-	  peripheral and vice versa. It does not support memory to
-	  memory data transfer.
+	  Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA
+	  controller driver. The DMA controller has multiple DMA channels
+	  and is used to service various audio clients in the Tegra210
+	  audio processing engine (APE). This DMA controller transfers
+	  data from memory to peripheral and vice versa. It does not
+	  support memory to memory data transfer.
 
 config TIMB_DMA
 	tristate "Timberdale FPGA DMA support"
drivers/firewire/core-card.c +13 -1
index be195ba834632..d446a72629414 100644
@@ -500,7 +500,19 @@ static void bm_work(struct work_struct *work)
 		fw_notice(card, "phy config: new root=%x, gap_count=%d\n",
 			  new_root_id, gap_count);
 		fw_send_phy_config(card, new_root_id, generation, gap_count);
-		reset_bus(card, true);
+		/*
+		 * Where possible, use a short bus reset to minimize
+		 * disruption to isochronous transfers. But in the event
+		 * of a gap count inconsistency, use a long bus reset.
+		 *
+		 * As noted in 1394a 8.4.6.2, nodes on a mixed 1394/1394a bus
+		 * may set different gap counts after a bus reset. On a mixed
+		 * 1394/1394a bus, a short bus reset can get doubled. Some
+		 * nodes may treat the double reset as one bus reset and others
+		 * may treat it as two, causing a gap count inconsistency
+		 * again. Using a long bus reset prevents this.
+		 */
+		reset_bus(card, card->gap_count != 0);
 		/* Will allocate broadcast channel after the reset. */
 		goto out;
 	}
drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +2 -0
index 675a72ef305da..ea5470c8c9212 100644
@@ -169,6 +169,7 @@ static int amdgpu_gtt_mgr_new(struct ttm_resource_manager *man,
 	return 0;
 
 err_free:
+	ttm_resource_fini(man, &node->base.base);
 	kfree(node);
 
 err_out:
@@ -200,6 +201,7 @@ static void amdgpu_gtt_mgr_del(struct ttm_resource_manager *man,
 	if (!(res->placement & TTM_PL_FLAG_TEMPORARY))
 		atomic64_sub(res->num_pages, &mgr->used);
 
+	ttm_resource_fini(man, res);
 	kfree(node);
 }
 
drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.c +1 -0
index d02c8637f909f..ffddec08e931f 100644
@@ -95,6 +95,7 @@ static void amdgpu_preempt_mgr_del(struct ttm_resource_manager *man,
 	struct amdgpu_preempt_mgr *mgr = to_preempt_mgr(man);
 
 	atomic64_sub(res->num_pages, &mgr->used);
+	ttm_resource_fini(man, res);
 	kfree(res);
 }
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +2 -0
index 7b2b0980ec412..55d68408951d1 100644
@@ -476,6 +476,7 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
 	while (i--)
 		drm_mm_remove_node(&node->mm_nodes[i]);
 	spin_unlock(&mgr->lock);
+	ttm_resource_fini(man, &node->base);
 	kvfree(node);
 
 error_sub:
@@ -515,6 +516,7 @@ static void amdgpu_vram_mgr_del(struct ttm_resource_manager *man,
 	atomic64_sub(usage, &mgr->usage);
 	atomic64_sub(vis_usage, &mgr->vis_usage);
 
+	ttm_resource_fini(man, res);
 	kvfree(node);
 }
 
drivers/gpu/drm/amd/amdgpu/atom.c +1 -1
index 6fa2229b72292..c279718d22fba 100644
@@ -311,7 +311,7 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx, uint8_t attr,
 				DEBUG("IMM 0x%02X\n", val);
 			return val;
 		}
-		return 0;
+		break;
 	case ATOM_ARG_PLL:
 		idx = U8(*ptr);
 		(*ptr)++;
drivers/gpu/drm/amd/amdgpu/soc15.c +25 -20

60 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +1 -1
index 6d694cea24201..ed2f6802b0e20 100644
@@ -1304,7 +1304,7 @@ static ssize_t dp_dsc_clock_en_read(struct file *f, char __user *buf,
 	const uint32_t rd_buf_size = 10;
 	struct pipe_ctx *pipe_ctx;
 	ssize_t result = 0;
-	int i, r, str_len = 30;
+	int i, r, str_len = 10;
 
 	rd_buf = kcalloc(rd_buf_size, sizeof(char), GFP_KERNEL);
 
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +5 -2
index aa5a1fa68da05..bc603c8af3b66 100644
@@ -1745,6 +1745,9 @@ bool dcn10_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx,
 {
 	struct dpp *dpp = pipe_ctx->plane_res.dpp;
 
+	if (!stream)
+		return false;
+
 	if (dpp == NULL)
 		return false;
 
@@ -1767,8 +1770,8 @@ bool dcn10_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx,
 	} else
 		dpp->funcs->dpp_program_regamma_pwl(dpp, NULL, OPP_REGAMMA_BYPASS);
 
-	if (stream != NULL && stream->ctx != NULL &&
-			stream->out_transfer_func != NULL) {
+	if (stream->ctx &&
+	    stream->out_transfer_func) {
 		log_tf(stream->ctx,
 				stream->out_transfer_func,
 				dpp->regamma_params.hw_points_num);
drivers/gpu/drm/i915/i915_ttm_buddy_manager.c +2 -0
index 6877362f6b85f..5740087f9ce93 100644
@@ -109,6 +109,7 @@ static int i915_ttm_buddy_man_alloc(struct ttm_resource_manager *man,
 	i915_buddy_free_list(mm, &bman_res->blocks);
 	mutex_unlock(&bman->lock);
 err_free_res:
+	ttm_resource_fini(man, &bman_res->base);
 	kfree(bman_res);
 	return err;
 }
@@ -123,6 +124,7 @@ static void i915_ttm_buddy_man_free(struct ttm_resource_manager *man,
 	i915_buddy_free_list(&bman->mm, &bman_res->blocks);
 	mutex_unlock(&bman->lock);
 
+	ttm_resource_fini(man, res);
 	kfree(bman_res);
 }
 
drivers/gpu/drm/lima/lima_gem.c +14 -9
index 09ea621a4806c..65c4327b6d10c 100644
@@ -74,29 +74,34 @@ int lima_heap_alloc(struct lima_bo *bo, struct lima_vm *vm)
 	} else {
 		bo->base.sgt = kmalloc(sizeof(*bo->base.sgt), GFP_KERNEL);
 		if (!bo->base.sgt) {
-			sg_free_table(&sgt);
-			return -ENOMEM;
+			ret = -ENOMEM;
+			goto err_out0;
 		}
 	}
 
 	ret = dma_map_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0);
-	if (ret) {
-		sg_free_table(&sgt);
-		kfree(bo->base.sgt);
-		bo->base.sgt = NULL;
-		return ret;
-	}
+	if (ret)
+		goto err_out1;
 
 	*bo->base.sgt = sgt;
 
 	if (vm) {
 		ret = lima_vm_map_bo(vm, bo, old_size >> PAGE_SHIFT);
 		if (ret)
-			return ret;
+			goto err_out2;
 	}
 
 	bo->heap_size = new_size;
 	return 0;
+
+err_out2:
+	dma_unmap_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0);
+err_out1:
+	kfree(bo->base.sgt);
+	bo->base.sgt = NULL;
+err_out0:
+	sg_free_table(&sgt);
+	return ret;
 }
 
 int lima_gem_create_handle(struct drm_device *dev, struct drm_file *file,
drivers/gpu/drm/mediatek/mtk_drm_crtc.c +7 -5
index d6781e54b3356..1a038fa004668 100644
@@ -92,11 +92,13 @@ static void mtk_drm_crtc_finish_page_flip(struct mtk_drm_crtc *mtk_crtc)
 	struct drm_crtc *crtc = &mtk_crtc->base;
 	unsigned long flags;
 
-	spin_lock_irqsave(&crtc->dev->event_lock, flags);
-	drm_crtc_send_vblank_event(crtc, mtk_crtc->event);
-	drm_crtc_vblank_put(crtc);
-	mtk_crtc->event = NULL;
-	spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
+	if (mtk_crtc->event) {
+		spin_lock_irqsave(&crtc->dev->event_lock, flags);
+		drm_crtc_send_vblank_event(crtc, mtk_crtc->event);
+		drm_crtc_vblank_put(crtc);
+		mtk_crtc->event = NULL;
+		spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
+	}
 }
 
 static void mtk_drm_finish_page_flip(struct mtk_drm_crtc *mtk_crtc)
drivers/gpu/drm/mediatek/mtk_dsi.c +5 -5
index 57eaf111b6a8a..3b55a83b7cdff 100644
@@ -70,8 +70,8 @@
 #define DSI_PS_WC			0x3fff
 #define DSI_PS_SEL			(3 << 16)
 #define PACKED_PS_16BIT_RGB565		(0 << 16)
-#define LOOSELY_PS_18BIT_RGB666		(1 << 16)
-#define PACKED_PS_18BIT_RGB666		(2 << 16)
+#define PACKED_PS_18BIT_RGB666		(1 << 16)
+#define LOOSELY_PS_24BIT_RGB666		(2 << 16)
 #define PACKED_PS_24BIT_RGB888		(3 << 16)
 
 #define DSI_VSA_NL		0x20
@@ -366,10 +366,10 @@ static void mtk_dsi_ps_control_vact(struct mtk_dsi *dsi)
 		ps_bpp_mode |= PACKED_PS_24BIT_RGB888;
 		break;
 	case MIPI_DSI_FMT_RGB666:
-		ps_bpp_mode |= PACKED_PS_18BIT_RGB666;
+		ps_bpp_mode |= LOOSELY_PS_24BIT_RGB666;
 		break;
 	case MIPI_DSI_FMT_RGB666_PACKED:
-		ps_bpp_mode |= LOOSELY_PS_18BIT_RGB666;
+		ps_bpp_mode |= PACKED_PS_18BIT_RGB666;
 		break;
 	case MIPI_DSI_FMT_RGB565:
 		ps_bpp_mode |= PACKED_PS_16BIT_RGB565;
@@ -423,7 +423,7 @@ static void mtk_dsi_ps_control(struct mtk_dsi *dsi)
 		dsi_tmp_buf_bpp = 3;
 		break;
 	case MIPI_DSI_FMT_RGB666:
-		tmp_reg = LOOSELY_PS_18BIT_RGB666;
+		tmp_reg = LOOSELY_PS_24BIT_RGB666;
 		dsi_tmp_buf_bpp = 3;
 		break;
 	case MIPI_DSI_FMT_RGB666_PACKED:
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +4 -2
index 185379b185725..7c58e9ba71b77 100644
@@ -267,12 +267,14 @@ static void dpu_encoder_phys_vid_setup_timing_engine(
 		mode.htotal >>= 1;
 		mode.hsync_start >>= 1;
 		mode.hsync_end >>= 1;
+		mode.hskew >>= 1;
 
 		DPU_DEBUG_VIDENC(phys_enc,
-			"split_role %d, halve horizontal %d %d %d %d\n",
+			"split_role %d, halve horizontal %d %d %d %d %d\n",
 			phys_enc->split_role,
 			mode.hdisplay, mode.htotal,
-			mode.hsync_start, mode.hsync_end);
+			mode.hsync_start, mode.hsync_end,
+			mode.hskew);
 	}
 
 	drm_mode_to_intf_timing_params(phys_enc, &mode, &timing_params);
drivers/gpu/drm/nouveau/nouveau_bo.c +2 -0
index da58230bcb1fc..2048eac841ddf 100644
@@ -1186,6 +1186,8 @@ nouveau_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *reg)
 			drm_vma_node_unmap(&nvbo->bo.base.vma_node,
 					   bdev->dev_mapping);
 			nouveau_ttm_io_mem_free_locked(drm, nvbo->bo.resource);
+			nvbo->bo.resource->bus.offset = 0;
+			nvbo->bo.resource->bus.addr = NULL;
 			goto retry;
 		}
 
drivers/gpu/drm/nouveau/nouveau_mem.c +2 -1
index 2ca3207c13fcd..2e517cdc24c9c 100644
@@ -162,11 +162,12 @@ nouveau_mem_vram(struct ttm_resource *reg, bool contig, u8 page)
 }
 
 void
-nouveau_mem_del(struct ttm_resource *reg)
+nouveau_mem_del(struct ttm_resource_manager *man, struct ttm_resource *reg)
 {
 	struct nouveau_mem *mem = nouveau_mem(reg);
 
 	nouveau_mem_fini(mem);
+	ttm_resource_fini(man, reg);
 	kfree(mem);
 }
 
drivers/gpu/drm/nouveau/nouveau_mem.h +2 -1
index 2c01166a90f25..325551eba5cd4 100644
@@ -23,7 +23,8 @@ nouveau_mem(struct ttm_resource *reg)
 
 int nouveau_mem_new(struct nouveau_cli *, u8 kind, u8 comp,
 		    struct ttm_resource **);
-void nouveau_mem_del(struct ttm_resource *);
+void nouveau_mem_del(struct ttm_resource_manager *man,
+		     struct ttm_resource *);
 int nouveau_mem_vram(struct ttm_resource *, bool contig, u8 page);
 int nouveau_mem_host(struct ttm_resource *, struct ttm_tt *);
 void nouveau_mem_fini(struct nouveau_mem *);
drivers/gpu/drm/nouveau/nouveau_ttm.c +5 -4
index 2ca9d9a9e5d5e..91ef33f8f22cb 100644
@@ -36,9 +36,10 @@
 #include <core/tegra.h>
 
 static void
-nouveau_manager_del(struct ttm_resource_manager *man, struct ttm_resource *reg)
+nouveau_manager_del(struct ttm_resource_manager *man,
+		    struct ttm_resource *reg)
 {
-	nouveau_mem_del(reg);
+	nouveau_mem_del(man, reg);
 }
 
 static int
@@ -62,7 +63,7 @@ nouveau_vram_manager_new(struct ttm_resource_manager *man,
 
 	ret = nouveau_mem_vram(*res, nvbo->contig, nvbo->page);
 	if (ret) {
-		nouveau_mem_del(*res);
+		nouveau_mem_del(man, *res);
 		return ret;
 	}
 
@@ -118,7 +119,7 @@ nv04_gart_manager_new(struct ttm_resource_manager *man,
 	ret = nvif_vmm_get(&mem->cli->vmm.vmm, PTES, false, 12, 0,
 			   (long)(*res)->num_pages << PAGE_SHIFT, &mem->vma[0]);
 	if (ret) {
-		nouveau_mem_del(*res);
+		nouveau_mem_del(man, *res);
 		return ret;
 	}
 
drivers/gpu/drm/radeon/ni.c +1 -1
index 4a364ca7a1be7..b041b6bfaeca6 100644
@@ -813,7 +813,7 @@ int ni_init_microcode(struct radeon_device *rdev)
 			err = 0;
 		} else if (rdev->smc_fw->size != smc_req_size) {
 			pr_err("ni_mc: Bogus length %zu in firmware \"%s\"\n",
-			       rdev->mc_fw->size, fw_name);
+			       rdev->smc_fw->size, fw_name);
 			err = -EINVAL;
 		}
 	}
drivers/gpu/drm/rockchip/inno_hdmi.c +2 -2
index 78120da5e63aa..27540d308ccb9 100644
@@ -402,7 +402,7 @@ static int inno_hdmi_config_video_timing(struct inno_hdmi *hdmi,
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_L, value & 0xFF);
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_H, (value >> 8) & 0xFF);
 
-	value = mode->hsync_start - mode->hdisplay;
+	value = mode->htotal - mode->hsync_start;
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_L, value & 0xFF);
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_H, (value >> 8) & 0xFF);
 
@@ -417,7 +417,7 @@ static int inno_hdmi_config_video_timing(struct inno_hdmi *hdmi,
 	value = mode->vtotal - mode->vdisplay;
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VBLANK, value & 0xFF);
 
-	value = mode->vsync_start - mode->vdisplay;
+	value = mode->vtotal - mode->vsync_start;
 	hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VDELAY, value & 0xFF);
 
 	value = mode->vsync_end - mode->vsync_start;
drivers/gpu/drm/rockchip/rockchip_lvds.c +1 -2
index 2550429df49fe..d3a7f8d94b781 100644
@@ -572,8 +572,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master,
 		ret = -EINVAL;
 		goto err_put_port;
 	} else if (ret) {
-		DRM_DEV_ERROR(dev, "failed to find panel and bridge node\n");
-		ret = -EPROBE_DEFER;
+		dev_err_probe(dev, ret, "failed to find panel and bridge node\n");
 		goto err_put_port;
 	}
 	if (lvds->panel)
drivers/gpu/drm/tegra/Kconfig +1 -0
index 1650a448eabd6..b09a500934f73 100644
@@ -5,6 +5,7 @@ config DRM_TEGRA
 	depends on COMMON_CLK
 	depends on DRM
 	depends on OF
+	select DRM_DP_AUX_BUS
 	select DRM_KMS_HELPER
 	select DRM_MIPI_DSI
 	select DRM_PANEL
drivers/gpu/drm/tegra/dc.c +17 -10
index abb409b08bc64..f44a64e896587 100644
@@ -1762,10 +1762,9 @@ int tegra_dc_state_setup_clock(struct tegra_dc *dc,
 	return 0;
 }
 
-static void tegra_dc_commit_state(struct tegra_dc *dc,
-				  struct tegra_dc_state *state)
+static void tegra_dc_set_clock_rate(struct tegra_dc *dc,
+				    struct tegra_dc_state *state)
 {
-	u32 value;
 	int err;
 
 	err = clk_set_parent(dc->clk, state->clk);
@@ -1796,11 +1795,6 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
 	DRM_DEBUG_KMS("rate: %lu, div: %u\n", clk_get_rate(dc->clk),
 		      state->div);
 	DRM_DEBUG_KMS("pclk: %lu\n", state->pclk);
-
-	if (!dc->soc->has_nvdisplay) {
-		value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1;
-		tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL);
-	}
 }
 
 static void tegra_dc_stop(struct tegra_dc *dc)
@@ -2002,6 +1996,9 @@ static void tegra_crtc_atomic_enable(struct drm_crtc *crtc,
 	u32 value;
 	int err;
 
+	/* apply PLL changes */
+	tegra_dc_set_clock_rate(dc, crtc_state);
+
 	err = host1x_client_resume(&dc->client);
 	if (err < 0) {
 		dev_err(dc->dev, "failed to resume: %d\n", err);
@@ -2076,8 +2073,11 @@ static void tegra_crtc_atomic_enable(struct drm_crtc *crtc,
 	else
 		tegra_dc_writel(dc, 0, DC_DISP_BORDER_COLOR);
 
-	/* apply PLL and pixel clock changes */
-	tegra_dc_commit_state(dc, crtc_state);
+	/* apply pixel clock changes */
+	if (!dc->soc->has_nvdisplay) {
+		value = SHIFT_CLK_DIVIDER(crtc_state->div) | PIXEL_CLK_DIVIDER_PCD1;
+		tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL);
+	}
 
 	/* program display mode */
 	tegra_dc_set_timings(dc, mode);
@@ -2685,6 +2685,7 @@ static const struct tegra_dc_soc_info tegra20_dc_soc_info = {
 	.has_win_b_vfilter_mem_client = true,
 	.has_win_c_without_vert_filter = true,
 	.plane_tiled_memory_bandwidth_x2 = false,
+	.has_pll_d2_out0 = false,
 };
 
 static const struct tegra_dc_soc_info tegra30_dc_soc_info = {
@@ -2707,6 +2708,7 @@ static const struct tegra_dc_soc_info tegra30_dc_soc_info = {
 	.has_win_b_vfilter_mem_client = true,
 	.has_win_c_without_vert_filter = false,
 	.plane_tiled_memory_bandwidth_x2 = true,
+	.has_pll_d2_out0 = true,
 };
 
 static const struct tegra_dc_soc_info tegra114_dc_soc_info = {
@@ -2729,6 +2731,7 @@ static const struct tegra_dc_soc_info tegra114_dc_soc_info = {
 	.has_win_b_vfilter_mem_client = false,
 	.has_win_c_without_vert_filter = false,
 	.plane_tiled_memory_bandwidth_x2 = true,
+	.has_pll_d2_out0 = true,
 };
 
 static const struct tegra_dc_soc_info tegra124_dc_soc_info = {
@@ -2751,6 +2754,7 @@ static const struct tegra_dc_soc_info tegra124_dc_soc_info = {
 	.has_win_b_vfilter_mem_client = false,
 	.has_win_c_without_vert_filter = false,
 	.plane_tiled_memory_bandwidth_x2 = false,
+	.has_pll_d2_out0 = true,
 };
 
 static const struct tegra_dc_soc_info tegra210_dc_soc_info = {
@@ -2773,6 +2777,7 @@ static const struct tegra_dc_soc_info tegra210_dc_soc_info = {
 	.has_win_b_vfilter_mem_client = false,
 	.has_win_c_without_vert_filter = false,
 	.plane_tiled_memory_bandwidth_x2 = false,
+	.has_pll_d2_out0 = true,
 };
 
 static const struct tegra_windowgroup_soc tegra186_dc_wgrps[] = {
@@ -2823,6 +2828,7 @@ static const struct tegra_dc_soc_info tegra186_dc_soc_info = {
 	.wgrps = tegra186_dc_wgrps,
 	.num_wgrps = ARRAY_SIZE(tegra186_dc_wgrps),
 	.plane_tiled_memory_bandwidth_x2 = false,
+	.has_pll_d2_out0 = false,
 };
 
 static const struct tegra_windowgroup_soc tegra194_dc_wgrps[] = {
@@ -2873,6 +2879,7 @@ static const struct tegra_dc_soc_info tegra194_dc_soc_info = {
 	.wgrps = tegra194_dc_wgrps,
 	.num_wgrps = ARRAY_SIZE(tegra194_dc_wgrps),
 	.plane_tiled_memory_bandwidth_x2 = false,
+	.has_pll_d2_out0 = false,
 };
 
 static const struct of_device_id tegra_dc_of_match[] = {
drivers/gpu/drm/tegra/dc.h +1 -0
index 40378308d527a..c9c4c45c05183 100644
@@ -76,6 +76,7 @@ struct tegra_dc_soc_info {
 	bool has_win_b_vfilter_mem_client;
 	bool has_win_c_without_vert_filter;
 	bool plane_tiled_memory_bandwidth_x2;
+	bool has_pll_d2_out0;
 };
 
 struct tegra_dc {
drivers/gpu/drm/tegra/dpaux.c +16 -3
index c96c07c6458c3..a99f82dc7e6f7 100644
@@ -19,6 +19,7 @@
 #include <linux/workqueue.h>
 
 #include <drm/drm_dp_helper.h>
+#include <drm/drm_dp_aux_bus.h>
 #include <drm/drm_panel.h>
 
 #include "dp.h"
@@ -524,7 +525,7 @@ static int tegra_dpaux_probe(struct platform_device *pdev)
 	if (err < 0) {
 		dev_err(dpaux->dev, "failed to request IRQ#%u: %d\n",
 			dpaux->irq, err);
-		return err;
+		goto err_pm_disable;
 	}
 
 	disable_irq(dpaux->irq);
@@ -544,7 +545,7 @@ static int tegra_dpaux_probe(struct platform_device *pdev)
 	 */
 	err = tegra_dpaux_pad_config(dpaux, DPAUX_PADCTL_FUNC_I2C);
 	if (err < 0)
-		return err;
+		goto err_pm_disable;
 
 #ifdef CONFIG_GENERIC_PINCONF
 	dpaux->desc.name = dev_name(&pdev->dev);
@@ -557,7 +558,8 @@ static int tegra_dpaux_probe(struct platform_device *pdev)
 	dpaux->pinctrl = devm_pinctrl_register(&pdev->dev, &dpaux->desc, dpaux);
 	if (IS_ERR(dpaux->pinctrl)) {
 		dev_err(&pdev->dev, "failed to register pincontrol\n");
-		return PTR_ERR(dpaux->pinctrl);
+		err = PTR_ERR(dpaux->pinctrl);
+		goto err_pm_disable;
 	}
 #endif
 	/* enable and clear all interrupts */
@@ -570,7 +572,18 @@ static int tegra_dpaux_probe(struct platform_device *pdev)
 	list_add_tail(&dpaux->list, &dpaux_list);
 	mutex_unlock(&dpaux_lock);
 
+	err = devm_of_dp_aux_populate_ep_devices(&dpaux->aux);
+	if (err < 0) {
+		dev_err(dpaux->dev, "failed to populate AUX bus: %d\n", err);
+		goto err_pm_disable;
+	}
+
 	return 0;
+
+err_pm_disable:
+	pm_runtime_put_sync(&pdev->dev);
+	pm_runtime_disable(&pdev->dev);
+	return err;
 }
 
 static int tegra_dpaux_remove(struct platform_device *pdev)
drivers/gpu/drm/tegra/dsi.c +31 -16

97 lines not on this page · raw message

drivers/gpu/drm/tegra/fb.c +1 -0
index cae8b8cbe9dd0..6e35c7951dfb2 100644
@@ -165,6 +165,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
 
 		if (gem->size < size) {
 			err = -EINVAL;
+			drm_gem_object_put(gem);
 			goto unreference;
 		}
 
drivers/gpu/drm/tegra/output.c +12 -4
index 47d26b5d99456..7ccd010a821b7 100644
@@ -139,8 +139,10 @@ int tegra_output_probe(struct tegra_output *output)
 						       GPIOD_IN,
 						       "HDMI hotplug detect");
 	if (IS_ERR(output->hpd_gpio)) {
-		if (PTR_ERR(output->hpd_gpio) != -ENOENT)
-			return PTR_ERR(output->hpd_gpio);
+		if (PTR_ERR(output->hpd_gpio) != -ENOENT) {
+			err = PTR_ERR(output->hpd_gpio);
+			goto put_i2c;
+		}
 
 		output->hpd_gpio = NULL;
 	}
@@ -149,7 +151,7 @@ int tegra_output_probe(struct tegra_output *output)
 		err = gpiod_to_irq(output->hpd_gpio);
 		if (err < 0) {
 			dev_err(output->dev, "gpiod_to_irq(): %d\n", err);
-			return err;
+			goto put_i2c;
 		}
 
 		output->hpd_irq = err;
@@ -162,7 +164,7 @@ int tegra_output_probe(struct tegra_output *output)
 		if (err < 0) {
 			dev_err(output->dev, "failed to request IRQ#%u: %d\n",
 				output->hpd_irq, err);
-			return err;
+			goto put_i2c;
 		}
 
 		output->connector.polled = DRM_CONNECTOR_POLL_HPD;
@@ -176,6 +178,12 @@ int tegra_output_probe(struct tegra_output *output)
 	}
 
 	return 0;
+
+put_i2c:
+	if (output->ddc)
+		i2c_put_adapter(output->ddc);
+
+	return err;
 }
 
 void tegra_output_remove(struct tegra_output *output)
drivers/gpu/drm/tegra/rgb.c +58 -5

109 lines not on this page · raw message

drivers/gpu/drm/tidss/tidss_plane.c +1 -1
index 217415ec8eea1..8ccd7d31c01b3 100644
@@ -210,7 +210,7 @@ struct tidss_plane *tidss_plane_create(struct tidss_device *tidss,
 
 	drm_plane_helper_add(&tplane->plane, &tidss_plane_helper_funcs);
 
-	drm_plane_create_zpos_property(&tplane->plane, hw_plane_id, 0,
+	drm_plane_create_zpos_property(&tplane->plane, tidss->num_planes, 0,
 				       num_planes - 1);
 
 	ret = drm_plane_create_color_properties(&tplane->plane,
drivers/gpu/drm/ttm/ttm_range_manager.c +2 -0
index f4b08a8705b32..69962b5769c54 100644
@@ -89,6 +89,7 @@ static int ttm_range_man_alloc(struct ttm_resource_manager *man,
 	spin_unlock(&rman->lock);
 
 	if (unlikely(ret)) {
+		ttm_resource_fini(man, *res);
 		kfree(node);
 		return ret;
 	}
@@ -108,6 +109,7 @@ static void ttm_range_man_free(struct ttm_resource_manager *man,
 	drm_mm_remove_node(&node->mm_nodes[0]);
 	spin_unlock(&rman->lock);
 
+	ttm_resource_fini(man, res);
 	kfree(node);
 }
 
drivers/gpu/drm/ttm/ttm_resource.c +23 -0
index 2431717376e70..2c590b4c46cb7 100644
@@ -29,6 +29,14 @@
 #include <drm/ttm/ttm_resource.h>
 #include <drm/ttm/ttm_bo_driver.h>
 
+/**
+ * ttm_resource_init - resource object constructure
+ * @bo: buffer object this resources is allocated for
+ * @place: placement of the resource
+ * @res: the resource object to inistilize
+ *
+ * Initialize a new resource object. Counterpart of &ttm_resource_fini.
+ */
 void ttm_resource_init(struct ttm_buffer_object *bo,
                        const struct ttm_place *place,
                        struct ttm_resource *res)
@@ -44,6 +52,21 @@ void ttm_resource_init(struct ttm_buffer_object *bo,
 }
 EXPORT_SYMBOL(ttm_resource_init);
 
+/**
+ * ttm_resource_fini - resource destructor
+ * @man: the resource manager this resource belongs to
+ * @res: the resource to clean up
+ *
+ * Should be used by resource manager backends to clean up the TTM resource
+ * objects before freeing the underlying structure. Counterpart of
+ * &ttm_resource_init
+ */
+void ttm_resource_fini(struct ttm_resource_manager *man,
+		       struct ttm_resource *res)
+{
+}
+EXPORT_SYMBOL(ttm_resource_fini);
+
 int ttm_resource_alloc(struct ttm_buffer_object *bo,
 		       const struct ttm_place *place,
 		       struct ttm_resource **res_ptr)
drivers/gpu/drm/ttm/ttm_sys_manager.c +1 -0
index 63aca52f75e12..135394dcca95a 100644
@@ -23,6 +23,7 @@ static int ttm_sys_man_alloc(struct ttm_resource_manager *man,
 static void ttm_sys_man_free(struct ttm_resource_manager *man,
 			     struct ttm_resource *res)
 {
+	ttm_resource_fini(man, res);
 	kfree(res);
 }
 
drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c +6 -1
index b2c4af331c9d5..eef7bab8bc3a6 100644
@@ -64,8 +64,11 @@ static int vmw_gmrid_man_get_node(struct ttm_resource_manager *man,
 	ttm_resource_init(bo, place, *res);
 
 	id = ida_alloc_max(&gman->gmr_ida, gman->max_gmr_ids - 1, GFP_KERNEL);
-	if (id < 0)
+	if (id < 0) {
+		ttm_resource_fini(man, *res);
+		kfree(*res);
 		return id;
+	}
 
 	spin_lock(&gman->lock);
 
@@ -116,6 +119,7 @@ static int vmw_gmrid_man_get_node(struct ttm_resource_manager *man,
 	gman->used_gmr_pages -= (*res)->num_pages;
 	spin_unlock(&gman->lock);
 	ida_free(&gman->gmr_ida, id);
+	ttm_resource_fini(man, *res);
 	kfree(*res);
 	return -ENOSPC;
 }
@@ -129,6 +133,7 @@ static void vmw_gmrid_man_put_node(struct ttm_resource_manager *man,
 	spin_lock(&gman->lock);
 	gman->used_gmr_pages -= res->num_pages;
 	spin_unlock(&gman->lock);
+	ttm_resource_fini(man, res);
 	kfree(res);
 }
 
drivers/gpu/drm/vmwgfx/vmwgfx_system_manager.c +1 -0
index b0005b03a6174..a64188c7268d5 100644
@@ -49,6 +49,7 @@ static int vmw_sys_man_alloc(struct ttm_resource_manager *man,
 static void vmw_sys_man_free(struct ttm_resource_manager *man,
 			     struct ttm_resource *res)
 {
+	ttm_resource_fini(man, res);
 	kfree(res);
 }
 
drivers/hid/amd-sfh-hid/amd_sfh_pcie.h +3 -3
index 2d3203d3daeb3..90f39bfe8050e 100644
@@ -119,10 +119,10 @@ enum mem_use_type {
 struct hpd_status {
 	union {
 		struct {
-			u32 human_presence_report : 4;
-			u32 human_presence_actual : 4;
-			u32 probablity		  : 8;
 			u32 object_distance       : 16;
+			u32 probablity		  : 8;
+			u32 human_presence_actual : 4;
+			u32 human_presence_report : 4;
 		} shpd;
 		u32 val;
 	};
drivers/hid/hid-lenovo.c +39 -18

94 lines not on this page · raw message

drivers/hid/hid-multitouch.c +4 -0
index fc04538d93cbb..2e14e3071aa69 100644
@@ -2151,6 +2151,10 @@ static const struct hid_device_id mt_devices[] = {
 		HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
 			USB_VENDOR_ID_SYNAPTICS, 0xcd7e) },
 
+	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
+		HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
+			USB_VENDOR_ID_SYNAPTICS, 0xcddc) },
+
 	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
 		HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
 			USB_VENDOR_ID_SYNAPTICS, 0xce08) },
drivers/infiniband/core/device.c +22 -15
index 2c2ac63b39c42..725f2719132fb 100644
@@ -1729,7 +1729,7 @@ static int assign_client_id(struct ib_client *client)
 {
 	int ret;
 
-	down_write(&clients_rwsem);
+	lockdep_assert_held(&clients_rwsem);
 	/*
 	 * The add/remove callbacks must be called in FIFO/LIFO order. To
 	 * achieve this we assign client_ids so they are sorted in
@@ -1738,14 +1738,11 @@ static int assign_client_id(struct ib_client *client)
 	client->client_id = highest_client_id;
 	ret = xa_insert(&clients, client->client_id, client, GFP_KERNEL);
 	if (ret)
-		goto out;
+		return ret;
 
 	highest_client_id++;
 	xa_set_mark(&clients, client->client_id, CLIENT_REGISTERED);
-
-out:
-	up_write(&clients_rwsem);
-	return ret;
+	return 0;
 }
 
 static void remove_client_id(struct ib_client *client)
@@ -1775,25 +1772,35 @@ int ib_register_client(struct ib_client *client)
 {
 	struct ib_device *device;
 	unsigned long index;
+	bool need_unreg = false;
 	int ret;
 
 	refcount_set(&client->uses, 1);
 	init_completion(&client->uses_zero);
+
+	/*
+	 * The devices_rwsem is held in write mode to ensure that a racing
+	 * ib_register_device() sees a consisent view of clients and devices.
+	 */
+	down_write(&devices_rwsem);
+	down_write(&clients_rwsem);
 	ret = assign_client_id(client);
 	if (ret)
-		return ret;
+		goto out;
 
-	down_read(&devices_rwsem);
+	need_unreg = true;
 	xa_for_each_marked (&devices, index, device, DEVICE_REGISTERED) {
 		ret = add_client_context(device, client);
-		if (ret) {
-			up_read(&devices_rwsem);
-			ib_unregister_client(client);
-			return ret;
-		}
+		if (ret)
+			goto out;
 	}
-	up_read(&devices_rwsem);
-	return 0;
+	ret = 0;
+out:
+	up_write(&clients_rwsem);
+	up_write(&devices_rwsem);
+	if (need_unreg && ret)
+		ib_unregister_client(client);
+	return ret;
 }
 EXPORT_SYMBOL(ib_register_client);
 
drivers/infiniband/hw/mlx5/devx.c +1 -1
index 104e5cbba066b..ef3585af40263 100644
@@ -2922,7 +2922,7 @@ DECLARE_UVERBS_NAMED_METHOD(
 	MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
 	UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE,
 			UVERBS_IDR_ANY_OBJECT,
-			UVERBS_ACCESS_WRITE,
+			UVERBS_ACCESS_READ,
 			UA_MANDATORY),
 	UVERBS_ATTR_PTR_IN(
 		MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN,
drivers/infiniband/hw/mlx5/wr.c +1 -1
index 8841620af82f1..b81d282fb0d52 100644
@@ -128,7 +128,7 @@ static void set_eth_seg(const struct ib_send_wr *wr, struct mlx5_ib_qp *qp,
 		 */
 		copysz = min_t(u64, *cur_edge - (void *)eseg->inline_hdr.start,
 			       left);
-		memcpy(eseg->inline_hdr.start, pdata, copysz);
+		memcpy(eseg->inline_hdr.data, pdata, copysz);
 		stride = ALIGN(sizeof(struct mlx5_wqe_eth_seg) -
 			       sizeof(eseg->inline_hdr.start) + copysz, 16);
 		*size += stride / 16;
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c +1 -1
index dbf9a778c3bd7..583c38eb04326 100644
@@ -131,7 +131,7 @@ static ssize_t mpath_policy_store(struct device *dev,
 
 	/* distinguish "mi" and "min-latency" with length */
 	len = strnlen(buf, NAME_MAX);
-	if (buf[len - 1] == '\n')
+	if (len && buf[len - 1] == '\n')
 		len--;
 
 	if (!strncasecmp(buf, "round-robin", 11) ||
drivers/infiniband/ulp/srpt/ib_srpt.c +1 -2
index 60f9c612eb3c3..1b44ce0ac991c 100644
@@ -3209,7 +3209,6 @@ static int srpt_add_one(struct ib_device *device)
 
 	INIT_IB_EVENT_HANDLER(&sdev->event_handler, sdev->device,
 			      srpt_event_handler);
-	ib_register_event_handler(&sdev->event_handler);
 
 	for (i = 1; i <= sdev->device->phys_port_cnt; i++) {
 		sport = &sdev->port[i - 1];
@@ -3232,6 +3231,7 @@ static int srpt_add_one(struct ib_device *device)
 		}
 	}
 
+	ib_register_event_handler(&sdev->event_handler);
 	spin_lock(&srpt_dev_lock);
 	list_add_tail(&sdev->list, &srpt_dev_list);
 	spin_unlock(&srpt_dev_lock);
@@ -3242,7 +3242,6 @@ static int srpt_add_one(struct ib_device *device)
 
 err_port:
 	srpt_unregister_mad_agent(sdev, i);
-	ib_unregister_event_handler(&sdev->event_handler);
 err_cm:
 	if (sdev->cm_id)
 		ib_destroy_cm_id(sdev->cm_id);
drivers/input/keyboard/gpio_keys_polled.c +4 -6
index c3937d2fc7446..a0f9978c68f55 100644
@@ -319,12 +319,10 @@ static int gpio_keys_polled_probe(struct platform_device *pdev)
 
 			error = devm_gpio_request_one(dev, button->gpio,
 					flags, button->desc ? : DRV_NAME);
-			if (error) {
-				dev_err(dev,
-					"unable to claim gpio %u, err=%d\n",
-					button->gpio, error);
-				return error;
-			}
+			if (error)
+				return dev_err_probe(dev, error,
+						     "unable to claim gpio %u\n",
+						     button->gpio);
 
 			bdata->gpiod = gpio_to_desc(button->gpio);
 			if (!bdata->gpiod) {
drivers/iommu/amd/init.c +3 -0
index 50ea582be5910..ef855495c210e 100644
@@ -1821,6 +1821,9 @@ static int __init iommu_init_pci(struct amd_iommu *iommu)
 	/* Prevent binding other PCI device drivers to IOMMU devices */
 	iommu->dev->match_driver = false;
 
+	/* ACPI _PRT won't have an IRQ for IOMMU */
+	iommu->dev->irq_managed = 1;
+
 	pci_read_config_dword(iommu->dev, cap_ptr + MMIO_CAP_HDR_OFFSET,
 			      &iommu->cap);
 
drivers/iommu/intel/pasid.c +3 -0
index dc9d665d7365c..589b97ff5433c 100644
@@ -508,6 +508,9 @@ devtlb_invalidation_with_pasid(struct intel_iommu *iommu,
 	if (!info || !info->ats_enabled)
 		return;
 
+	if (pci_dev_is_disconnected(to_pci_dev(dev)))
+		return;
+
 	sid = info->bus << 8 | info->devfn;
 	qdep = info->ats_qdep;
 	pfsid = info->pfsid;
drivers/leds/flash/leds-sgm3140.c +3 -0
index f4f831570f11c..e72017b11098b 100644
@@ -114,8 +114,11 @@ static int sgm3140_brightness_set(struct led_classdev *led_cdev,
 				"failed to enable regulator: %d\n", ret);
 			return ret;
 		}
+		gpiod_set_value_cansleep(priv->flash_gpio, 0);
 		gpiod_set_value_cansleep(priv->enable_gpio, 1);
 	} else {
+		del_timer_sync(&priv->powerdown_timer);
+		gpiod_set_value_cansleep(priv->flash_gpio, 0);
 		gpiod_set_value_cansleep(priv->enable_gpio, 0);
 		ret = regulator_disable(priv->vin_regulator);
 		if (ret) {
drivers/leds/leds-aw2013.c +1 -0
index 80d937454aeef..f7d9795ce5e1f 100644
@@ -397,6 +397,7 @@ static int aw2013_probe(struct i2c_client *client)
 	regulator_disable(chip->vcc_regulator);
 
 error:
+	mutex_unlock(&chip->mutex);
 	mutex_destroy(&chip->mutex);
 	return ret;
 }
drivers/md/dm-crypt.c +2 -2
index 5904af05f6057..a3db76dcdb3ec 100644
@@ -49,11 +49,11 @@
 struct convert_context {
 	struct completion restart;
 	struct bio *bio_in;
-	struct bio *bio_out;
 	struct bvec_iter iter_in;
+	struct bio *bio_out;
 	struct bvec_iter iter_out;
-	u64 cc_sector;
 	atomic_t cc_pending;
+	u64 cc_sector;
 	union {
 		struct skcipher_request *req;
 		struct aead_request *req_aead;
drivers/md/dm-raid.c +2 -2
index 8d489933d5792..04769fb20cf7f 100644
@@ -3329,14 +3329,14 @@ static int raid_map(struct dm_target *ti, struct bio *bio)
 	struct mddev *mddev = &rs->md;
 
 	/*
-	 * If we're reshaping to add disk(s)), ti->len and
+	 * If we're reshaping to add disk(s), ti->len and
 	 * mddev->array_sectors will differ during the process
 	 * (ti->len > mddev->array_sectors), so we have to requeue
 	 * bios with addresses > mddev->array_sectors here or
 	 * there will occur accesses past EOD of the component
 	 * data images thus erroring the raid set.
 	 */
-	if (unlikely(bio_end_sector(bio) > mddev->array_sectors))
+	if (unlikely(bio_has_data(bio) && bio_end_sector(bio) > mddev->array_sectors))
 		return DM_MAPIO_REQUEUE;
 
 	md_handle_request(mddev, bio);
drivers/md/dm-verity.h +2 -2
index 78d1e51195ada..f61c89c79cf5b 100644
@@ -74,11 +74,11 @@ struct dm_verity_io {
 	/* original value of bio->bi_end_io */
 	bio_end_io_t *orig_bi_end_io;
 
+	struct bvec_iter iter;
+
 	sector_t block;
 	unsigned n_blocks;
 
-	struct bvec_iter iter;
-
 	struct work_struct work;
 
 	/*
drivers/md/dm.c +20 -6
index d6285a23dc3ed..fd9bb8b53219a 100644
@@ -2641,6 +2641,9 @@ static void __dm_internal_suspend(struct mapped_device *md, unsigned suspend_fla
 
 static void __dm_internal_resume(struct mapped_device *md)
 {
+	int r;
+	struct dm_table *map;
+
 	BUG_ON(!md->internal_suspend_count);
 
 	if (--md->internal_suspend_count)
@@ -2649,12 +2652,23 @@ static void __dm_internal_resume(struct mapped_device *md)
 	if (dm_suspended_md(md))
 		goto done; /* resume from nested suspend */
 
-	/*
-	 * NOTE: existing callers don't need to call dm_table_resume_targets
-	 * (which may fail -- so best to avoid it for now by passing NULL map)
-	 */
-	(void) __dm_resume(md, NULL);
-
+	map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
+	r = __dm_resume(md, map);
+	if (r) {
+		/*
+		 * If a preresume method of some target failed, we are in a
+		 * tricky situation. We can't return an error to the caller. We
+		 * can't fake success because then the "resume" and
+		 * "postsuspend" methods would not be paired correctly, and it
+		 * would break various targets, for example it would cause list
+		 * corruption in the "origin" target.
+		 *
+		 * So, we fake normal suspend here, to make sure that the
+		 * "resume" and "postsuspend" methods will be paired correctly.
+		 */
+		DMERR("Preresume method failed: %d", r);
+		set_bit(DMF_SUSPENDED, &md->flags);
+	}
 done:
 	clear_bit(DMF_SUSPENDED_INTERNALLY, &md->flags);
 	smp_mb__after_atomic();
drivers/md/md.c +10 -4
index a17f2f725822a..c937ad7f6b73a 100644
@@ -6230,7 +6230,15 @@ static void md_clean(struct mddev *mddev)
 	mddev->persistent = 0;
 	mddev->level = LEVEL_NONE;
 	mddev->clevel[0] = 0;
-	mddev->flags = 0;
+	/*
+	 * Don't clear MD_CLOSING, or mddev can be opened again.
+	 * 'hold_active != 0' means mddev is still in the creation
+	 * process and will be used later.
+	 */
+	if (mddev->hold_active)
+		mddev->flags = 0;
+	else
+		mddev->flags &= BIT_ULL_MASK(MD_CLOSING);
 	mddev->sb_flags = 0;
 	mddev->ro = MD_RDWR;
 	mddev->metadata_type[0] = 0;
@@ -7550,7 +7558,6 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
 	int err = 0;
 	void __user *argp = (void __user *)arg;
 	struct mddev *mddev = NULL;
-	bool did_set_md_closing = false;
 
 	if (!md_ioctl_valid(cmd))
 		return -ENOTTY;
@@ -7637,7 +7644,6 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
 			err = -EBUSY;
 			goto out;
 		}
-		did_set_md_closing = true;
 		mutex_unlock(&mddev->open_mutex);
 		sync_blockdev(bdev);
 	}
@@ -7800,7 +7806,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
 		mddev->hold_active = 0;
 	mddev_unlock(mddev);
 out:
-	if(did_set_md_closing)
+	if (cmd == STOP_ARRAY_RO || (err && cmd == STOP_ARRAY))
 		clear_bit(MD_CLOSING, &mddev->flags);
 	return err;
 }
drivers/media/common/v4l2-tpg/v4l2-tpg-core.c +42 -10

80 lines not on this page · raw message

drivers/media/dvb-core/dvbdev.c +5 -0
index 3a83e8e092568..23a0c209744dc 100644
@@ -504,6 +504,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 		dvbdevfops = kmemdup(template->fops, sizeof(*dvbdevfops), GFP_KERNEL);
 		if (!dvbdevfops) {
 			kfree(dvbdev);
+			*pdvbdev = NULL;
 			mutex_unlock(&dvbdev_register_lock);
 			return -ENOMEM;
 		}
@@ -512,6 +513,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 		if (!new_node) {
 			kfree(dvbdevfops);
 			kfree(dvbdev);
+			*pdvbdev = NULL;
 			mutex_unlock(&dvbdev_register_lock);
 			return -ENOMEM;
 		}
@@ -545,6 +547,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 		}
 		list_del (&dvbdev->list_head);
 		kfree(dvbdev);
+		*pdvbdev = NULL;
 		up_write(&minor_rwsem);
 		mutex_unlock(&dvbdev_register_lock);
 		return -EINVAL;
@@ -567,6 +570,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 		dvb_media_device_free(dvbdev);
 		list_del (&dvbdev->list_head);
 		kfree(dvbdev);
+		*pdvbdev = NULL;
 		mutex_unlock(&dvbdev_register_lock);
 		return ret;
 	}
@@ -585,6 +589,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 		dvb_media_device_free(dvbdev);
 		list_del (&dvbdev->list_head);
 		kfree(dvbdev);
+		*pdvbdev = NULL;
 		mutex_unlock(&dvbdev_register_lock);
 		return PTR_ERR(clsdev);
 	}
drivers/media/dvb-frontends/stv0367.c +8 -26
index 0bfca1174e9e7..8cbae8235b174 100644
@@ -118,50 +118,32 @@ static const s32 stv0367cab_RF_LookUp2[RF_LOOKUP_TABLE2_SIZE][RF_LOOKUP_TABLE2_S
 	}
 };
 
-static
-int stv0367_writeregs(struct stv0367_state *state, u16 reg, u8 *data, int len)
+static noinline_for_stack
+int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data)
 {
-	u8 buf[MAX_XFER_SIZE];
+	u8 buf[3] = { MSB(reg), LSB(reg), data };
 	struct i2c_msg msg = {
 		.addr = state->config->demod_address,
 		.flags = 0,
 		.buf = buf,
-		.len = len + 2
+		.len = 3,
 	};
 	int ret;
 
-	if (2 + len > sizeof(buf)) {
-		printk(KERN_WARNING
-		       "%s: i2c wr reg=%04x: len=%d is too big!\n",
-		       KBUILD_MODNAME, reg, len);
-		return -EINVAL;
-	}
-
-
-	buf[0] = MSB(reg);
-	buf[1] = LSB(reg);
-	memcpy(buf + 2, data, len);
-
 	if (i2cdebug)
 		printk(KERN_DEBUG "%s: [%02x] %02x: %02x\n", __func__,
-			state->config->demod_address, reg, buf[2]);
+			state->config->demod_address, reg, data);
 
 	ret = i2c_transfer(state->i2c, &msg, 1);
 	if (ret != 1)
 		printk(KERN_ERR "%s: i2c write error! ([%02x] %02x: %02x)\n",
-			__func__, state->config->demod_address, reg, buf[2]);
+			__func__, state->config->demod_address, reg, data);
 
 	return (ret != 1) ? -EREMOTEIO : 0;
 }
 
-static int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data)
-{
-	u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
-
-	return stv0367_writeregs(state, reg, &tmp, 1);
[… more lines in the raw message]

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

drivers/media/i2c/tc358743.c +4 -3
index 3205cd8298dd8..4c6852dc40a90 100644

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

drivers/media/pci/ttpci/budget-av.c +5 -3
index 3cb83005cf09b..519f85e0a397d 100644

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

drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c +1 -1
index b065ccd069140..378a1cba0144f 100644

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

drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c +1 -9
index cfc7ebed8fb7a..1ec29f1b163a1 100644

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

drivers/media/platform/mtk-vpu/mtk_vpu.c +1 -1
index af59cc52fdd73..e282bbae8f668 100644

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

drivers/media/platform/mtk-vpu/mtk_vpu.h +1 -1
index a56053ff135af..da05f3e740810 100644

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

drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +35 -34

69 lines not on this page · raw message

drivers/media/usb/em28xx/em28xx-cards.c +4 -0
index 92d867fc519c4..8ab10518957c4 100644

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

drivers/media/usb/go7007/go7007-driver.c +5 -3
index 6650eab913d81..3c66542ce284a 100644

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

drivers/media/usb/go7007/go7007-usb.c +3 -1
index eeb85981e02b6..762c13e49bfa5 100644

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

drivers/media/usb/pvrusb2/pvrusb2-context.c +5 -5
index 1764674de98bc..73c95ba2328a4 100644

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

drivers/media/usb/pvrusb2/pvrusb2-dvb.c +4 -2
index 6954584526a32..1b768e7466721 100644

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

drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +4 -7
index 9657c18833116..29f2e767f236f 100644

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

drivers/media/v4l2-core/v4l2-mem2mem.c +8 -2
index 8aeed39c415f2..5677bccd583e9 100644

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

drivers/mfd/altera-sysmgr.c +3 -1
index 5d3715a28b28e..dbe1009943718 100644

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

drivers/mfd/syscon.c +3 -1
index 552b1861adad4..75c732ee9ed6e 100644

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

drivers/mmc/host/wmt-sdmmc.c +0 -4
index 3933195488575..3fcc81e48ad66 100644

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

drivers/mtd/maps/physmap-core.c +1 -1
index 9ab795f03c546..e5552093585e2 100644

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

drivers/mtd/nand/raw/lpc32xx_mlc.c +3 -2
index 452ecaf7775ac..1cfe3dd0bad4d 100644

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

drivers/net/dsa/mt7530.c +51 -6

57 lines not on this page · raw message

drivers/net/dsa/mt7530.h +27 -0
index 91508e2feef95..03598f9ae288c 100644

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

drivers/net/ethernet/amazon/ena/ena_netdev.c +0 -17
index 7d4b862be783d..43c099141e211 100644

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

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h +3 -3
index d8b1824c334d3..0bc1367fd6492 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +4 -1
index 12274c2b9feab..598da1be22ebe 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c +1 -1
index befa9bcc2f2f2..dd0750f6daa6c 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +55 -57

112 lines not on this page · raw message

drivers/net/ethernet/marvell/octeontx2/af/cgx.c +1 -1
index 1a269a2e61fdb..3ade1a6e2f1e0 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu.c +14 -3
index f64509b1d120c..bac42e0065c6c 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +24 -14
index 139dfdb1e58bd..711acc6059a4f 100644

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

drivers/net/ethernet/mediatek/mtk_ppe.c +11 -7
index 66298e2235c91..5e7b66846791d 100644

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

drivers/net/ethernet/netronome/nfp/flower/lag_conf.c +5 -0
index 63907aeb3884e..3167f9675ae0f 100644

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

drivers/net/phy/dp83822.c +24 -14
index f070aa97c77b4..57411ee1d8374 100644

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

drivers/net/phy/phy_device.c +3 -3
index 0429825a7179d..523436690adef 100644

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

drivers/net/usb/sr9800.c +3 -1
index 576401c8b1bee..79358369c4565 100644

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

drivers/net/veth.c +0 -18
index 0102f86d48676..cfacf8965bc59 100644

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

drivers/net/wireguard/receive.c +3 -3
index d38b24339a1f9..ed274e9bdf3ce 100644

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

drivers/net/wireless/ath/ath10k/core.c +0 -3
index 58e86e662ab83..eca24a61165ee 100644

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

drivers/net/wireless/ath/ath10k/sdio.c +0 -1
index eb705214f3f0a..63e1c2d783c5f 100644

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

drivers/net/wireless/ath/ath10k/wmi-tlv.c +4 -0
index 7efbe03fbca82..d5dafbecc1845 100644

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

drivers/net/wireless/ath/ath9k/htc.h +1 -1
index 237f4ec2cffd7..6c33e898b3000 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_init.c +4 -0
index 96a3185a96d75..b014185373f34 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +0 -4
index d6a3f001dacb9..2fdd27885f543 100644

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

drivers/net/wireless/ath/ath9k/wmi.c +6 -4
index 1476b42b52a91..805ad31edba2b 100644

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

drivers/net/wireless/broadcom/b43/b43.h +16 -0
index 67b4bac048e58..c0d8fc0b22fb2 100644

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

drivers/net/wireless/broadcom/b43/dma.c +2 -2
index 9a7c62bd5e431..cfaf2f9d67b22 100644

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

drivers/net/wireless/broadcom/b43/main.c +9 -7
index 17bcec5f3ff75..e6e4a18d817a0 100644

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

drivers/net/wireless/broadcom/b43/pio.c +3 -3
index 8c28a9250cd19..cc19b589fa70d 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c +2 -1
index ccc621b8ed9f2..4a1fe982a948e 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c +2 -3
index a0de5db0cd646..b723817915365 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h +1 -1
index dd8774717adee..27d0934e600ed 100644

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

drivers/net/wireless/intel/iwlegacy/3945-mac.c +0 -1
index 04c149ff745e9..dea0012fcdc79 100644

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

drivers/net/wireless/intel/iwlegacy/4965-mac.c +0 -1
index ff04282e3db03..ceab7704897de 100644

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

drivers/net/wireless/intel/iwlwifi/dvm/main.c +0 -1
index cc7b69fd14d37..69d1aae96bbb4 100644

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

drivers/net/wireless/intel/iwlwifi/fw/acpi.c +1 -1
index f0e0d4ccbc091..0b1c6bf729c3e 100644

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

drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +6 -0
index 8a610c518082a..fe3239c4607e3 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/d3.c +1 -3
index 27756e47f7caf..c4c62bcbe67de 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +15 -11
index 2e3eb7402197f..e1d0c79212311 100644

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

drivers/net/wireless/marvell/libertas/cmd.c +11 -2
index a4d9dd73b2588..db9a852fa58a3 100644

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

drivers/net/wireless/marvell/mwifiex/cfg80211.c +0 -2
index 109b1bef4c707..017d9e03d652d 100644

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

drivers/net/wireless/marvell/mwifiex/debugfs.c +0 -3
index 1e7dc724c6a94..d48a3e0b36060 100644

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

drivers/net/wireless/marvell/mwifiex/main.c +0 -2
index 17399d4aa1290..7943fd3b3058d 100644

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

drivers/net/wireless/microchip/wilc1000/cfg80211.c +0 -1
index 1688144d78475..0f48204e6e0e4 100644

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

drivers/net/wireless/microchip/wilc1000/hif.c +26 -14
index a7bca0475e1ee..fe95a6201a679 100644

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

drivers/net/wireless/microchip/wilc1000/netdev.c +7 -22
index 5e3ec20e24dad..0cf9e123d8c7d 100644

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

drivers/net/wireless/quantenna/qtnfmac/core.c +0 -2
index b4dd60b2ebc90..01725237836e8 100644

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

drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c +0 -2
index 5d93c874d6669..9ad4c120fa287 100644

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

drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +1 -0
index 30d9a195c6fb5..3536b9f8470f4 100644

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

drivers/net/wireless/realtek/rtlwifi/pci.c +0 -1
index 679ae786cf450..6d9f2a6233a21 100644

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

drivers/net/wireless/realtek/rtw88/rtw8821c.c +1 -1
index 280602a34fe67..eb66f494382ae 100644

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

drivers/net/wireless/rndis_wlan.c +0 -2
index 70841d131d724..c35e9f5c2897e 100644

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

drivers/net/wireless/st/cw1200/bh.c +0 -2
index 8bade5d89f12f..10e019cddcc65 100644

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

drivers/ntb/core.c +7 -1
index 27dd93deff6e5..d702bee780826 100644

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

drivers/opp/debugfs.c +4 -2
index 9eb71f47487b2..1c9d039edb26b 100644

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

drivers/pci/endpoint/functions/Kconfig +11 -0
index 5f1242ca2f4e4..65217428d17b9 100644

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

drivers/pci/endpoint/functions/Makefile +1 -0
index 96ab932a537a2..5c13001deaba1 100644

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

drivers/pci/endpoint/functions/pci-epf-vntb.c new file +1421 -0

1,421 lines not on this page · raw message

drivers/pci/p2pdma.c +1 -1
index 316fd2f44df45..57654c82b08e8 100644

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

drivers/pci/pci.h +0 -5
index 2b5337980da7d..ec968b14aa2a2 100644

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

drivers/pci/pcie/dpc.c +1 -1
index f21d64ae4ffcc..cf0d4ba2e157a 100644

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

drivers/pci/quirks.c +1 -0
index fcdc17bbcc8ee..1b6484c906094 100644

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

drivers/pci/switch/switchtec.c +3 -1
index 2a026183f06b3..bc14386ba440c 100644

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

drivers/pinctrl/mediatek/pinctrl-mt8192.c +0 -1
index 0c16b2c756bf3..f3020e3c8533b 100644

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

drivers/pwm/pwm-atmel-hlcdc.c +35 -36

71 lines not on this page · raw message

drivers/pwm/pwm-sti.c +36 -4
index f8a3f30e54dd5..0a7920cbd4949 100644

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

drivers/remoteproc/Kconfig +1 -1
index 9a6eedc3994a5..d89460429257e 100644

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

drivers/remoteproc/stm32_rproc.c +12 -12
index aba3df1d1bf52..9a29285246f4b 100644

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

drivers/rtc/Kconfig +2 -1
index e1bc5214494e2..ee59c82f9df18 100644

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

drivers/rtc/lib_test.c +1 -1
index d5caf36c56cdc..225c859d6da55 100644

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

drivers/s390/block/dasd.c +66 -45

111 lines not on this page · raw message

drivers/s390/block/dasd_devmap.c +559 -7

566 lines not on this page · raw message

drivers/s390/block/dasd_eckd.c +131 -23

154 lines not on this page · raw message

drivers/s390/block/dasd_eckd.h +7 -1
index 65e4630ad2aea..4b869c2bd5195 100644

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

drivers/s390/block/dasd_eer.c +1 -0
index 5ae64af9ccea3..22338033e6bfb 100644

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

drivers/s390/block/dasd_int.h +54 -0

54 lines not on this page · raw message

drivers/scsi/bfa/bfa.h +8 -1
index 7bd2ba1ad4d11..f30fe324e6ecc 100644

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

drivers/scsi/bfa/bfa_core.c +1 -3
index 6846ca8f7313c..3438d0b8ba062 100644

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

drivers/scsi/bfa/bfa_ioc.h +6 -2
index 933a1c3890ff5..5e568d6d7b261 100644

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

drivers/scsi/bfa/bfad_bsg.c +4 -7
index be8dfbe13e904..524e4e6979c9f 100644

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

drivers/scsi/csiostor/csio_defs.h +16 -2
index c38017b4af982..e50e93e7fe5a1 100644

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

drivers/scsi/csiostor/csio_lnode.c +4 -4
index d5ac938970232..5b3ffefae476d 100644

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

drivers/scsi/csiostor/csio_lnode.h +0 -13
index 372a67d122d38..607698a0f0631 100644

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

drivers/scsi/mpt3sas/mpt3sas_base.c +3 -1
index e524e1fc53fa3..8325875bfc4ed 100644

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

drivers/soc/fsl/dpio/dpio-service.c +1 -1
index 779c319a4b820..6cdd2c517ba68 100644

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

drivers/spi/spi-mt65xx.c +12 -10
index 49acba1dea1e7..30aac6f093b21 100644

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

drivers/staging/greybus/light.c +4 -4
index 87d36948c6106..c6bd86a5335ab 100644

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

drivers/staging/media/imx/imx-media-csc-scaler.c +1 -0
index eb6da9b9d8ba8..c29a950639e46 100644

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

drivers/tty/serial/8250/8250_exar.c +1 -4
index ada9666f59889..48769e059772a 100644

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

drivers/tty/serial/max310x.c +1 -1
index c122e7e90fc89..714c23f9504fc 100644

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

drivers/tty/serial/samsung_tty.c +2 -3
index 09b2b40b63c4d..7d3630ddebb39 100644

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

drivers/tty/vt/vt.c +1 -1
index b8f5bc19416d9..442579f087c7c 100644

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

drivers/usb/gadget/udc/net2272.c +1 -1
index 7c38057dcb4ab..e5402e05e7393 100644

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

drivers/vdpa/mlx5/net/mlx5_vnet.c +9 -4
index 46c72e6d3a29b..d9e4a949129a0 100644

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

drivers/video/backlight/da9052_bl.c +1 -0
index 882359dd288c0..aa00379392a0f 100644

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

drivers/video/backlight/lm3630a_bl.c +5 -10
index e8b185bb6f5ee..a15102bf21365 100644

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

drivers/video/backlight/lm3639_bl.c +1 -0
index 48c04155a5f9d..bb617f4673e94 100644

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

drivers/video/backlight/lp8788_bl.c +1 -0
index ba42f3fe0c739..d9b95dbd40d30 100644

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

drivers/watchdog/stm32_iwdg.c +3 -0
index a3436c296c97b..8a7b1279a3130 100644

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

fs/afs/dir.c +0 -10
index c4e22e9f7a666..cec18f9f8bd7a 100644

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

fs/f2fs/checkpoint.c +3 -3
index d6ae6de35af20..7d3e7418d8fd5 100644

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

fs/f2fs/compress.c +22 -14
index 7b4479d5b5315..88799c6ebd7de 100644

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

fs/f2fs/data.c +62 -10

72 lines not on this page · raw message

fs/f2fs/f2fs.h +37 -11

48 lines not on this page · raw message

fs/f2fs/file.c +19 -9
index 489854d841e75..378ab6bd1b8d8 100644

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

fs/f2fs/gc.c +4 -4
index 2c13f308c74e3..9a57754e6e0c1 100644

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

fs/f2fs/node.c +1 -1
index 195658263f0a4..dc85dd55314cc 100644

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

fs/f2fs/segment.c +37 -22

59 lines not on this page · raw message

fs/f2fs/super.c +9 -4
index d4a76c2deb806..df1e5496352c2 100644

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

fs/fhandle.c +1 -1
index 6630c69c23a2a..55e5ffacc0e40 100644

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

fs/nfs/nfs42.h +5 -2
index 0fe5aacbcfdf1..e7192d0eea3de 100644

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

fs/nfs/nfs4proc.c +10 -6
index a865b384f0fc0..925ad7dbe6a0d 100644

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

fs/nfs/nfsroot.c +2 -2
index fa148308822cc..c2cf4ff628811 100644

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

fs/quota/dquot.c +101 -125

226 lines not on this page · raw message

fs/select.c +1 -1
index 5edffee1162c2..668a5200503ae 100644

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

include/drm/drm_fixed.h +1 -1
index 553210c02ee0f..627efa56e59fb 100644

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

include/drm/ttm/ttm_resource.h +3 -0
index 140b6b9a8bbe6..dd6929f0c4f6d 100644

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

include/linux/bpf.h +6 -1
index 97d94bcba1314..df15d4d445ddc 100644

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

include/linux/filter.h +13 -11
index a9956b681f090..ddaeb2afc022f 100644

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

include/linux/igmp.h +2 -2
index 93c262ecbdc92..78890143f0790 100644

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

include/linux/io_uring.h +5 -5
index 649a4d7c241bc..55d09f594cd14 100644

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

include/linux/mlx5/qp.h +4 -1
index 61e48d459b23c..693d758f2f1c9 100644

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

include/linux/moduleloader.h +8 -0
index 1322652a9d0d9..7dc186ec52a29 100644

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

include/linux/mroute.h +3 -3
index 6cbbfe94348ce..80b8400ab8b24 100644

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

include/linux/pci.h +5 -0
index 99dfb8c1993a6..08d26b58f95ca 100644

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

include/linux/poll.h +0 -4
index 1cdc32b1f1b08..7e0fdcf905d2e 100644

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

include/linux/rcupdate.h +43 -0

43 lines not on this page · raw message

include/linux/sockptr.h +5 -0
index ea193414298b7..38862819e77a1 100644

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

include/trace/events/f2fs.h +16 -5
index 6033eaddcb749..8670adaa23f91 100644

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

init/main.c +3 -2
index 5c81d7fb2fe9c..f27e8510b1554 100644

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

io_uring/io_uring.c +10 -224

234 lines not on this page · raw message

kernel/bpf/cpumap.c +3 -0
index f7de5b313cc5b..a8429cfb4ae8c 100644

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

kernel/bpf/devmap.c +6 -5
index f02d04540c0c0..b591073c5f83d 100644

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

kernel/bpf/hashtab.c +9 -5
index 28b43642c0593..f53b4f04b935c 100644

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

kernel/bpf/helpers.c +2 -2
index 870127c895c49..273f2f0deb239 100644

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

kernel/bpf/map_in_map.c +8 -3
index af0f15db1bf9a..4cf79f86bf458 100644

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

kernel/bpf/stackmap.c +6 -3
index f8587abef73c1..e04571c1833f6 100644

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

kernel/bpf/syscall.c +24 -2
index 64206856a05c4..d4b4a47081b51 100644

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

kernel/module.c +17 -3
index ba9f2bb57889c..4d49c32af570c 100644

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

kernel/rcu/tasks.h +2 -0
index 28f628c702452..b24ef77325eed 100644

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

kernel/sched/fair.c +2 -2
index b55d51b4105cd..4a1393405a6fe 100644

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

kernel/time/time_test.c +1 -1
index 831e8e779acef..f7c3de01197c9 100644

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

kernel/time/timekeeping.c +12 -12
index d921c1b256cf5..dfa6649c490de 100644

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

lib/cmdline_kunit.c +1 -1
index a72a2c16066ef..de7fb7476cb9a 100644

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

lib/test_blackhole_dev.c +1 -2
index 4c40580a99a36..f247089d63c08 100644

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

net/bluetooth/hci_core.c +1 -1
index a8854b24f4cfb..8a3c867bdff03 100644

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

net/bluetooth/hci_event.c +0 -2
index ba7242729a8fb..0be37a5c1c0c2 100644

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

net/bluetooth/rfcomm/core.c +1 -1
index 8d6fce9005bdd..4f54c7df3a94f 100644

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

net/core/dev.c +4 -1
index af77dc77eb9c8..f80bc2ca888aa 100644

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

net/core/filter.c +2 -3
index f0a3cdc4d4961..457d1a164ad5d 100644

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

net/core/scm.c +1 -1
index e762a4b8a1d22..a877c4ef4c256 100644

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

net/core/sock.c +31 -20

51 lines not on this page · raw message

net/core/sock_diag.c +5 -5
index c9c45b935f990..bce65b519ee80 100644

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

net/hsr/hsr_framereg.c +4 -0
index 8c9a20e99f0f4..e0aeeeda3c876 100644

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

net/hsr/hsr_main.c +11 -4
index b099c31501509..257b50124cee5 100644

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

net/ipv4/igmp.c +13 -9
index 88e780a168652..d2d0fb6dcff78 100644

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

net/ipv4/inet_diag.c +3 -3
index 09cabed358fd0..3aeba9e2b22cd 100644

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

net/ipv4/ip_sockglue.c +45 -35

80 lines not on this page · raw message

net/ipv4/ip_tunnel.c +14 -1
index 96b7cd3049a33..db6d3d5c474c6 100644

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

net/ipv4/ipmr.c +8 -5
index aea29d97f8dfa..c9a633559258c 100644

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

net/ipv4/tcp.c +2 -2
index 626cef75afe7a..521c15962c719 100644

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

net/ipv4/udp.c +2 -2
index c454daa78a2f8..2caf54c241037 100644

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

net/ipv6/fib6_rules.c +6 -0
index dcedfe29d9d93..8e9e80eb0f329 100644

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

net/ipv6/mcast.c +0 -1
index 0ea7d97cdc025..6e5d1ade48a89 100644

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

net/iucv/iucv.c +2 -2
index 8efc369934fc7..68edefed79f16 100644

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

net/kcm/kcmsock.c +2 -1
index 0d1ab4149553c..5457ca1909801 100644

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

net/l2tp/l2tp_ppp.c +2 -2
index 9cef8e080f644..55de42b000d8a 100644

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

net/netfilter/nf_tables_api.c +1 -1
index a5e1468cac5ed..42bf83a20cb52 100644

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

net/netfilter/nft_set_pipapo.c +1 -4
index e1969209b3abb..58eca26162735 100644

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

net/packet/af_packet.c +2 -2
index 75fb80717e489..cffa217fb3063 100644

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

net/rds/send.c +2 -3
index d6462d1471c14..85c27d9aa33a3 100644

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

net/sunrpc/addr.c +2 -2
index d435bffc61999..97ff11973c493 100644

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

net/sunrpc/auth_gss/gss_rpc_xdr.c +19 -8
index d79f12c2550ac..cb32ab9a83952 100644

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

net/unix/garbage.c +1 -1
index ab2c83d58b62a..9bfffe2a7f020 100644

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

net/unix/scm.c +1 -3
index e8e2a00bb0f58..d1048b4c2baaf 100644

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

net/x25/af_x25.c +2 -2
index 07f6206e7cb47..1e5152fdee589 100644

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

scripts/clang-tools/gen_compile_commands.py +1 -1
index 1d1bde1fd45eb..3ac949b64b309 100755

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

scripts/kconfig/lexer.l +5 -2
index 312cbad2d34d4..2a76393d52b5b 100644

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

sound/core/seq/seq_midi.c +7 -1
index 4589aac091542..b00bbf18a6f5d 100644

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

sound/core/seq/seq_virmidi.c +8 -1
index 4abc38c70cae2..339799bfaad9d 100644

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

sound/pci/hda/patch_realtek.c +64 -0

64 lines not on this page · raw message

sound/soc/codecs/rt5645.c +10 -0
index f903bee194d5c..2cc3d814bab41 100644

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

sound/soc/codecs/wm8962.c +19 -10
index 779f7097d336c..b5a35999d8dfa 100644

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

sound/soc/intel/boards/bytcr_rt5640.c +12 -0
index 49dfbd29c5451..434679afa7e1a 100644

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

sound/soc/meson/aiu.c +12 -37

49 lines not on this page · raw message

sound/soc/meson/aiu.h +0 -1
index 393b6c2307e49..0f94c8bf60818 100644

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

sound/soc/meson/axg-fifo.c +4 -12
index b9af2d513e096..bccfb770b3391 100644

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

sound/soc/meson/axg-pdm.c +6 -19
index bfd37d49a73ef..672e43a9729dc 100644

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

sound/soc/meson/axg-spdifin.c +4 -13
index 7aaded1fc376b..245189d2ee95f 100644

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

sound/soc/meson/axg-spdifout.c +4 -13
index e769a5ee6e27e..3960d082e1436 100644

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

sound/soc/meson/axg-tdm-formatter.c +13 -37

50 lines not on this page · raw message

sound/soc/meson/axg-tdm-interface.c +27 -27

54 lines not on this page · raw message

sound/soc/meson/meson-card-utils.c +3 -5
index 415cc0046e4b4..23ccd2a720e19 100644

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

sound/soc/meson/t9015.c +6 -24
index 4c1349dd1e06a..0571549a88206 100644

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

sound/usb/stream.c +4 -1
index 3d4add94e367d..d5409f3879455 100644

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

tools/bpf/bpftool/prog.c +1 -1
index bdd4d3b12f6c0..afb28fcc66786 100644

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

tools/perf/builtin-record.c +1 -1
index b3509d9d20cc2..b92c26f6aa1d7 100644

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

tools/perf/util/evsel.c +0 -1
index c87f9974c0c10..c19a583ca9f66 100644

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

tools/perf/util/stat-display.c +1 -1
index 24e50fabb6c33..5ed20e1e09aef 100644

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

tools/perf/util/thread_map.c +1 -1
index c9bfe4696943b..cee7fc3b5bb0c 100644

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

tools/testing/selftests/net/tls.c +4 -4
index 3bdb093731358..637f1b8ec13b4 100644

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

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

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