Skip to contentSkip to conversation

Linux 5.4.102

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Mar 4, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.102 kernel.

All users of the 5.4 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/filesystems/seq_file.txt                       |    6 
 Makefile                                                     |    2 
 arch/arm/boot/compressed/head.S                              |    4 
 arch/arm/boot/dts/armada-388-helios4.dts                     |   28 
 arch/arm/boot/dts/aspeed-g4.dtsi                             |    1 
 arch/arm/boot/dts/aspeed-g5.dtsi                             |    1 
 arch/arm/boot/dts/exynos3250-artik5.dtsi                     |    2 
 arch/arm/boot/dts/exynos3250-monk.dts                        |    2 
 arch/arm/boot/dts/exynos3250-rinato.dts                      |    2 
 arch/arm/boot/dts/exynos5250-spring.dts                      |    2 
 arch/arm/boot/dts/exynos5420-arndale-octa.dts                |    2 
 arch/arm/boot/dts/exynos5422-odroid-core.dtsi                |    2 
 arch/arm/boot/dts/omap443x.dtsi                              |    2 
 arch/arm/mach-ixp4xx/Kconfig                                 |    1 
 arch/arm64/Kconfig                                           |    2 
 arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts        |    5 
 arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi         |    1 
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi                |    6 
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi                 |    7 
 arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi        |    2 
 arch/arm64/boot/dts/exynos/exynos7-espresso.dts              |    2 
 arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts       |    2 
 arch/arm64/boot/dts/mediatek/mt7622.dtsi                     |    2 
 arch/arm64/boot/dts/qcom/msm8916.dtsi                        |    4 
 arch/arm64/crypto/aes-glue.c                                 |    4 
 arch/arm64/crypto/sha1-ce-glue.c                             |    1 
 arch/arm64/crypto/sha2-ce-glue.c                             |    2 
 arch/arm64/crypto/sha3-ce-glue.c                             |    4 
 arch/arm64/crypto/sha512-ce-glue.c                           |    2 
 arch/arm64/kernel/cpufeature.c                               |    2 
 arch/arm64/kernel/head.S                                     |    1 
 arch/arm64/kernel/machine_kexec_file.c                       |    4 
 arch/arm64/kernel/probes/uprobes.c                           |    2 
 arch/mips/include/asm/asm.h                                  |   18 
 arch/mips/kernel/vmlinux.lds.S                               |    2 
 arch/mips/lantiq/irq.c                                       |    2 
 arch/mips/mm/c-r4k.c                                         |    2 
 arch/powerpc/Kconfig                                         |    2 
 arch/powerpc/kernel/entry_32.S                               |    3 
 arch/powerpc/kernel/head_8xx.S                               |    2 
 arch/powerpc/kernel/prom_init.c                              |   12 
 arch/powerpc/kvm/powerpc.c                                   |    8 
 arch/powerpc/platforms/pseries/dlpar.c                       |    7 
 arch/s390/kernel/vtime.c                                     |    3 
 arch/sparc/Kconfig                                           |    2 
 arch/sparc/lib/memset.S                                      |    1 
 arch/um/kernel/tlb.c                                         |   12 
 arch/x86/crypto/aesni-intel_glue.c                           |   28 
 arch/x86/include/asm/virtext.h                               |   17 
 arch/x86/kernel/reboot.c                                     |   29 
 arch/x86/kvm/svm.c                                           |    2 
 arch/x86/kvm/vmx/vmx.c                                       |    2 
 arch/x86/kvm/x86.c                                           |   38 
 arch/x86/kvm/x86.h                                           |    2 
 arch/x86/mm/pat.c                                            |    3 
 block/bfq-iosched.c                                          |    1 
 block/blk-settings.c                                         |   12 
 block/bsg.c                                                  |    4 
 certs/blacklist.c                                            |    2 
 crypto/ecdh_helper.c                                         |    3 
 drivers/acpi/acpi_configfs.c                                 |    7 
 drivers/acpi/property.c                                      |   44 
 drivers/amba/bus.c                                           |   20 
 drivers/ata/ahci_brcm.c                                      |   14 
 drivers/auxdisplay/ht16k33.c                                 |    3 
 drivers/base/regmap/regmap-sdw.c                             |    4 
 drivers/base/swnode.c                                        |    8 
 drivers/block/floppy.c                                       |   27 
 drivers/bluetooth/btqcomsmd.c                                |   27 
 drivers/bluetooth/btusb.c                                    |   20 
 drivers/bluetooth/hci_ldisc.c                                |    7 
 drivers/bluetooth/hci_serdev.c                               |    4 
 drivers/char/hw_random/timeriomem-rng.c                      |    2 
 drivers/char/random.c                                        |    2 
 drivers/char/tpm/tpm_tis_core.c                              |   50 
 drivers/clk/clk-ast2600.c                                    |   37 
 drivers/clk/meson/clk-pll.c                                  |   10 
 drivers/clk/qcom/gcc-msm8998.c                               |  100 -
 drivers/clk/sunxi-ng/ccu-sun50i-h6.c                         |   10 
 drivers/clocksource/Kconfig                                  |    1 
 drivers/clocksource/mxs_timer.c                              |    5 
 drivers/cpufreq/brcmstb-avs-cpufreq.c                        |   24 
 drivers/cpufreq/intel_pstate.c                               |    5 
 drivers/crypto/bcm/cipher.c                                  |    2 
 drivers/crypto/bcm/cipher.h                                  |    4 
 drivers/crypto/bcm/util.c                                    |    2 
 drivers/crypto/chelsio/chtls/chtls_cm.h                      |    3 
 drivers/crypto/sunxi-ss/sun4i-ss-cipher.c                    |  139 +-
 drivers/crypto/sunxi-ss/sun4i-ss.h                           |    2 
 drivers/crypto/talitos.c                                     |   28 
 drivers/crypto/talitos.h                                     |    1 
 drivers/dma/fsldma.c                                         |    6 
 drivers/dma/hsu/pci.c                                        |   21 
 drivers/dma/owl-dma.c                                        |    1 
 drivers/gpio/gpio-pcf857x.c                                  |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c                       |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h                    |    2 
 drivers/gpu/drm/amd/amdgpu/soc15.c                           |    2 
 drivers/gpu/drm/amd/display/dc/bios/command_table.c          |   61 
 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c        |   14 
 drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c      |    1 
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c           |    8 
 drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c |   22 
 drivers/gpu/drm/drm_fb_helper.c                              |   15 
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c                   |   22 
 drivers/gpu/drm/gma500/psb_drv.c                             |    2 
 drivers/gpu/drm/i915/display/intel_hdmi.c                    |    6 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c                    |    2 
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c                   |    2 
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h      |    1 
 drivers/gpu/drm/nouveau/nouveau_chan.c                       |    1 
 drivers/gpu/drm/nouveau/nouveau_connector.c                  |    1 
 drivers/gpu/drm/scheduler/sched_main.c                       |    3 
 drivers/gpu/drm/sun4i/sun4i_tcon.c                           |   21 
 drivers/gpu/drm/sun4i/sun4i_tcon.h                           |    1 
 drivers/hid/hid-core.c                                       |    3 
 drivers/hid/hid-logitech-dj.c                                |    1 
 drivers/hid/wacom_wac.c                                      |    7 
 drivers/hsi/controllers/omap_ssi_core.c                      |    2 
 drivers/hv/channel_mgmt.c                                    |    3 
 drivers/i2c/busses/i2c-bcm-iproc.c                           |  231 ++-
 drivers/i2c/busses/i2c-brcmstb.c                             |    2 
 drivers/i2c/busses/i2c-qcom-geni.c                           |   59 
 drivers/infiniband/core/cm.c                                 |    8 
 drivers/infiniband/core/user_mad.c                           |   17 
 drivers/infiniband/hw/hns/hns_roce_device.h                  |    2 
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c                   |    7 
 drivers/infiniband/hw/hns/hns_roce_main.c                    |    3 
 drivers/infiniband/hw/mlx5/devx.c                            |    4 
 drivers/infiniband/hw/mlx5/main.c                            |    3 
 drivers/infiniband/sw/rxe/rxe_net.c                          |    5 
 drivers/infiniband/sw/rxe/rxe_recv.c                         |   27 
 drivers/infiniband/sw/siw/siw.h                              |    2 
 drivers/infiniband/sw/siw/siw_main.c                         |    2 
 drivers/infiniband/sw/siw/siw_qp.c                           |  271 ++-
 drivers/infiniband/sw/siw/siw_qp_rx.c                        |   26 
 drivers/infiniband/sw/siw/siw_qp_tx.c                        |    4 
 drivers/infiniband/sw/siw/siw_verbs.c                        |   20 
 drivers/input/joydev.c                                       |    7 
 drivers/input/joystick/xpad.c                                |    1 
 drivers/input/serio/i8042-x86ia64io.h                        |    4 
 drivers/input/touchscreen/elo.c                              |    4 
 drivers/input/touchscreen/raydium_i2c_ts.c                   |    3 
 drivers/input/touchscreen/sur40.c                            |    1 
 drivers/md/bcache/bcache.h                                   |    3 
 drivers/md/bcache/btree.c                                    |   21 
 drivers/md/bcache/journal.c                                  |    4 
 drivers/md/bcache/super.c                                    |   20 
 drivers/md/dm-core.h                                         |    4 
 drivers/md/dm-crypt.c                                        |    1 
 drivers/md/dm-era-target.c                                   |   93 -
 drivers/md/dm-writecache.c                                   |   18 
 drivers/md/dm.c                                              |   60 
 drivers/media/i2c/ov5670.c                                   |    3 
 drivers/media/pci/cx25821/cx25821-core.c                     |    4 
 drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |    2 
 drivers/media/pci/saa7134/saa7134-empress.c                  |    5 
 drivers/media/pci/smipcie/smipcie-ir.c                       |   46 
 drivers/media/platform/aspeed-video.c                        |    6 
 drivers/media/platform/pxa_camera.c                          |    3 
 drivers/media/platform/qcom/camss/camss-video.c              |    1 
 drivers/media/platform/vsp1/vsp1_drv.c                       |    4 
 drivers/media/rc/mceusb.c                                    |    2 
 drivers/media/tuners/qm1d1c0042.c                            |    4 
 drivers/media/usb/dvb-usb-v2/lmedm04.c                       |    2 
 drivers/media/usb/em28xx/em28xx-core.c                       |    6 
 drivers/media/usb/tm6000/tm6000-dvb.c                        |    4 
 drivers/media/usb/uvc/uvc_v4l2.c                             |   18 
 drivers/memory/mtk-smi.c                                     |    4 
 drivers/memory/ti-aemif.c                                    |    8 
 drivers/mfd/bd9571mwv.c                                      |    6 
 drivers/mfd/wm831x-auxadc.c                                  |    3 
 drivers/misc/cardreader/rts5227.c                            |    5 
 drivers/misc/eeprom/eeprom_93xx46.c                          |    1 
 drivers/misc/mei/hbm.c                                       |    2 
 drivers/misc/vmw_vmci/vmci_queue_pair.c                      |    5 
 drivers/mmc/host/renesas_sdhi_internal_dmac.c                |    4 
 drivers/mmc/host/sdhci-esdhc-imx.c                           |    3 
 drivers/mmc/host/sdhci-sprd.c                                |    6 
 drivers/mmc/host/usdhi6rol0.c                                |    4 
 drivers/mtd/parsers/afs.c                                    |    4 
 drivers/mtd/parsers/parser_imagetag.c                        |    4 
 drivers/mtd/spi-nor/cadence-quadspi.c                        |    2 
 drivers/mtd/spi-nor/hisi-sfc.c                               |    4 
 drivers/mtd/spi-nor/spi-nor.c                                |   15 
 drivers/net/ethernet/amd/xgbe/xgbe-common.h                  |   14 
 drivers/net/ethernet/amd/xgbe/xgbe-drv.c                     |    1 
 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c                    |    3 
 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c                  |   39 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                    |    3 
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h               |    3 
 drivers/net/ethernet/chelsio/cxgb4/sge.c                     |   11 
 drivers/net/ethernet/ibm/ibmvnic.c                           |   16 
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c               |   16 
 drivers/net/ethernet/intel/i40e/i40e_main.c                  |   50 
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                  |    9 
 drivers/net/ethernet/marvell/mvneta.c                        |    9 
 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c        |    1 
 drivers/net/ethernet/realtek/r8169_main.c                    |    4 
 drivers/net/ethernet/sun/sunvnet_common.c                    |   23 
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c            |   26 
 drivers/net/gtp.c                                            |    5 
 drivers/net/vxlan.c                                          |   11 
 drivers/net/wireless/ath/ath10k/snoc.c                       |    5 
 drivers/net/wireless/ath/ath9k/debug.c                       |    5 
 drivers/net/wireless/broadcom/b43/phy_n.c                    |    2 
 drivers/net/xen-netback/interface.c                          |    8 
 drivers/nvmem/core.c                                         |    5 
 drivers/of/fdt.c                                             |   12 
 drivers/pci/controller/dwc/pcie-qcom.c                       |    4 
 drivers/pci/setup-res.c                                      |    6 
 drivers/pci/syscall.c                                        |   10 
 drivers/phy/rockchip/phy-rockchip-emmc.c                     |    8 
 drivers/power/reset/at91-sama5d2_shdwc.c                     |    2 
 drivers/pwm/pwm-rockchip.c                                   |    1 
 drivers/regulator/axp20x-regulator.c                         |    7 
 drivers/regulator/core.c                                     |    6 
 drivers/regulator/qcom-rpmh-regulator.c                      |    2 
 drivers/regulator/s5m8767.c                                  |   15 
 drivers/rtc/Kconfig                                          |    1 
 drivers/s390/virtio/virtio_ccw.c                             |    4 
 drivers/scsi/bnx2fc/Kconfig                                  |    1 
 drivers/soc/aspeed/aspeed-lpc-snoop.c                        |   30 
 drivers/soundwire/cadence_master.c                           |    8 
 drivers/spi/spi-atmel.c                                      |    2 
 drivers/spi/spi-pxa2xx-pci.c                                 |   27 
 drivers/spi/spi-s3c24xx-fiq.S                                |    9 
 drivers/spi/spi-stm32.c                                      |    4 
 drivers/spi/spi-synquacer.c                                  |    4 
 drivers/spmi/spmi-pmic-arb.c                                 |    5 
 drivers/staging/gdm724x/gdm_usb.c                            |   10 
 drivers/staging/media/imx/imx-media-csc-scaler.c             |    4 
 drivers/staging/media/imx/imx-media-dev.c                    |    7 
 drivers/staging/mt7621-dma/Makefile                          |    2 
 drivers/staging/mt7621-dma/hsdma-mt7621.c                    |  762 +++++++++++
 drivers/staging/mt7621-dma/mtk-hsdma.c                       |  762 -----------
 drivers/staging/rtl8188eu/os_dep/usb_intf.c                  |    1 
 drivers/staging/rtl8723bs/os_dep/wifi_regd.c                 |    2 
 drivers/target/iscsi/cxgbit/cxgbit_target.c                  |    3 
 drivers/usb/dwc2/hcd.c                                       |   15 
 drivers/usb/dwc2/hcd_intr.c                                  |   14 
 drivers/usb/dwc3/gadget.c                                    |   19 
 drivers/usb/gadget/function/u_audio.c                        |   17 
 drivers/usb/musb/musb_core.c                                 |   31 
 drivers/usb/serial/ftdi_sio.c                                |    5 
 drivers/usb/serial/mos7720.c                                 |    4 
 drivers/usb/serial/mos7840.c                                 |    4 
 drivers/usb/serial/option.c                                  |    3 
 drivers/vfio/vfio_iommu_type1.c                              |   46 
 drivers/video/fbdev/Kconfig                                  |    2 
 drivers/virt/vboxguest/vboxguest_utils.c                     |   18 
 drivers/watchdog/mei_wdt.c                                   |    1 
 drivers/watchdog/qcom-wdt.c                                  |   13 
 fs/affs/namei.c                                              |    4 
 fs/btrfs/block-group.c                                       |   19 
 fs/btrfs/ctree.c                                             |    7 
 fs/btrfs/free-space-cache.c                                  |    6 
 fs/btrfs/relocation.c                                        |    4 
 fs/debugfs/inode.c                                           |    5 
 fs/erofs/xattr.c                                             |   10 
 fs/erofs/zmap.c                                              |   10 
 fs/ext4/namei.c                                              |    7 
 fs/f2fs/data.c                                               |    2 
 fs/f2fs/file.c                                               |    7 
 fs/f2fs/inline.c                                             |    4 
 fs/gfs2/bmap.c                                               |    6 
 fs/gfs2/lock_dlm.c                                           |    8 
 fs/isofs/dir.c                                               |    1 
 fs/isofs/namei.c                                             |    1 
 fs/jffs2/summary.c                                           |    3 
 fs/jfs/jfs_dmap.c                                            |    2 
 fs/nfsd/nfsctl.c                                             |   14 
 fs/ocfs2/cluster/heartbeat.c                                 |    8 
 fs/pstore/platform.c                                         |    4 
 fs/quota/quota_v2.c                                          |   11 
 fs/ubifs/auth.c                                              |    2 
 fs/ubifs/super.c                                             |    4 
 include/acpi/acexcep.h                                       |   10 
 include/asm-generic/vmlinux.lds.h                            |    7 
 include/linux/bpf.h                                          |    3 
 include/linux/device-mapper.h                                |    5 
 include/linux/filter.h                                       |    2 
 include/linux/icmpv6.h                                       |   48 
 include/linux/ipv6.h                                         |    1 
 include/linux/kexec.h                                        |    5 
 include/linux/key.h                                          |    1 
 include/linux/rcupdate.h                                     |    2 
 include/linux/rmap.h                                         |    3 
 include/net/act_api.h                                        |    1 
 include/net/icmp.h                                           |   10 
 include/net/tcp.h                                            |    9 
 kernel/bpf/bpf_lru_list.c                                    |    7 
 kernel/debug/kdb/kdb_private.h                               |    2 
 kernel/kexec_file.c                                          |    5 
 kernel/module.c                                              |   21 
 kernel/printk/printk_safe.c                                  |   16 
 kernel/rcu/tree.c                                            |    8 
 kernel/rcu/tree_plugin.h                                     |    5 
 kernel/sched/fair.c                                          |    2 
 kernel/sched/idle.c                                          |    1 
 kernel/seccomp.c                                             |    2 
 kernel/tracepoint.c                                          |   80 -
 mm/compaction.c                                              |   27 
 mm/hugetlb.c                                                 |   10 
 mm/memory.c                                                  |   16 
 net/bluetooth/a2mp.c                                         |    3 
 net/bluetooth/hci_core.c                                     |    6 
 net/core/filter.c                                            |   13 
 net/ipv4/icmp.c                                              |   34 
 net/ipv6/icmp.c                                              |   19 
 net/ipv6/ip6_icmp.c                                          |   46 
 net/mac80211/mesh_hwmp.c                                     |    2 
 net/qrtr/tun.c                                               |   12 
 net/sched/act_api.c                                          |    2 
 net/sched/cls_api.c                                          |    1 
 net/xfrm/xfrm_interface.c                                    |    6 
 security/commoncap.c                                         |   12 
 security/integrity/evm/evm_crypto.c                          |    7 
 security/integrity/ima/ima_kexec.c                           |    3 
 security/integrity/ima/ima_mok.c                             |    5 
 security/keys/key.c                                          |    2 
 security/keys/trusted.c                                      |    2 
 sound/pci/hda/hda_intel.c                                    |    2 
 sound/pci/hda/patch_realtek.c                                |   11 
 sound/soc/codecs/cpcap.c                                     |   12 
 sound/soc/codecs/cs42l56.c                                   |    3 
 sound/soc/generic/simple-card-utils.c                        |   13 
 sound/soc/sof/debug.c                                        |    2 
 sound/usb/pcm.c                                              |    2 
 tools/objtool/check.c                                        |   12 
 tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json      |    2 
 tools/perf/tests/sample-parsing.c                            |    2 
 tools/perf/util/event.c                                      |    2 
 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c          |   14 
 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h          |    1 
 tools/perf/util/intel-pt.c                                   |   16 
 tools/testing/selftests/powerpc/eeh/eeh-basic.sh             |    2 
 337 files changed, 3226 insertions(+), 1994 deletions(-)

Adrian Hunter (2):
perf intel-pt: Fix missing CYC processing in PSB perf intel-pt: Fix premature IPC

Ahmad Fatoum (1):
nvmem: core: skip child nodes not matching binding

Al Viro (1):
sparc32: fix a user-triggerable oops in clear_user()

Alain Volmat (1):
spi: stm32: properly handle 0 byte transfer

Alex Deucher (1):
drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2)

Alex Williamson (1):
vfio/type1: Use follow_pte()

Alexander Lobakin (2):
MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
MIPS: properly stop .eh_frame generation

Alexander Usyskin (2):
mei: hbm: call mei_set_devstate() on hbm stop response
watchdog: mei_wdt: request stop on unregister

Amey Narkhede (1):
staging: gdm724x: Fix DMA from stack

Andre Przywara (7):
arm64: dts: allwinner: A64: properly connect USB PHY to port 0
arm64: dts: allwinner: H6: properly connect USB PHY to port 0
arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card
arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency
arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz
clk: sunxi-ng: h6: Fix CEC clock
clk: sunxi-ng: h6: Fix clock divider range on some clocks

Andrea Parri (Microsoft) (1):
Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind()

Andreas Gruenbacher (1):
gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end

Andrey Grodzovsky (1):
drm/sched: Cancel and flush all outstanding jobs before finish.

Andrii Nakryiko (2):
bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h
bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args

Andy Shevchenko (1):
spi: pxa2xx: Fix the controller numbering for Wildcat Point

AngeloGioacchino Del Regno (1):
clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs

Ansuel Smith (1):
PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064

Ard Biesheuvel (4):
PCI: Decline to resize resources if boot config must be preserved
crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled
crypto: arm64/sha - add missing module aliases
crypto: aesni - prevent misaligned buffers on the stack

Arnaldo Carvalho de Melo (1):
perf tools: Fix DSO filtering when not finding a map for a sampled address

Arnd Bergmann (2):
ARM: s3c: fix fiq for clang IAS clocksource/drivers/ixp4xx: Select TIMER_OF when needed

Aswath Govindraju (2):
misc: eeprom_93xx46: Fix module alias to enable module autoprobe
misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users

Ayush Sawal (1):
cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds

Bard Liao (1):
regmap: sdw: use _no_pm functions in regmap_read/write

Bartosz Golaszewski (1):
rtc: s5m: select REGMAP_I2C

Bernard Metzler (1):
RDMA/siw: Fix handling of zero-sized Read and Receive Queues.

Bob Pearson (3):
RDMA/rxe: Fix coding error in rxe_recv.c RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt RDMA/rxe: Correct skb on loopback path

Bob Peterson (1):
gfs2: Don't skip dlm unlock if glock has an lvb

Chao Yu (1):
f2fs: fix out-of-repair __setattr_copy()

Chen Yu (1):
cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available

Chen-Yu Tsai (1):
staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules

Chenyang Li (1):
drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition

Chris Ruehl (1):
phy: rockchip-emmc: emmc_phy_init() always return 0

Christophe JAILLET (10):
Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function
cpufreq: brcmstb-avs-cpufreq: Free resources in error path
cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove()
media: vsp1: Fix an error handling path in the probe function
media: cx25821: Fix a bug when reallocating some dma memory
dmaengine: fsldma: Fix a resource leak in the remove function
dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function
dmaengine: owl-dma: Fix a resource leak in the remove function
mmc: sdhci-sprd: Fix some resource leaks in the remove function
mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe

Christophe Leroy (4):
crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) powerpc/47x: Disable 256k page size
powerpc/8xx: Fix software emulation interrupt
powerpc/32s: Add missing call to kuep_lock on syscall entry

Christopher William Snowhill (1):
Bluetooth: Fix initializing response id after clearing struct

Chuhong Yuan (2):
drm/fb-helper: Add missed unlocks in setcmap_legacy() net/mlx4_core: Add missed mlx4_free_cmd_mailbox()

Claire Chang (1):
Bluetooth: hci_uart: Fix a race for write_work scheduling

Claudiu Beznea (1):
power: reset: at91-sama5d2_shdwc: fix wkupdbc mask

Colin Ian King (3):
mac80211: fix potential overflow when multiplying to u32 integers
b43: N-PHY: Fix the update of coef for the PHY revision >= 3case fs/jfs: fix potential integer overflow on shift of a int

Corentin Labbe (5):
crypto: sun4i-ss - linearize buffers content must be kept
crypto: sun4i-ss - fix kmap usage
crypto: sun4i-ss - checking sg length is not sufficient
crypto: sun4i-ss - handle BigEndian for cipher
crypto: sun4i-ss - initialize need_fallback

Cornelia Huck (1):
virtio/s390: implement virtio-ccw revision 2 correctly

Cédric Le Goater (2):
KVM: PPC: Make the VMX instruction emulation routines static powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan

Dan Carpenter (13):
gma500: clean up error handling in init
media: camss: missing error code in msm_video_register()
ASoC: cs42l56: fix up error handling in probe
mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions() drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask()
mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
Input: sur40 - fix an error code in sur40_probe()
Input: elo - fix an error code in elo_connect()
nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
ocfs2: fix a use after free on error
Input: joydev - prevent potential read overflow in ioctl
USB: serial: mos7840: fix error code in mos7840_write()
USB: serial: mos7720: fix error code in mos7720_write()

Daniel Scally (1):
media: software_node: Fix refcounts in software_node_get_next_child()

Daniele Alessandrelli (1):
crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key()

David Howells (1):
certs: Fix blacklist flag type confusion

Dehe Gu (1):
f2fs: fix a wrong condition in __submit_bio

Dinghao Liu (5):
media: em28xx: Fix use-after-free in em28xx_alloc_urbs
media: media/pci: Fix memleak in empress_init
media: tm6000: Fix memleak in tm6000_start_stream
evm: Fix memleak in init_desc
ubifs: Fix memleak in ubifs_init_authentication

Edwin Peer (1):
bnxt_en: reverse order of TX disable and carrier off

Eric Biggers (1):
random: fix the RNDRESEEDCRNG ioctl

Eric Dumazet (2):
tcp: fix SO_RCVLOWAT related hangs under mem pressure
ipv6: icmp6: avoid indirect call for icmpv6_send()

Eric W. Biederman (1):
capabilities: Don't allow writing ambiguous v3 file capabilities

Ezequiel Garcia (2):
media: imx: Unregister csc/scaler only if registered
media: imx: Fix csc/scaler unregister

Fangrui Song (1):
module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols

Ferry Toth (1):
dmaengine: hsu: disable spurious interrupt

Filipe Laíns (1):
HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming

Filipe Manana (1):
btrfs: fix extent buffer leak on failure to copy root

Florian Fainelli (1):
ata: ahci_brcm: Add back regulators management

Frank Li (1):
mmc: sdhci-esdhc-imx: fix kernel panic when remove module

Frank Wunderlich (1):
dts64: mt7622: fix slow sd card access

Frantisek Hrbata (1):
drm/nouveau: bail out of nouveau_channel_new if channel init fails

Frederic Weisbecker (2):
rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers rcu/nocb: Perform deferred wake up before last idle's need_resched() check

Gao Xiang (1):
erofs: initialized fields can only be observed after bit is set

Geert Uytterhoeven (1):
auxdisplay: ht16k33: Fix refresh rate handling

Giulio Benetti (1):
drm/sun4i: tcon: fix inverted DCLK polarity

Greg Kroah-Hartman (3):
debugfs: be more robust at handling improper input in debugfs_lookup()
debugfs: do not attempt to create a new file before the filesystem is initalized Linux 5.4.102

Guenter Roeck (3):
usb: dwc2: Do not update data length if it is 0 on inbound transfers
usb: dwc2: Abort transaction after errors with unknown reason
usb: dwc2: Make "trimming xfer length" a debug message

Hans de Goede (2):
virt: vbox: Do not use wait_event_interruptible when called from kernel context
regulator: core: Avoid debugfs: Directory ... already present! error

He Zhe (1):
arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing

Heiko Carstens (1):
s390/vtime: fix inline assembly clobber list

Heiner Kallweit (2):
PCI: Align checking of syscall user config accessors
r8169: fix jumbo packet handling on RTL8168e

Hui Wang (1):
ASoC: SOF: debug: Fix a potential issue on string buffer termination

Ilya Lipnitskiy (1):

      staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c

Iskren Chernev (1):
drm/msm/mdp5: Fix wait-for-commit for cmd panels

J. Bruce Fields (1):
nfsd: register pernet ops last, unregister first

Jack Pham (1):
usb: gadget: u_audio: Free requests only after callback

Jacopo Mondi (1):
media: i2c: ov5670: Fix PIXEL_RATE minimum value

Jae Hyun Yoo (1):
soc: aspeed: snoop: Add clock control logic

James Bottomley (2):
tpm_tis: Fix check_locality for correct locality acquisition
tpm_tis: Clean up locality release

James Reynolds (1):
media: mceusb: Fix potential out-of-bounds shift

Jan Henrik Weinstock (1):
hwrng: timeriomem - Fix cooldown period calculation

Jan Kara (2):
bfq: Avoid false bfq queue merging
quota: Fix memory leak when handling corrupted quota file

Jarkko Sakkinen (1):
KEYS: trusted: Fix migratable=1 failing

Jason A. Donenfeld (6):
icmp: introduce helper for nat'd source address in network device context
icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n
gtp: use icmp_ndo_send helper
sunvnet: use icmp_ndo_send helper
xfrm: interface: use icmp_ndo_send helper
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending

Jason Gerecke (1):
HID: wacom: Ignore attempts to overwrite the touch_max value from HID

Jesper Dangaard Brouer (1):
bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx

Jialin Zhang (1):
drm/gma500: Fix error return code in psb_driver_load()

Jiri Bohac (1):
pstore: Fix typo in compression option name

Jiri Kosina (1):
floppy: reintroduce O_NDELAY fix

Jiri Olsa (1):
crypto: bcm - Rename struct device_private to bcm_device_private

Joe Perches (1):
media: lmedm04: Fix misuse of comma

Johan Hovold (1):
USB: serial: ftdi_sio: fix FTX sub-integer prescaler

Johannes Berg (1):
um: mm: check more comprehensively for stub changes

John Garry (1):
perf vendor events arm64: Fix Ampere eMag event typo

John Wang (1):
ARM: dts: aspeed: Add LCLK to lpc-snoop

Jonathan Marek (1):
regulator: qcom-rpmh: fix pm8009 ldo7

Jorgen Hansen (1):
VMCI: Use set_page_dirty_lock() when unregistering guest memory

Josef Bacik (3):
btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root
btrfs: fix reloc root leak with 0 ref reloc roots on recovery
btrfs: splice remaining dirty_bg's onto the transaction dirty bg list

Josh Poimboeuf (2):
objtool: Fix error handling for STD/CLD warnings
objtool: Fix ".cold" section suffix check for newer versions of GCC

Juergen Gross (1):
xen/netback: fix spurious event detection for common event case

Jupeng Zhong (1):
Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv

Kai Krakow (3):
Revert "bcache: Kill btree_io_wq"
bcache: Give btree_io_wq correct semantics again
bcache: Move journal work to new flush wq

Kai Vehmanen (1):
ALSA: hda: Add another CometLake-H PCI ID

Kamal Heib (1):
RDMA/siw: Fix calculation of tx_valid_cpus size

KarimAllah Ahmed (1):
fdt: Properly handle "no-map" field in the memory region

Karol Herbst (1):
drm/nouveau/kms: handle mDP connectors

Keqian Zhu (1):
vfio/iommu_type1: Fix some sanity checks in detach group

Konrad Dybcio (1):
drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY)

Krzysztof Kozlowski (9):
ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5
ARM: dts: exynos: correct PMIC interrupt trigger level on Monk
ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato
ARM: dts: exynos: correct PMIC interrupt trigger level on Spring
ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa
ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family
arm64: dts: exynos: correct PMIC interrupt trigger level on TM2
arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso
regulator: s5m8767: Drop regulators OF node reference

Lakshmi Ramasubramanian (2):
ima: Free IMA measurement buffer on error
ima: Free IMA measurement buffer after kexec syscall

Lang Cheng (1):
RDMA/hns: Fixes missing error code of CMDQ

Laurent Pinchart (1):
media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values

Lech Perczak (1):
USB: serial: option: update interface mapping for ZTE P685M

Leon Romanovsky (1):
ipv6: silence compilation warning for non-IPV6 builds

Lijun Pan (2):
ibmvnic: add memory barrier to protect long term buffer
ibmvnic: skip send_request_unmap for timeout reset

Linus Lüssing (1):
ath9k: fix data bus crash when setting nf_override via debugfs

Luo Meng (1):

      media: qm1d1c0042: fix error return code in qm1d1c0042_init()

Manivannan Sadhasivam (1):
mtd: parsers: afs: Fix freeing the part name memory in failure

Marc Zyngier (1):
arm64: Add missing ISB after invalidating TLB in __primary_switch

Marco Elver (1):
bpf_lru_list: Read double-checked variable once without lock

Marcos Paulo de Souza (1):
Input: i8042 - add ASUS Zenbook Flip to noselftest list

Marek Behún (1):
arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware

Mario Kleiner (2):
drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. drm/amd/display: Fix HDMI deep color output for DCE 6-11.

Martin Blumenstingl (3):
clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL
clk: meson: clk-pll: make "ret" a signed integer
clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate()

Martin Kaiser (1):
staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table

Masahisa Kojima (1):
spi: spi-synquacer: fix set_cs handling

Mateusz Palczewski (4):
i40e: Add zero-initialization of AQ command structures
i40e: Fix overwriting flow control settings during driver loading
i40e: Fix addition of RX filters after enabling FW LLDP agent
i40e: Fix add TC filter for IPv6

Maxim Kiselev (1):
gpio: pcf857x: Fix missing first interrupt

Maxim Levitsky (1):
kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host

Maxime Chevallier (1):
net: mvneta: Remove per-cpu queue mapping for Armada 3700

Maxime Ripard (1):
i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition

Maximilian Luz (1):
ACPICA: Fix exception code class checks

Miaohe Lin (3):
mm/memory.c: fix potential pte_unmap_unlock pte error mm/hugetlb: fix potential double free in hugetlb_register_node() error path mm/rmap: fix potential pte_unmap on an not mapped pte

Mike Kravetz (2):
hugetlb: fix update_and_free_page contig page struct assumption
hugetlb: fix copy_huge_page_from_user contig page struct assumption

Mikulas Patocka (3):
blk-settings: align max_sectors on "logical_block_size" boundary
dm: fix deadlock when swapping to encrypted device
dm writecache: fix writing beyond end of underlying device when shrinking

Muchun Song (1):
printk: fix deadlock when kernel panic

Namhyung Kim (1):
perf test: Fix unaligned access in sample parsing test

Nathan Chancellor (2):
MIPS: c-r4k: Fix section mismatch for loongson2_sc_init
MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0

Nathan Lynch (1):
powerpc/pseries/dlpar: handle ibm, configure-connector delay status

NeilBrown (2):
seq_file: document how per-entry resources are managed.
x86: fix seq_file iteration for pat/memtype.c

Nick Desaulniers (1):
vmlinux.lds.h: add DWARF v5 sections

Nicolas Boichat (1):
of/fdt: Make sure no-map does not remove already reserved regions

Nikos Tsironis (7):
dm era: Recover committed writeset after crash
dm era: Verify the data block size hasn't changed
dm era: Fix bitset memory leaks
dm era: Use correct value size in equality function of writeset tree dm era: Reinitialize bitset cache before digesting a new writeset dm era: only resize metadata in preresume
dm era: Update in-core bitset after committing the metadata

Olivier Crête (1):
Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox Series X|S

Pan Bian (10):
Bluetooth: drop HCI device reference before return
Bluetooth: Put HCI device if inquiry procedure interrupts
memory: ti-aemif: Drop child node when jumping out loop
bsg: free the request before return error code
regulator: axp20x: Fix reference cout leak
regulator: s5m8767: Fix reference count leak
spi: atmel: Put allocated master before return
isofs: release buffer head before return
mtd: spi-nor: hisi-sfc: Put child node np on error path fs/affs: release old buffer head on error path

Parav Pandit (2):
IB/mlx5: Return appropriate error code instead of ENOMEM IB/cm: Avoid a loop when device has 255 ports

Paul Cercueil (2):
usb: musb: Fix runtime PM race in musb_queue_resume_work
seccomp: Add missing return in non-void function

Pavel Machek (1):
media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt()

PeiSen Hou (1):
ALSA: hda/realtek: modify EAPD in the ALC886

Pierre-Louis Bossart (1):
soundwire: cadence: fix ACK/NAK handling

Po-Hsu Lin (1):
selftests/powerpc: Make the test check in eeh-basic.sh posix compliant

Pratyush Yadav (1):
spi: cadence-quadspi: Abort read if dummy cycles required are too many

Qais Yousef (1):
sched/eas: Don't update misfit status if the task is pinned

Qinglang Miao (1):
ACPI: configfs: add missing check after configfs_register_default_group()

Rafael J. Wysocki (1):
ACPI: property: Fix fwnode string properties matching

Rakesh Pillai (1):
ath10k: Fix error handling in case of CE pipe init failure

Randy Dunlap (4):
fbdev: aty: SPARC64 requires FB_ATY_CT
HID: core: detect and skip invalid inputs to snto32()
sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set
scsi: bnx2fc: Fix Kconfig warning & CNIC build errors

Rayagonda Kokatanur (3):
i2c: iproc: handle only slave interrupts which are enabled
i2c: iproc: update slave isr mask (ISR_MASK_SLAVE)
i2c: iproc: handle master read request

Ricky Wu (1):
misc: rtsx: init of rts522a add OCP power off when no card is present

Robert Hancock (1):
net: axienet: Handle deferred probe on clock properly

Rodrigo Siqueira (1):
drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1

Roja Rani Yarubandi (1):
i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct

Rosen Penev (2):
ARM: dts: armada388-helios4: assign pinctrl to LEDs
ARM: dts: armada388-helios4: assign pinctrl to each fan

Ryan Chen (1):
clk: aspeed: Fix APLL calculate formula from ast2600-A2

Sabyrzhan Tasbolatov (1):
drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue

Sai Prakash Ranjan (1):
watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ

Sameer Pujar (1):
ASoC: simple-card-utils: Fix device module clock

Sean Christopherson (2):
x86/virt: Eat faults on VMXOFF in reboot flows x86/reboot: Force all cpus to exit VMX root if VMX is supported

Sean Young (1):
media: smipcie: fix interrupt handling and IR timeout

Sebastian Reichel (1):
ASoC: cpcap: fix microphone timeslot mask

Shay Drory (2):
IB/umad: Return EIO in case of when device disassociated IB/umad: Return EPOLLERR in case of when device disassociated

Shyam Sundar S K (4):
net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout
net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning
net: amd-xgbe: Reset link when the link never comes back
net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP

Simon South (1):
pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare()

Slawomir Laba (1):
i40e: Fix flow for IPv6 next header (extension header)

Steven Rostedt (VMware) (1):
tracepoint: Do not fail unregistering a probe due to memory failure

Subbaraman Narayanamurthy (1):
spmi: spmi-pmic-arb: Fix hw_irq overflow

Sukadev Bhattiprolu (1):
ibmvnic: Set to CLOSED state even on error

Sumit Garg (1):
kdb: Make memory allocations more robust

Suzuki K Poulose (1):
arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55

Sylwester Dziedziuch (1):
i40e: Fix VFs not created

Taehee Yoo (1):
vxlan: move debug check after netdev unregister

Takahiro Kuwano (4):
mtd: spi-nor: sfdp: Fix last erase region marking
mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region
mtd: spi-nor: core: Fix erase type discovery for overlaid region
mtd: spi-nor: core: Add erase size check for erase command initialization

Takashi Iwai (1):
ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode

Takeshi Misawa (1):
net: qrtr: Fix memory leak in qrtr_tun_open

Takeshi Saito (1):
mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes

Theodore Ts'o (1):
ext4: fix potential htree index checksum corruption

Thinh Nguyen (2):
usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1
usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt

Tom Rix (3):
media: pxa_camera: declare variable when DEBUG is defined
jffs2: fix use after free in jffs2_sum_write_data() clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined

Tony Lindgren (1):
ARM: dts: Configure missing thermal interrupt for 4430

Uwe Kleine-König (1):
amba: Fix resource leak for drivers without .remove

Ville Syrjälä (1):

      drm/i915: Reject 446-480MHz HDMI clock on GLK

Vincent Knecht (1):
arm64: dts: msm8916: Fix reserved and rfsa nodes unit address

Vlad Buslov (1):
net: sched: fix police ext initialization

Vladimir Murzin (1):
ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores

Wang ShaoBo (1):
ubifs: Fix error return code in alloc_wbufs()

Weihang Li (1):
RDMA/hns: Fix type of sq_signal_bits

Wenpeng Liang (1):
RDMA/hns: Fixed wrong judgments in the goto branch

Wonhyuk Yang (1):
mm/compaction: fix misbehaviors of fast_find_migrateblock()

Yi Chen (1):
f2fs: fix to avoid inconsistent quota data

Yishai Hadas (1):
RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation

Yoshihiro Shimoda (1):

      mfd: bd9571mwv: Use devm_mfd_add_devices()

Zhang Changzhong (1):
media: aspeed: fix error return code in aspeed_video_setup_video()

Zhang Qilong (2):
memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops
HSI: Fix PM usage counter unbalance in ssi_hw_init

Zhihao Cheng (1):
btrfs: clarify error returns values in __load_free_space_cache

jeffrey.lin (1):
Input: raydium_ts_i2c - do not send zero length

qiuguorui1 (1):
arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() fails

author maintainer
#1 lore raw
Documentation/filesystems/seq_file.txt +6 -0
index d412b236a9d6..7cf7143921a1 100644
@@ -192,6 +192,12 @@ between the calls to start() and stop(), so holding a lock during that time
 is a reasonable thing to do. The seq_file code will also avoid taking any
 other locks while the iterator is active.
 
+The iterater value returned by start() or next() is guaranteed to be
+passed to a subsequent next() or stop() call.  This allows resources
+such as locks that were taken to be reliably released.  There is *no*
+guarantee that the iterator will be passed to show(), though in practice
+it often will be.
+
 
 Formatted output
 
Makefile +1 -1
index f56442751d2c..80ff67e5f73a 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 101
+SUBLEVEL = 102
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm/boot/compressed/head.S +2 -2
index 93dffed0ac6e..cbe126297f54 100644
@@ -1142,9 +1142,9 @@ __armv4_mmu_cache_off:
 __armv7_mmu_cache_off:
 		mrc	p15, 0, r0, c1, c0
 #ifdef CONFIG_MMU
-		bic	r0, r0, #0x000d
+		bic	r0, r0, #0x0005
 #else
-		bic	r0, r0, #0x000c
+		bic	r0, r0, #0x0004
 #endif
 		mcr	p15, 0, r0, c1, c0	@ turn MMU and cache off
 		mov	r12, lr
arch/arm/boot/dts/armada-388-helios4.dts +22 -6
index 705adfa8c680..a94758090fb0 100644
@@ -70,6 +70,9 @@
 
 	system-leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&helios_system_led_pins>;
+
 		status-led {
 			label = "helios4:green:status";
 			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
@@ -86,6 +89,9 @@
 
 	io-leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&helios_io_led_pins>;
+
 		sata1-led {
 			label = "helios4:green:ata1";
 			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
@@ -121,11 +127,15 @@
 	fan1: j10-pwm {
 		compatible = "pwm-fan";
 		pwms = <&gpio1 9 40000>;	/* Target freq:25 kHz */
+		pinctrl-names = "default";
+		pinctrl-0 = <&helios_fan1_pins>;
 	};
 
 	fan2: j17-pwm {
 		compatible = "pwm-fan";
 		pwms = <&gpio1 23 40000>;	/* Target freq:25 kHz */
+		pinctrl-names = "default";
+		pinctrl-0 = <&helios_fan2_pins>;
 	};
 
 	usb2_phy: usb2-phy {
@@ -291,16 +301,22 @@
 						       "mpp39", "mpp40";
 					marvell,function = "sd0";
 				};
-				helios_led_pins: helios-led-pins {
-					marvell,pins = "mpp24", "mpp25",
-						       "mpp49", "mpp50",
+				helios_system_led_pins: helios-system-led-pins {
+					marvell,pins = "mpp24", "mpp25";
+					marvell,function = "gpio";
+				};
+				helios_io_led_pins: helios-io-led-pins {
+					marvell,pins = "mpp49", "mpp50",
 						       "mpp52", "mpp53",
 						       "mpp54";
 					marvell,function = "gpio";
 				};
-				helios_fan_pins: helios-fan-pins {
-					marvell,pins = "mpp41", "mpp43",
-						       "mpp48", "mpp55";
+				helios_fan1_pins: helios_fan1_pins {
+					marvell,pins = "mpp41", "mpp43";
+					marvell,function = "gpio";
+				};
+				helios_fan2_pins: helios_fan2_pins {
+					marvell,pins = "mpp48", "mpp55";
 					marvell,function = "gpio";
 				};
 				microsom_spi1_cs_pins: spi1-cs-pins {
arch/arm/boot/dts/aspeed-g4.dtsi +1 -0
index dffb595d30e4..679d04d585a4 100644
@@ -371,6 +371,7 @@
 						compatible = "aspeed,ast2400-ibt-bmc";
 						reg = <0xc0 0x18>;
 						interrupts = <8>;
+						clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 						status = "disabled";
 					};
 				};
arch/arm/boot/dts/aspeed-g5.dtsi +1 -0
index e8feb8b66a2f..412c96b3c3ac 100644
@@ -464,6 +464,7 @@
 						compatible = "aspeed,ast2500-ibt-bmc";
 						reg = <0xc0 0x18>;
 						interrupts = <8>;
+						clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 						status = "disabled";
 					};
 				};
arch/arm/boot/dts/exynos3250-artik5.dtsi +1 -1
index dee35e3a5c4b..69d134db6e94 100644
@@ -75,7 +75,7 @@
 	s2mps14_pmic@66 {
 		compatible = "samsung,s2mps14-pmic";
 		interrupt-parent = <&gpx3>;
-		interrupts = <5 IRQ_TYPE_NONE>;
+		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&s2mps14_irq>;
 		reg = <0x66>;
arch/arm/boot/dts/exynos3250-monk.dts +1 -1
index 248bd372fe70..a23a8749c94e 100644
@@ -195,7 +195,7 @@
 	s2mps14_pmic@66 {
 		compatible = "samsung,s2mps14-pmic";
 		interrupt-parent = <&gpx0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x66>;
 		wakeup-source;
 
arch/arm/boot/dts/exynos3250-rinato.dts +1 -1
index 86c26a4edfd7..468932f45289 100644
@@ -260,7 +260,7 @@
 	s2mps14_pmic@66 {
 		compatible = "samsung,s2mps14-pmic";
 		interrupt-parent = <&gpx0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x66>;
 		wakeup-source;
 
arch/arm/boot/dts/exynos5250-spring.dts +1 -1
index 3d501926c227..2355c5316484 100644
@@ -108,7 +108,7 @@
 		compatible = "samsung,s5m8767-pmic";
 		reg = <0x66>;
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
 		wakeup-source;
arch/arm/boot/dts/exynos5420-arndale-octa.dts +1 -1
index 592d7b45ecc8..53bf988855e0 100644
@@ -349,7 +349,7 @@
 		reg = <0x66>;
 
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&s2mps11_irq>;
 
arch/arm/boot/dts/exynos5422-odroid-core.dtsi +1 -1
index 829147e320e0..9e64a4ab9494 100644
@@ -141,7 +141,7 @@
 		samsung,s2mps11-acokb-ground;
 
 		interrupt-parent = <&gpx0>;
-		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&s2mps11_irq>;
 
arch/arm/boot/dts/omap443x.dtsi +2 -0
index 86b9caf461df..6e320efd9fc1 100644
@@ -33,10 +33,12 @@
 	};
 
 	ocp {
+		/* 4430 has only gpio_86 tshut and no talert interrupt */
 		bandgap: bandgap@4a002260 {
 			reg = <0x4a002260 0x4
 			       0x4a00232C 0x4>;
 			compatible = "ti,omap4430-bandgap";
+			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
 
 			#thermal-sensor-cells = <0>;
 		};
arch/arm/mach-ixp4xx/Kconfig +0 -1
index f7211b57b1e7..165c184801e1 100644
@@ -13,7 +13,6 @@ config MACH_IXP4XX_OF
 	select I2C
 	select I2C_IOP3XX
 	select PCI
-	select TIMER_OF
 	select USE_OF
 	help
 	  Say 'Y' here to support Device Tree-based IXP4xx platforms.
arch/arm64/Kconfig +1 -1
index a0bc9bbb92f3..9c8ea5939865 100644
@@ -489,7 +489,7 @@ config ARM64_ERRATUM_1024718
 	help
 	  This option adds a workaround for ARM Cortex-A55 Erratum 1024718.
 
-	  Affected Cortex-A55 cores (r0p0, r0p1, r1p0) could cause incorrect
+	  Affected Cortex-A55 cores (all revisions) could cause incorrect
 	  update of the hardware dirty bit when the DBM/AP bits are updated
 	  without a break-before-make. The workaround is to disable the usage
 	  of hardware DBM locally on the affected cores. CPUs not affected by
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +1 -4
index 78c82a665c84..bb1de8217b86 100644
@@ -103,8 +103,6 @@
 };
 
 &ehci0 {
-	phys = <&usbphy 0>;
-	phy-names = "usb";
 	status = "okay";
 };
 
@@ -142,6 +140,7 @@
 	pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
 	vmmc-supply = <&reg_dcdc1>;
 	vqmmc-supply = <&reg_eldo1>;
+	max-frequency = <200000000>;
 	bus-width = <8>;
 	non-removable;
 	cap-mmc-hw-reset;
@@ -150,8 +149,6 @@
 };
 
 &ohci0 {
-	phys = <&usbphy 0>;
-	phy-names = "usb";
 	status = "okay";
 };
 
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi +0 -1
index 9d20e13f0c02..d935e3028fcb 100644
@@ -55,7 +55,6 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
 	vmmc-supply = <&reg_dcdc1>;
-	non-removable;
 	disable-wp;
 	bus-width = <4>;
 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +5 -1
index 367699c8c902..cf9e3234afaf 100644
@@ -476,7 +476,7 @@
 			resets = <&ccu RST_BUS_MMC2>;
 			reset-names = "ahb";
 			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
-			max-frequency = <200000000>;
+			max-frequency = <150000000>;
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -530,6 +530,8 @@
 				 <&ccu CLK_USB_OHCI0>;
 			resets = <&ccu RST_BUS_OHCI0>,
 				 <&ccu RST_BUS_EHCI0>;
+			phys = <&usbphy 0>;
+			phy-names = "usb";
 			status = "disabled";
 		};
 
@@ -540,6 +542,8 @@
 			clocks = <&ccu CLK_BUS_OHCI0>,
 				 <&ccu CLK_USB_OHCI0>;
 			resets = <&ccu RST_BUS_OHCI0>;
+			phys = <&usbphy 0>;
+			phy-names = "usb";
 			status = "disabled";
 		};
 
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +7 -0
index ab081efd5971..1583cd591521 100644
@@ -332,6 +332,7 @@
 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&mmc0_pins>;
+			max-frequency = <150000000>;
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -348,6 +349,7 @@
 			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&mmc1_pins>;
+			max-frequency = <150000000>;
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -364,6 +366,7 @@
 			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&mmc2_pins>;
+			max-frequency = <150000000>;
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -533,6 +536,8 @@
 				 <&ccu CLK_USB_OHCI0>;
 			resets = <&ccu RST_BUS_OHCI0>,
 				 <&ccu RST_BUS_EHCI0>;
+			phys = <&usb2phy 0>;
+			phy-names = "usb";
 			status = "disabled";
 		};
 
@@ -543,6 +548,8 @@
 			clocks = <&ccu CLK_BUS_OHCI0>,
 				 <&ccu CLK_USB_OHCI0>;
 			resets = <&ccu RST_BUS_OHCI0>;
+			phys = <&usb2phy 0>;
+			phy-names = "usb";
 			status = "disabled";
 		};
 
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi +1 -1
index 6f90b0e62cba..148bdca8d9c9 100644
@@ -389,7 +389,7 @@
 	s2mps13-pmic@66 {
 		compatible = "samsung,s2mps13-pmic";
 		interrupt-parent = <&gpa0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x66>;
 		samsung,s2mps11-wrstbi-ground;
 
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +1 -1
index 61ee7b6a3159..09aead2be000 100644
@@ -90,7 +90,7 @@
 	s2mps15_pmic@66 {
 		compatible = "samsung,s2mps15-pmic";
 		reg = <0x66>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		interrupt-parent = <&gpa0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pmic_irq>;
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +1 -1
index aa52927e2e9c..fad70c2df7bc 100644
@@ -202,7 +202,7 @@
 			};
 
 			partition@20000 {
-				label = "u-boot";
+				label = "a53-firmware";
 				reg = <0x20000 0x160000>;
 			};
 
arch/arm64/boot/dts/mediatek/mt7622.dtsi +2 -0
index 7cd8c3f52b47..e7e002d8b108 100644
@@ -698,6 +698,8 @@
 		clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
 			 <&topckgen CLK_TOP_AXI_SEL>;
 		clock-names = "source", "hclk";
+		resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>;
+		reset-names = "hrst";
 		status = "disabled";
 	};
 
arch/arm64/boot/dts/qcom/msm8916.dtsi +2 -2
index d95273af9f1e..449843f2184d 100644
@@ -53,7 +53,7 @@
 			no-map;
 		};
 
-		reserved@8668000 {
+		reserved@86680000 {
 			reg = <0x0 0x86680000 0x0 0x80000>;
 			no-map;
 		};
@@ -66,7 +66,7 @@
 			qcom,client-id = <1>;
 		};
 
-		rfsa@867e00000 {
+		rfsa@867e0000 {
 			reg = <0x0 0x867e0000 0x0 0x20000>;
 			no-map;
 		};
arch/arm64/crypto/aes-glue.c +2 -2
index aa57dc639f77..aa13344a3a5e 100644
@@ -55,7 +55,7 @@ MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 Crypto Extensions");
 #define aes_mac_update		neon_aes_mac_update
 MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 NEON");
 #endif
-#if defined(USE_V8_CRYPTO_EXTENSIONS) || !defined(CONFIG_CRYPTO_AES_ARM64_BS)
+#if defined(USE_V8_CRYPTO_EXTENSIONS) || !IS_ENABLED(CONFIG_CRYPTO_AES_ARM64_BS)
 MODULE_ALIAS_CRYPTO("ecb(aes)");
 MODULE_ALIAS_CRYPTO("cbc(aes)");
 MODULE_ALIAS_CRYPTO("ctr(aes)");
@@ -668,7 +668,7 @@ static int __maybe_unused xts_decrypt(struct skcipher_request *req)
 }
 
 static struct skcipher_alg aes_algs[] = { {
-#if defined(USE_V8_CRYPTO_EXTENSIONS) || !defined(CONFIG_CRYPTO_AES_ARM64_BS)
+#if defined(USE_V8_CRYPTO_EXTENSIONS) || !IS_ENABLED(CONFIG_CRYPTO_AES_ARM64_BS)
 	.base = {
 		.cra_name		= "__ecb(aes)",
 		.cra_driver_name	= "__ecb-aes-" MODE,
arch/arm64/crypto/sha1-ce-glue.c +1 -0
index bdc1b6d7aff7..05cdad31b022 100644
@@ -19,6 +19,7 @@
 MODULE_DESCRIPTION("SHA1 secure hash using ARMv8 Crypto Extensions");
 MODULE_AUTHOR("Ard Biesheuvel <[email protected]>");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_CRYPTO("sha1");
 
 struct sha1_ce_state {
 	struct sha1_state	sst;
arch/arm64/crypto/sha2-ce-glue.c +2 -0
index 604a01a4ede6..1de80293ac31 100644
@@ -19,6 +19,8 @@
 MODULE_DESCRIPTION("SHA-224/SHA-256 secure hash using ARMv8 Crypto Extensions");
 MODULE_AUTHOR("Ard Biesheuvel <[email protected]>");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_CRYPTO("sha224");
+MODULE_ALIAS_CRYPTO("sha256");
 
 struct sha256_ce_state {
 	struct sha256_state	sst;
arch/arm64/crypto/sha3-ce-glue.c +4 -0
index 9a4bbfc45f40..ddf7aca9ff45 100644
@@ -23,6 +23,10 @@
 MODULE_DESCRIPTION("SHA3 secure hash using ARMv8 Crypto Extensions");
 MODULE_AUTHOR("Ard Biesheuvel <[email protected]>");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_CRYPTO("sha3-224");
+MODULE_ALIAS_CRYPTO("sha3-256");
+MODULE_ALIAS_CRYPTO("sha3-384");
+MODULE_ALIAS_CRYPTO("sha3-512");
 
 asmlinkage void sha3_ce_transform(u64 *st, const u8 *data, int blocks,
 				  int md_len);
arch/arm64/crypto/sha512-ce-glue.c +2 -0
index 2369540040aa..6dfcb4f3e776 100644
@@ -23,6 +23,8 @@
 MODULE_DESCRIPTION("SHA-384/SHA-512 secure hash using ARMv8 Crypto Extensions");
 MODULE_AUTHOR("Ard Biesheuvel <[email protected]>");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_CRYPTO("sha384");
+MODULE_ALIAS_CRYPTO("sha512");
 
 asmlinkage void sha512_ce_transform(struct sha512_state *sst, u8 const *src,
 				    int blocks);
arch/arm64/kernel/cpufeature.c +1 -1
index f2ec84540414..79caab15ccbf 100644
@@ -1092,7 +1092,7 @@ static bool cpu_has_broken_dbm(void)
 	/* List of CPUs which have broken DBM support. */
 	static const struct midr_range cpus[] = {
 #ifdef CONFIG_ARM64_ERRATUM_1024718
-		MIDR_RANGE(MIDR_CORTEX_A55, 0, 0, 1, 0),  // A55 r0p0 -r1p0
+		MIDR_ALL_VERSIONS(MIDR_CORTEX_A55),
 #endif
 		{},
 	};
arch/arm64/kernel/head.S +1 -0
index bdb5ec341900..438de2301cfe 100644
@@ -970,6 +970,7 @@ __primary_switch:
 
 	tlbi	vmalle1				// Remove any stale TLB entries
 	dsb	nsh
+	isb
 
 	msr	sctlr_el1, x19			// re-enable the MMU
 	isb
arch/arm64/kernel/machine_kexec_file.c +3 -1
index 7b08bf9499b6..d2a62dd17d79 100644
@@ -150,8 +150,10 @@ static int create_dtb(struct kimage *image,
 
 		/* duplicate a device tree blob */
 		ret = fdt_open_into(initial_boot_params, buf, buf_size);
-		if (ret)
+		if (ret) {
+			vfree(buf);
 			return -EINVAL;
+		}
 
 		ret = setup_dtb(image, initrd_load_addr, initrd_len,
 				cmdline, buf);
arch/arm64/kernel/probes/uprobes.c +1 -1
index a412d8edbcd2..2c247634552b 100644
@@ -38,7 +38,7 @@ int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm,
 
 	/* TODO: Currently we do not support AARCH32 instruction probing */
 	if (mm->context.flags & MMCF_AARCH32)
-		return -ENOTSUPP;
+		return -EOPNOTSUPP;
 	else if (!IS_ALIGNED(addr, AARCH64_INSN_SIZE))
 		return -EINVAL;
 
arch/mips/include/asm/asm.h +18 -0
index c23527ba65d0..64bffc1f75e0 100644
@@ -20,10 +20,27 @@
 #include <asm/sgidefs.h>
 #include <asm/asm-eva.h>
 
+#ifndef __VDSO__
+/*
+ * Emit CFI data in .debug_frame sections, not .eh_frame sections.
+ * We don't do DWARF unwinding at runtime, so only the offline DWARF
+ * information is useful to anyone. Note we should change this if we
+ * ever decide to enable DWARF unwinding at runtime.
+ */
+#define CFI_SECTIONS	.cfi_sections .debug_frame
+#else
+ /*
+  * For the vDSO, emit both runtime unwind information and debug
+  * symbols for the .dbg file.
+  */
+#define CFI_SECTIONS
+#endif
+
 /*
  * LEAF - declare leaf routine
  */
 #define LEAF(symbol)					\
+		CFI_SECTIONS;				\
 		.globl	symbol;				\
 		.align	2;				\
 		.type	symbol, @function;		\
@@ -36,6 +53,7 @@ symbol:		.frame	sp, 0, ra;			\
  * NESTED - declare nested routine entry point
  */
 #define NESTED(symbol, framesize, rpc)			\
+		CFI_SECTIONS;				\
 		.globl	symbol;				\
 		.align	2;				\
 		.type	symbol, @function;		\
arch/mips/kernel/vmlinux.lds.S +1 -1
index eb9d7af93836..faf98f209b3f 100644
@@ -93,6 +93,7 @@ SECTIONS
 
 		INIT_TASK_DATA(THREAD_SIZE)
 		NOSAVE_DATA
+		PAGE_ALIGNED_DATA(PAGE_SIZE)
 		CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
 		READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
 		DATA_DATA
@@ -225,6 +226,5 @@ SECTIONS
 		*(.options)
 		*(.pdr)
 		*(.reginfo)
-		*(.eh_frame)
 	}
 }
arch/mips/lantiq/irq.c +1 -1
index 115b417dfb8e..9fcc118312cb 100644
@@ -302,7 +302,7 @@ static void ltq_hw_irq_handler(struct irq_desc *desc)
 	generic_handle_irq(irq_linear_revmap(ltq_domain, hwirq));
 
 	/* if this is a EBU irq, we need to ack it or get a deadlock */
-	if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT)
+	if (irq == LTQ_ICU_EBU_IRQ && !module && LTQ_EBU_PCC_ISTAT != 0)
 		ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_PCC_ISTAT) | 0x10,
 			LTQ_EBU_PCC_ISTAT);
 }
arch/mips/mm/c-r4k.c +1 -1
index 504fd6159240..3375bbe63284 100644
@@ -1560,7 +1560,7 @@ static int probe_scache(void)
 	return 1;
 }
 
-static void __init loongson2_sc_init(void)
+static void loongson2_sc_init(void)
 {
 	struct cpuinfo_mips *c = &current_cpu_data;
 
arch/powerpc/Kconfig +1 -1
index cb285e474c88..c4cbb65e742f 100644
@@ -723,7 +723,7 @@ config PPC_64K_PAGES
 
 config PPC_256K_PAGES
 	bool "256k page size"
-	depends on 44x && !STDBINUTILS
+	depends on 44x && !STDBINUTILS && !PPC_47x
 	help
 	  Make the page size 256k.
 
arch/powerpc/kernel/entry_32.S +3 -0
index f29bb176381f..c72894ff9d61 100644
@@ -336,6 +336,9 @@ trace_syscall_entry_irq_off:
 
 	.globl	transfer_to_syscall
 transfer_to_syscall:
+#ifdef CONFIG_PPC_BOOK3S_32
+	kuep_lock r11, r12
+#endif
 #ifdef CONFIG_TRACE_IRQFLAGS
 	andi.	r12,r9,MSR_EE
 	beq-	trace_syscall_entry_irq_off
arch/powerpc/kernel/head_8xx.S +1 -1
index f6428b90a6c7..6f3e417f55a3 100644
@@ -191,7 +191,7 @@ SystemCall:
 /* On the MPC8xx, this is a software emulation interrupt.  It occurs
  * for all unimplemented and illegal instructions.
  */
-	EXCEPTION(0x1000, SoftEmu, program_check_exception, EXC_XFER_STD)
+	EXCEPTION(0x1000, SoftEmu, emulation_assist_interrupt, EXC_XFER_STD)
 
 /* Called from DataStoreTLBMiss when perf TLB misses events are activated */
 #ifdef CONFIG_PERF_EVENTS
arch/powerpc/kernel/prom_init.c +4 -8
index 689664cd4e79..1b65fb7c0bda 100644
@@ -1305,14 +1305,10 @@ static void __init prom_check_platform_support(void)
 		if (prop_len > sizeof(vec))
 			prom_printf("WARNING: ibm,arch-vec-5-platform-support longer than expected (len: %d)\n",
 				    prop_len);
-		prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support",
-			     &vec, sizeof(vec));
-		for (i = 0; i < sizeof(vec); i += 2) {
-			prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2
-								  , vec[i]
-								  , vec[i + 1]);
-			prom_parse_platform_support(vec[i], vec[i + 1],
-						    &supported);
+		prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support", &vec, sizeof(vec));
+		for (i = 0; i < prop_len; i += 2) {
+			prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2, vec[i], vec[i + 1]);
+			prom_parse_platform_support(vec[i], vec[i + 1], &supported);
 		}
 	}
 
arch/powerpc/kvm/powerpc.c +4 -4
index 3a77bb643452..e03c06471678 100644
@@ -1513,7 +1513,7 @@ int kvmppc_handle_vmx_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
 	return emulated;
 }
 
-int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val)
+static int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val)
 {
 	union kvmppc_one_reg reg;
 	int vmx_offset = 0;
@@ -1531,7 +1531,7 @@ int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val)
 	return result;
 }
 
-int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val)
+static int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val)
 {
 	union kvmppc_one_reg reg;
 	int vmx_offset = 0;
@@ -1549,7 +1549,7 @@ int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val)
 	return result;
 }
 
-int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val)
+static int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val)
 {
 	union kvmppc_one_reg reg;
 	int vmx_offset = 0;
@@ -1567,7 +1567,7 @@ int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val)
 	return result;
 }
 
-int kvmppc_get_vmx_byte(struct kvm_vcpu *vcpu, int index, u64 *val)
+static int kvmppc_get_vmx_byte(struct kvm_vcpu *vcpu, int index, u64 *val)
 {
 	union kvmppc_one_reg reg;
 	int vmx_offset = 0;
arch/powerpc/platforms/pseries/dlpar.c +3 -4
index 16e86ba8aa20..f6b7749d6ada 100644
@@ -127,7 +127,6 @@ void dlpar_free_cc_nodes(struct device_node *dn)
 #define NEXT_PROPERTY   3
 #define PREV_PARENT     4
 #define MORE_MEMORY     5
-#define CALL_AGAIN	-2
 #define ERR_CFG_USE     -9003
 
 struct device_node *dlpar_configure_connector(__be32 drc_index,
@@ -168,6 +167,9 @@ struct device_node *dlpar_configure_connector(__be32 drc_index,
 
 		spin_unlock(&rtas_data_buf_lock);
 
+		if (rtas_busy_delay(rc))
+			continue;
+
 		switch (rc) {
 		case COMPLETE:
 			break;
@@ -216,9 +218,6 @@ struct device_node *dlpar_configure_connector(__be32 drc_index,
 			last_dn = last_dn->parent;
 			break;
 
-		case CALL_AGAIN:
-			break;
-
 		case MORE_MEMORY:
 		case ERR_CFG_USE:
 		default:
arch/s390/kernel/vtime.c +2 -1
index c475ca49cfc6..3e72f955bff7 100644
@@ -136,7 +136,8 @@ static int do_account_vtime(struct task_struct *tsk)
 		"	stck	%1"	/* Store current tod clock value */
 #endif
 		: "=Q" (S390_lowcore.last_update_timer),
-		  "=Q" (S390_lowcore.last_update_clock));
+		  "=Q" (S390_lowcore.last_update_clock)
+		: : "cc");
 	clock = S390_lowcore.last_update_clock - clock;
 	timer -= S390_lowcore.last_update_timer;
 
arch/sparc/Kconfig +1 -1
index 18e9fb6fcf1b..349e27771cea 100644
@@ -524,7 +524,7 @@ config COMPAT
 	bool
 	depends on SPARC64
 	default y
-	select COMPAT_BINFMT_ELF
+	select COMPAT_BINFMT_ELF if BINFMT_ELF
 	select HAVE_UID16
 	select ARCH_WANT_OLD_COMPAT_IPC
 	select COMPAT_OLD_SIGACTION
arch/sparc/lib/memset.S +1 -0
index b89d42b29e34..f427f34b8b79 100644
@@ -142,6 +142,7 @@ __bzero:
 	ZERO_LAST_BLOCKS(%o0, 0x48, %g2)
 	ZERO_LAST_BLOCKS(%o0, 0x08, %g2)
 13:
+	EXT(12b, 13b, 21f)
 	be	8f
 	 andcc	%o1, 4, %g0
 
arch/um/kernel/tlb.c +11 -1
index b7eaf655635c..11499136720d 100644
@@ -126,6 +126,9 @@ static int add_mmap(unsigned long virt, unsigned long phys, unsigned long len,
 	struct host_vm_op *last;
 	int fd = -1, ret = 0;
 
+	if (virt + len > STUB_START && virt < STUB_END)
+		return -EINVAL;
+
 	if (hvc->userspace)
 		fd = phys_mapping(phys, &offset);
 	else
@@ -163,7 +166,7 @@ static int add_munmap(unsigned long addr, unsigned long len,
 	struct host_vm_op *last;
 	int ret = 0;
 
-	if ((addr >= STUB_START) && (addr < STUB_END))
+	if (addr + len > STUB_START && addr < STUB_END)
 		return -EINVAL;
 
 	if (hvc->index != 0) {
@@ -193,6 +196,9 @@ static int add_mprotect(unsigned long addr, unsigned long len,
 	struct host_vm_op *last;
 	int ret = 0;
 
+	if (addr + len > STUB_START && addr < STUB_END)
+		return -EINVAL;
+
 	if (hvc->index != 0) {
 		last = &hvc->ops[hvc->index - 1];
 		if ((last->type == MPROTECT) &&
@@ -433,6 +439,10 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long address)
 	struct mm_id *mm_id;
 
 	address &= PAGE_MASK;
+
+	if (address >= STUB_START && address < STUB_END)
+		goto kill;
+
 	pgd = pgd_offset(mm, address);
 	if (!pgd_present(*pgd))
 		goto kill;
arch/x86/crypto/aesni-intel_glue.c +16 -12
index 3e707e81afdb..88ad272aa2b4 100644
@@ -707,7 +707,8 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
 	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	unsigned long auth_tag_len = crypto_aead_authsize(tfm);
 	const struct aesni_gcm_tfm_s *gcm_tfm = aesni_gcm_tfm;
-	struct gcm_context_data data AESNI_ALIGN_ATTR;
+	u8 databuf[sizeof(struct gcm_context_data) + (AESNI_ALIGN - 8)] __aligned(8);
+	struct gcm_context_data *data = PTR_ALIGN((void *)databuf, AESNI_ALIGN);
 	struct scatter_walk dst_sg_walk = {};
 	unsigned long left = req->cryptlen;
 	unsigned long len, srclen, dstlen;
@@ -760,8 +761,7 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
 	}
 
 	kernel_fpu_begin();
-	gcm_tfm->init(aes_ctx, &data, iv,
-		hash_subkey, assoc, assoclen);
+	gcm_tfm->init(aes_ctx, data, iv, hash_subkey, assoc, assoclen);
 	if (req->src != req->dst) {
 		while (left) {
 			src = scatterwalk_map(&src_sg_walk);
@@ -771,10 +771,10 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
 			len = min(srclen, dstlen);
 			if (len) {
 				if (enc)
-					gcm_tfm->enc_update(aes_ctx, &data,
+					gcm_tfm->enc_update(aes_ctx, data,
 							     dst, src, len);
 				else
-					gcm_tfm->dec_update(aes_ctx, &data,
+					gcm_tfm->dec_update(aes_ctx, data,
 							     dst, src, len);
 			}
 			left -= len;
@@ -792,10 +792,10 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
 			len = scatterwalk_clamp(&src_sg_walk, left);
 			if (len) {
 				if (enc)
-					gcm_tfm->enc_update(aes_ctx, &data,
+					gcm_tfm->enc_update(aes_ctx, data,
 							     src, src, len);
 				else
-					gcm_tfm->dec_update(aes_ctx, &data,
+					gcm_tfm->dec_update(aes_ctx, data,
 							     src, src, len);
 			}
 			left -= len;
@@ -804,7 +804,7 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,
 			scatterwalk_done(&src_sg_walk, 1, left);
 		}
 	}
-	gcm_tfm->finalize(aes_ctx, &data, authTag, auth_tag_len);
+	gcm_tfm->finalize(aes_ctx, data, authTag, auth_tag_len);
 	kernel_fpu_end();
 
 	if (!assocmem)
@@ -853,7 +853,8 @@ static int helper_rfc4106_encrypt(struct aead_request *req)
 	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm);
 	void *aes_ctx = &(ctx->aes_key_expanded);
-	u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN)));
+	u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8);
+	u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN);
 	unsigned int i;
 	__be32 counter = cpu_to_be32(1);
 
@@ -880,7 +881,8 @@ static int helper_rfc4106_decrypt(struct aead_request *req)
 	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm);
 	void *aes_ctx = &(ctx->aes_key_expanded);
-	u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN)));
+	u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8);
+	u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN);
 	unsigned int i;
 
 	if (unlikely(req->assoclen != 16 && req->assoclen != 20))
@@ -1010,7 +1012,8 @@ static int generic_gcmaes_encrypt(struct aead_request *req)
 	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct generic_gcmaes_ctx *ctx = generic_gcmaes_ctx_get(tfm);
 	void *aes_ctx = &(ctx->aes_key_expanded);
-	u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN)));
+	u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8);
+	u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN);
 	__be32 counter = cpu_to_be32(1);
 
 	memcpy(iv, req->iv, 12);
@@ -1026,7 +1029,8 @@ static int generic_gcmaes_decrypt(struct aead_request *req)
 	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct generic_gcmaes_ctx *ctx = generic_gcmaes_ctx_get(tfm);
 	void *aes_ctx = &(ctx->aes_key_expanded);
-	u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN)));
+	u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8);
+	u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN);
 
 	memcpy(iv, req->iv, 12);
 	*((__be32 *)(iv+12)) = counter;
arch/x86/include/asm/virtext.h +12 -5
index 9aad0e0876fb..fda3e7747c22 100644
@@ -30,15 +30,22 @@ static inline int cpu_has_vmx(void)
 }
 
 
-/** Disable VMX on the current CPU
+/**
+ * cpu_vmxoff() - Disable VMX on the current CPU
  *
- * vmxoff causes a undefined-opcode exception if vmxon was not run
- * on the CPU previously. Only call this function if you know VMX
- * is enabled.
+ * Disable VMX and clear CR4.VMXE (even if VMXOFF faults)
+ *
+ * Note, VMXOFF causes a #UD if the CPU is !post-VMXON, but it's impossible to
+ * atomically track post-VMXON state, e.g. this may be called in NMI context.
+ * Eat all faults as all other faults on VMXOFF faults are mode related, i.e.
+ * faults are guaranteed to be due to the !post-VMXON check unless the CPU is
+ * magically in RM, VM86, compat mode, or at CPL>0.
  */
 static inline void cpu_vmxoff(void)
 {
-	asm volatile ("vmxoff");
+	asm_volatile_goto("1: vmxoff\n\t"
+			  _ASM_EXTABLE(1b, %l[fault]) :::: fault);
+fault:
 	cr4_clear_bits(X86_CR4_VMXE);
 }
 
arch/x86/kernel/reboot.c +10 -19
index 762f5c1465a6..835b6fc0c1bb 100644
@@ -538,29 +538,20 @@ static void emergency_vmx_disable_all(void)
 	local_irq_disable();
 
 	/*
-	 * We need to disable VMX on all CPUs before rebooting, otherwise
-	 * we risk hanging up the machine, because the CPU ignore INIT
-	 * signals when VMX is enabled.
+	 * Disable VMX on all CPUs before rebooting, otherwise we risk hanging
+	 * the machine, because the CPU blocks INIT when it's in VMX root.
 	 *
-	 * We can't take any locks and we may be on an inconsistent
-	 * state, so we use NMIs as IPIs to tell the other CPUs to disable
-	 * VMX and halt.
+	 * We can't take any locks and we may be on an inconsistent state, so
+	 * use NMIs as IPIs to tell the other CPUs to exit VMX root and halt.
 	 *
-	 * For safety, we will avoid running the nmi_shootdown_cpus()
-	 * stuff unnecessarily, but we don't have a way to check
-	 * if other CPUs have VMX enabled. So we will call it only if the
-	 * CPU we are running on has VMX enabled.
-	 *
-	 * We will miss cases where VMX is not enabled on all CPUs. This
-	 * shouldn't do much harm because KVM always enable VMX on all
-	 * CPUs anyway. But we can miss it on the small window where KVM
-	 * is still enabling VMX.
+	 * Do the NMI shootdown even if VMX if off on _this_ CPU, as that
+	 * doesn't prevent a different CPU from being in VMX root operation.
 	 */
-	if (cpu_has_vmx() && cpu_vmx_enabled()) {
-		/* Disable VMX on this CPU. */
-		cpu_vmxoff();
+	if (cpu_has_vmx()) {
+		/* Safely force _this_ CPU out of VMX root operation. */
+		__cpu_emergency_vmxoff();
 
-		/* Halt and disable VMX on the other CPUs */
+		/* Halt and exit VMX root operation on the other CPUs. */
 		nmi_shootdown_cpus(vmxoff_nmi);
 
 	}
arch/x86/kvm/svm.c +1 -1
index 1da558f28aa5..b9d14fdbd2d8 100644
@@ -4327,7 +4327,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
 		    !guest_has_spec_ctrl_msr(vcpu))
 			return 1;
 
-		if (data & ~kvm_spec_ctrl_valid_bits(vcpu))
+		if (kvm_spec_ctrl_test_value(data))
 			return 1;
 
 		svm->spec_ctrl = data;
arch/x86/kvm/vmx/vmx.c +1 -1
index e7fd2f00edc1..e177848a3631 100644
@@ -1974,7 +1974,7 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		    !guest_has_spec_ctrl_msr(vcpu))
 			return 1;
 
-		if (data & ~kvm_spec_ctrl_valid_bits(vcpu))
+		if (kvm_spec_ctrl_test_value(data))
 			return 1;
 
 		vmx->spec_ctrl = data;
arch/x86/kvm/x86.c +21 -17
index 73095d721399..153659e8f403 100644
@@ -10374,28 +10374,32 @@ bool kvm_arch_no_poll(struct kvm_vcpu *vcpu)
 }
 EXPORT_SYMBOL_GPL(kvm_arch_no_poll);
 
-u64 kvm_spec_ctrl_valid_bits(struct kvm_vcpu *vcpu)
+
+int kvm_spec_ctrl_test_value(u64 value)
 {
-	uint64_t bits = SPEC_CTRL_IBRS | SPEC_CTRL_STIBP | SPEC_CTRL_SSBD;
+	/*
+	 * test that setting IA32_SPEC_CTRL to given value
+	 * is allowed by the host processor
+	 */
+
+	u64 saved_value;
+	unsigned long flags;
+	int ret = 0;
 
-	/* The STIBP bit doesn't fault even if it's not advertised */
-	if (!guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) &&
-	    !guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBRS))
-		bits &= ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP);
-	if (!boot_cpu_has(X86_FEATURE_SPEC_CTRL) &&
-	    !boot_cpu_has(X86_FEATURE_AMD_IBRS))
-		bits &= ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP);
+	local_irq_save(flags);
 
-	if (!guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL_SSBD) &&
-	    !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD))
-		bits &= ~SPEC_CTRL_SSBD;
-	if (!boot_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) &&
-	    !boot_cpu_has(X86_FEATURE_AMD_SSBD))
-		bits &= ~SPEC_CTRL_SSBD;
+	if (rdmsrl_safe(MSR_IA32_SPEC_CTRL, &saved_value))
+		ret = 1;
+	else if (wrmsrl_safe(MSR_IA32_SPEC_CTRL, value))
+		ret = 1;
+	else
+		wrmsrl(MSR_IA32_SPEC_CTRL, saved_value);
 
-	return bits;
+	local_irq_restore(flags);
+
+	return ret;
 }
-EXPORT_SYMBOL_GPL(kvm_spec_ctrl_valid_bits);
+EXPORT_SYMBOL_GPL(kvm_spec_ctrl_test_value);
 
 EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_exit);
 EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_fast_mmio);
arch/x86/kvm/x86.h +1 -1
index 301286d92432..c520d373790a 100644
@@ -368,6 +368,6 @@ static inline bool kvm_pat_valid(u64 data)
 
 void kvm_load_guest_xcr0(struct kvm_vcpu *vcpu);
 void kvm_put_guest_xcr0(struct kvm_vcpu *vcpu);
-u64 kvm_spec_ctrl_valid_bits(struct kvm_vcpu *vcpu);
+int kvm_spec_ctrl_test_value(u64 value);
 
 #endif
arch/x86/mm/pat.c +2 -1
index d9fbd4f69920..35b2e35c2203 100644
@@ -1132,12 +1132,14 @@ static void *memtype_seq_start(struct seq_file *seq, loff_t *pos)
 
 static void *memtype_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
+	kfree(v);
 	++*pos;
 	return memtype_get_idx(*pos);
 }
 
 static void memtype_seq_stop(struct seq_file *seq, void *v)
 {
+	kfree(v);
 }
 
 static int memtype_seq_show(struct seq_file *seq, void *v)
@@ -1146,7 +1148,6 @@ static int memtype_seq_show(struct seq_file *seq, void *v)
 
 	seq_printf(seq, "%s @ 0x%Lx-0x%Lx\n", cattr_name(print_entry->type),
 			print_entry->start, print_entry->end);
-	kfree(print_entry);
 
 	return 0;
 }
block/bfq-iosched.c +1 -0
index ba32adaeefdd..c19006d59b79 100644
@@ -2937,6 +2937,7 @@ static void __bfq_set_in_service_queue(struct bfq_data *bfqd,
 	}
 
 	bfqd->in_service_queue = bfqq;
+	bfqd->in_serv_last_pos = 0;
 }
 
 /*
block/blk-settings.c +12 -0
index be1dca0103a4..13be635300a8 100644
@@ -473,6 +473,14 @@ void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b)
 }
 EXPORT_SYMBOL(blk_queue_stack_limits);
 
+static unsigned int blk_round_down_sectors(unsigned int sectors, unsigned int lbs)
+{
+	sectors = round_down(sectors, lbs >> SECTOR_SHIFT);
+	if (sectors < PAGE_SIZE >> SECTOR_SHIFT)
+		sectors = PAGE_SIZE >> SECTOR_SHIFT;
+	return sectors;
+}
+
 /**
  * blk_stack_limits - adjust queue_limits for stacked devices
  * @t:	the stacking driver limits (top device)
@@ -586,6 +594,10 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
 		ret = -1;
 	}
 
+	t->max_sectors = blk_round_down_sectors(t->max_sectors, t->logical_block_size);
+	t->max_hw_sectors = blk_round_down_sectors(t->max_hw_sectors, t->logical_block_size);
+	t->max_dev_sectors = blk_round_down_sectors(t->max_dev_sectors, t->logical_block_size);
+
 	/* Discard alignment and granularity */
 	if (b->discard_granularity) {
 		alignment = queue_limit_discard_alignment(b, start);
block/bsg.c +3 -1
index 833c44b3d458..0d012efef527 100644
@@ -157,8 +157,10 @@ static int bsg_sg_io(struct request_queue *q, fmode_t mode, void __user *uarg)
 		return PTR_ERR(rq);
 
 	ret = q->bsg_dev.ops->fill_hdr(rq, &hdr, mode);
-	if (ret)
+	if (ret) {
+		blk_put_request(rq);
 		return ret;
+	}
 
 	rq->timeout = msecs_to_jiffies(hdr.timeout);
 	if (!rq->timeout)
certs/blacklist.c +1 -1
index ec00bf337eb6..025a41de28fd 100644
@@ -153,7 +153,7 @@ static int __init blacklist_init(void)
 			      KEY_USR_VIEW | KEY_USR_READ |
 			      KEY_USR_SEARCH,
 			      KEY_ALLOC_NOT_IN_QUOTA |
-			      KEY_FLAG_KEEP,
+			      KEY_ALLOC_SET_KEEP,
 			      NULL, NULL);
 	if (IS_ERR(blacklist_keyring))
 		panic("Can't allocate system blacklist keyring\n");
crypto/ecdh_helper.c +3 -0
index 66fcb2ea8154..fca63b559f65 100644
@@ -67,6 +67,9 @@ int crypto_ecdh_decode_key(const char *buf, unsigned int len,
 	if (secret.type != CRYPTO_KPP_SECRET_TYPE_ECDH)
 		return -EINVAL;
 
+	if (unlikely(len < secret.len))
+		return -EINVAL;
+
 	ptr = ecdh_unpack_data(&params->curve_id, ptr, sizeof(params->curve_id));
 	ptr = ecdh_unpack_data(&params->key_size, ptr, sizeof(params->key_size));
 	if (secret.len != crypto_ecdh_key_len(params))
drivers/acpi/acpi_configfs.c +6 -1
index 01738d8e888e..06c756651425 100644
@@ -267,7 +267,12 @@ static int __init acpi_configfs_init(void)
 
 	acpi_table_group = configfs_register_default_group(root, "table",
 							   &acpi_tables_type);
-	return PTR_ERR_OR_ZERO(acpi_table_group);
+	if (IS_ERR(acpi_table_group)) {
+		configfs_unregister_subsystem(&acpi_configfs);
+		return PTR_ERR(acpi_table_group);
+	}
+
+	return 0;
 }
 module_init(acpi_configfs_init);
 
drivers/acpi/property.c +33 -11

87 lines not on this page · raw message

drivers/amba/bus.c +12 -8
index fe1523664816..af58768a0393 100644
@@ -299,10 +299,11 @@ static int amba_remove(struct device *dev)
 {
 	struct amba_device *pcdev = to_amba_device(dev);
 	struct amba_driver *drv = to_amba_driver(dev->driver);
-	int ret;
+	int ret = 0;
 
 	pm_runtime_get_sync(dev);
-	ret = drv->remove(pcdev);
+	if (drv->remove)
+		ret = drv->remove(pcdev);
 	pm_runtime_put_noidle(dev);
 
 	/* Undo the runtime PM settings in amba_probe() */
@@ -319,7 +320,9 @@ static int amba_remove(struct device *dev)
 static void amba_shutdown(struct device *dev)
 {
 	struct amba_driver *drv = to_amba_driver(dev->driver);
-	drv->shutdown(to_amba_device(dev));
+
+	if (drv->shutdown)
+		drv->shutdown(to_amba_device(dev));
 }
 
 /**
@@ -332,12 +335,13 @@ static void amba_shutdown(struct device *dev)
  */
 int amba_driver_register(struct amba_driver *drv)
 {
-	drv->drv.bus = &amba_bustype;
+	if (!drv->probe)
+		return -EINVAL;
 
-#define SETFN(fn)	if (drv->fn) drv->drv.fn = amba_##fn
-	SETFN(probe);
-	SETFN(remove);
-	SETFN(shutdown);
+	drv->drv.bus = &amba_bustype;
+	drv->drv.probe = amba_probe;
+	drv->drv.remove = amba_remove;
+	drv->drv.shutdown = amba_shutdown;
 
 	return driver_register(&drv->drv);
 }
drivers/ata/ahci_brcm.c +13 -1
index 66a570d0da83..067b55cc157e 100644
@@ -361,6 +361,10 @@ static int brcm_ahci_resume(struct device *dev)
 	if (ret)
 		return ret;
 
+	ret = ahci_platform_enable_regulators(hpriv);
+	if (ret)
+		goto out_disable_clks;
+
 	brcm_sata_init(priv);
 	brcm_sata_phys_enable(priv);
 	brcm_sata_alpm_init(hpriv);
@@ -390,6 +394,8 @@ static int brcm_ahci_resume(struct device *dev)
 	ahci_platform_disable_phys(hpriv);
 out_disable_phys:
 	brcm_sata_phys_disable(priv);
+	ahci_platform_disable_regulators(hpriv);
+out_disable_clks:
 	ahci_platform_disable_clks(hpriv);
 	return ret;
 }
@@ -463,6 +469,10 @@ static int brcm_ahci_probe(struct platform_device *pdev)
 	if (ret)
 		goto out_reset;
 
+	ret = ahci_platform_enable_regulators(hpriv);
+	if (ret)
+		goto out_disable_clks;
+
 	/* Must be first so as to configure endianness including that
 	 * of the standard AHCI register space.
 	 */
@@ -472,7 +482,7 @@ static int brcm_ahci_probe(struct platform_device *pdev)
 	priv->port_mask = brcm_ahci_get_portmask(hpriv, priv);
 	if (!priv->port_mask) {
 		ret = -ENODEV;
-		goto out_disable_clks;
+		goto out_disable_regulators;
 	}
 
 	/* Must be done before ahci_platform_enable_phys() */
@@ -497,6 +507,8 @@ static int brcm_ahci_probe(struct platform_device *pdev)
 	ahci_platform_disable_phys(hpriv);
 out_disable_phys:
 	brcm_sata_phys_disable(priv);
+out_disable_regulators:
+	ahci_platform_disable_regulators(hpriv);
 out_disable_clks:
 	ahci_platform_disable_clks(hpriv);
 out_reset:
drivers/auxdisplay/ht16k33.c +1 -2
index a2fcde582e2a..33b887b38906 100644
@@ -117,8 +117,7 @@ static void ht16k33_fb_queue(struct ht16k33_priv *priv)
 {
 	struct ht16k33_fbdev *fbdev = &priv->fbdev;
 
-	schedule_delayed_work(&fbdev->work,
-			      msecs_to_jiffies(HZ / fbdev->refresh_rate));
+	schedule_delayed_work(&fbdev->work, HZ / fbdev->refresh_rate);
 }
 
 /*
drivers/base/regmap/regmap-sdw.c +2 -2
index 50a66382d87d..e75168b941d0 100644
@@ -12,7 +12,7 @@ static int regmap_sdw_write(void *context, unsigned int reg, unsigned int val)
 	struct device *dev = context;
 	struct sdw_slave *slave = dev_to_sdw_dev(dev);
 
-	return sdw_write(slave, reg, val);
+	return sdw_write_no_pm(slave, reg, val);
 }
 
 static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val)
@@ -21,7 +21,7 @@ static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val)
 	struct sdw_slave *slave = dev_to_sdw_dev(dev);
 	int read;
 
-	read = sdw_read(slave, reg);
+	read = sdw_read_no_pm(slave, reg);
 	if (read < 0)
 		return read;
 
drivers/base/swnode.c +6 -2
index 77cc138d138c..7d5236eafe84 100644
@@ -534,14 +534,18 @@ software_node_get_next_child(const struct fwnode_handle *fwnode,
 	struct swnode *c = to_swnode(child);
 
 	if (!p || list_empty(&p->children) ||
-	    (c && list_is_last(&c->entry, &p->children)))
+	    (c && list_is_last(&c->entry, &p->children))) {
+		fwnode_handle_put(child);
 		return NULL;
+	}
 
 	if (c)
 		c = list_next_entry(c, entry);
 	else
 		c = list_first_entry(&p->children, struct swnode, entry);
-	return &c->fwnode;
+
+	fwnode_handle_put(child);
+	return fwnode_handle_get(&c->fwnode);
 }
 
 static struct fwnode_handle *
drivers/block/floppy.c +14 -13
index ac97a1e2e5dd..40ea1a425c43 100644
@@ -4063,21 +4063,22 @@ static int floppy_open(struct block_device *bdev, fmode_t mode)
 	if (UFDCS->rawcmd == 1)
 		UFDCS->rawcmd = 2;
 
-	if (!(mode & FMODE_NDELAY)) {
-		if (mode & (FMODE_READ|FMODE_WRITE)) {
-			UDRS->last_checked = 0;
-			clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags);
-			check_disk_change(bdev);
-			if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags))
-				goto out;
-			if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags))
-				goto out;
-		}
-		res = -EROFS;
-		if ((mode & FMODE_WRITE) &&
-		    !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags))
+	if (mode & (FMODE_READ|FMODE_WRITE)) {
+		UDRS->last_checked = 0;
+		clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags);
+		check_disk_change(bdev);
+		if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags))
+			goto out;
+		if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags))
 			goto out;
 	}
+
+	res = -EROFS;
+
+	if ((mode & FMODE_WRITE) &&
+			!test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags))
+		goto out;
+
 	mutex_unlock(&open_lock);
 	mutex_unlock(&floppy_mutex);
 	return 0;
drivers/bluetooth/btqcomsmd.c +19 -8
index 98d53764871f..2acb719e596f 100644
@@ -142,12 +142,16 @@ static int btqcomsmd_probe(struct platform_device *pdev)
 
 	btq->cmd_channel = qcom_wcnss_open_channel(wcnss, "APPS_RIVA_BT_CMD",
 						   btqcomsmd_cmd_callback, btq);
-	if (IS_ERR(btq->cmd_channel))
-		return PTR_ERR(btq->cmd_channel);
+	if (IS_ERR(btq->cmd_channel)) {
+		ret = PTR_ERR(btq->cmd_channel);
+		goto destroy_acl_channel;
+	}
 
 	hdev = hci_alloc_dev();
-	if (!hdev)
-		return -ENOMEM;
+	if (!hdev) {
+		ret = -ENOMEM;
+		goto destroy_cmd_channel;
+	}
 
 	hci_set_drvdata(hdev, btq);
 	btq->hdev = hdev;
@@ -161,14 +165,21 @@ static int btqcomsmd_probe(struct platform_device *pdev)
 	hdev->set_bdaddr = qca_set_bdaddr_rome;
 
 	ret = hci_register_dev(hdev);
-	if (ret < 0) {
-		hci_free_dev(hdev);
-		return ret;
-	}
+	if (ret < 0)
+		goto hci_free_dev;
 
 	platform_set_drvdata(pdev, btq);
 
 	return 0;
+
+hci_free_dev:
+	hci_free_dev(hdev);
+destroy_cmd_channel:
+	rpmsg_destroy_ept(btq->cmd_channel);
+destroy_acl_channel:
+	rpmsg_destroy_ept(btq->acl_channel);
+
+	return ret;
 }
 
 static int btqcomsmd_remove(struct platform_device *pdev)
drivers/bluetooth/btusb.c +10 -10
index b92bd97b1c39..b467fd05c5e8 100644
@@ -2568,7 +2568,7 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
 		skb = bt_skb_alloc(HCI_WMT_MAX_EVENT_SIZE, GFP_ATOMIC);
 		if (!skb) {
 			hdev->stat.err_rx++;
-			goto err_out;
+			return;
 		}
 
 		hci_skb_pkt_type(skb) = HCI_EVENT_PKT;
@@ -2586,13 +2586,18 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
 		 */
 		if (test_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags)) {
 			data->evt_skb = skb_clone(skb, GFP_ATOMIC);
-			if (!data->evt_skb)
-				goto err_out;
+			if (!data->evt_skb) {
+				kfree_skb(skb);
+				return;
+			}
 		}
 
 		err = hci_recv_frame(hdev, skb);
-		if (err < 0)
-			goto err_free_skb;
+		if (err < 0) {
+			kfree_skb(data->evt_skb);
+			data->evt_skb = NULL;
+			return;
+		}
 
 		if (test_and_clear_bit(BTUSB_TX_WAIT_VND_EVT,
 				       &data->flags)) {
@@ -2601,11 +2606,6 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
 			wake_up_bit(&data->flags,
 				    BTUSB_TX_WAIT_VND_EVT);
 		}
-err_out:
-		return;
-err_free_skb:
-		kfree_skb(data->evt_skb);
-		data->evt_skb = NULL;
 		return;
 	} else if (urb->status == -ENOENT) {
 		/* Avoid suspend failed when usb_kill_urb */
drivers/bluetooth/hci_ldisc.c +3 -4
index f83d67eafc9f..8be4d807d137 100644
@@ -127,10 +127,9 @@ int hci_uart_tx_wakeup(struct hci_uart *hu)
 	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags))
 		goto no_schedule;
 
-	if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state)) {
-		set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
+	set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
+	if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state))
 		goto no_schedule;
-	}
 
 	BT_DBG("");
 
@@ -174,10 +173,10 @@ static void hci_uart_write_work(struct work_struct *work)
 		kfree_skb(skb);
 	}
 
+	clear_bit(HCI_UART_SENDING, &hu->tx_state);
 	if (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state))
 		goto restart;
 
-	clear_bit(HCI_UART_SENDING, &hu->tx_state);
 	wake_up_bit(&hu->tx_state, HCI_UART_SENDING);
 }
 
drivers/bluetooth/hci_serdev.c +2 -2
index 5b9aa73ff2b7..1b4ad231e6ed 100644
@@ -85,9 +85,9 @@ static void hci_uart_write_work(struct work_struct *work)
 			hci_uart_tx_complete(hu, hci_skb_pkt_type(skb));
 			kfree_skb(skb);
 		}
-	} while (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state));
 
-	clear_bit(HCI_UART_SENDING, &hu->tx_state);
+		clear_bit(HCI_UART_SENDING, &hu->tx_state);
+	} while (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state));
 }
 
 /* ------- Interface to HCI layer ------ */
drivers/char/hw_random/timeriomem-rng.c +1 -1
index e262445fed5f..f35f0f31f52a 100644
@@ -69,7 +69,7 @@ static int timeriomem_rng_read(struct hwrng *hwrng, void *data,
 		 */
 		if (retval > 0)
 			usleep_range(period_us,
-					period_us + min(1, period_us / 100));
+					period_us + max(1, period_us / 100));
 
 		*(u32 *)data = readl(priv->io_base);
 		retval += sizeof(u32);
drivers/char/random.c +1 -1
index 2c29f83ae3d5..ffd61aadb761 100644
@@ -2149,7 +2149,7 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
 			return -EPERM;
 		if (crng_init < 2)
 			return -ENODATA;
-		crng_reseed(&primary_crng, NULL);
+		crng_reseed(&primary_crng, &input_pool);
 		crng_global_init_time = jiffies - 1;
 		return 0;
 	default:
drivers/char/tpm/tpm_tis_core.c +3 -47

68 lines not on this page · raw message

drivers/clk/clk-ast2600.c +27 -10
index 7015974f24b4..84ca38450d02 100644
@@ -17,7 +17,8 @@
 
 #define ASPEED_G6_NUM_CLKS		67
 
-#define ASPEED_G6_SILICON_REV		0x004
+#define ASPEED_G6_SILICON_REV		0x014
+#define CHIP_REVISION_ID			GENMASK(23, 16)
 
 #define ASPEED_G6_RESET_CTRL		0x040
 #define ASPEED_G6_RESET_CTRL2		0x050
@@ -189,18 +190,34 @@ static struct clk_hw *ast2600_calc_pll(const char *name, u32 val)
 static struct clk_hw *ast2600_calc_apll(const char *name, u32 val)
 {
 	unsigned int mult, div;
+	u32 chip_id = readl(scu_g6_base + ASPEED_G6_SILICON_REV);
 
-	if (val & BIT(20)) {
-		/* Pass through mode */
-		mult = div = 1;
+	if (((chip_id & CHIP_REVISION_ID) >> 16) >= 2) {
+		if (val & BIT(24)) {
+			/* Pass through mode */
+			mult = div = 1;
+		} else {
+			/* F = 25Mhz * [(m + 1) / (n + 1)] / (p + 1) */
+			u32 m = val & 0x1fff;
+			u32 n = (val >> 13) & 0x3f;
+			u32 p = (val >> 19) & 0xf;
+
+			mult = (m + 1);
+			div = (n + 1) * (p + 1);
+		}
 	} else {
-		/* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */
-		u32 m = (val >> 5) & 0x3f;
-		u32 od = (val >> 4) & 0x1;
-		u32 n = val & 0xf;
+		if (val & BIT(20)) {
+			/* Pass through mode */
+			mult = div = 1;
+		} else {
+			/* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */
+			u32 m = (val >> 5) & 0x3f;
+			u32 od = (val >> 4) & 0x1;
+			u32 n = val & 0xf;
 
-		mult = (2 - od) * (m + 2);
-		div = n + 1;
+			mult = (2 - od) * (m + 2);
+			div = n + 1;
+		}
 	}
 	return clk_hw_register_fixed_factor(NULL, name, "clkin", 0,
 			mult, div);
drivers/clk/meson/clk-pll.c +6 -4
index 3a5853ca98c6..e8df254f8085 100644
@@ -363,13 +363,14 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,
 {
 	struct clk_regmap *clk = to_clk_regmap(hw);
 	struct meson_clk_pll_data *pll = meson_clk_pll_data(clk);
-	unsigned int enabled, m, n, frac = 0, ret;
+	unsigned int enabled, m, n, frac = 0;
 	unsigned long old_rate;
+	int ret;
 
 	if (parent_rate == 0 || rate == 0)
 		return -EINVAL;
 
-	old_rate = rate;
+	old_rate = clk_hw_get_rate(hw);
 
 	ret = meson_clk_get_pll_settings(rate, parent_rate, &m, &n, pll);
 	if (ret)
@@ -391,7 +392,8 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,
 	if (!enabled)
 		return 0;
 
-	if (meson_clk_pll_enable(hw)) {
+	ret = meson_clk_pll_enable(hw);
+	if (ret) {
 		pr_warn("%s: pll did not lock, trying to restore old rate %lu\n",
 			__func__, old_rate);
 		/*
@@ -403,7 +405,7 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,
 		meson_clk_pll_set_rate(hw, old_rate, parent_rate);
 	}
 
-	return 0;
+	return ret;
 }
 
 /*
drivers/clk/qcom/gcc-msm8998.c +50 -50

341 lines not on this page · raw message

drivers/clk/sunxi-ng/ccu-sun50i-h6.c +5 -5
index d89353a3cdec..2f00f1b7b9c0 100644
@@ -228,7 +228,7 @@ static const char * const psi_ahb1_ahb2_parents[] = { "osc24M", "osc32k",
 static SUNXI_CCU_MP_WITH_MUX(psi_ahb1_ahb2_clk, "psi-ahb1-ahb2",
 			     psi_ahb1_ahb2_parents,
 			     0x510,
-			     0, 5,	/* M */
+			     0, 2,	/* M */
 			     8, 2,	/* P */
 			     24, 2,	/* mux */
 			     0);
@@ -237,19 +237,19 @@ static const char * const ahb3_apb1_apb2_parents[] = { "osc24M", "osc32k",
 						       "psi-ahb1-ahb2",
 						       "pll-periph0" };
 static SUNXI_CCU_MP_WITH_MUX(ahb3_clk, "ahb3", ahb3_apb1_apb2_parents, 0x51c,
-			     0, 5,	/* M */
+			     0, 2,	/* M */
 			     8, 2,	/* P */
 			     24, 2,	/* mux */
 			     0);
 
 static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", ahb3_apb1_apb2_parents, 0x520,
-			     0, 5,	/* M */
+			     0, 2,	/* M */
 			     8, 2,	/* P */
 			     24, 2,	/* mux */
 			     0);
 
 static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", ahb3_apb1_apb2_parents, 0x524,
-			     0, 5,	/* M */
+			     0, 2,	/* M */
 			     8, 2,	/* P */
 			     24, 2,	/* mux */
 			     0);
@@ -673,7 +673,7 @@ static struct ccu_mux hdmi_cec_clk = {
 
 	.common		= {
 		.reg		= 0xb10,
-		.features	= CCU_FEATURE_VARIABLE_PREDIV,
+		.features	= CCU_FEATURE_FIXED_PREDIV,
 		.hw.init	= CLK_HW_INIT_PARENTS("hdmi-cec",
 						      hdmi_cec_parents,
 						      &ccu_mux_ops,
drivers/clocksource/Kconfig +1 -0
index f35a53ce8988..3bb5625504e2 100644
@@ -79,6 +79,7 @@ config IXP4XX_TIMER
 	bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
 	depends on HAS_IOMEM
 	select CLKSRC_MMIO
+	select TIMER_OF if OF
 	help
 	  Enables support for the Intel XScale IXP4xx SoC timer.
 
drivers/clocksource/mxs_timer.c +1 -4
index f6ddae30933f..dae8c0c2e606 100644
@@ -138,10 +138,7 @@ static void mxs_irq_clear(char *state)
 
 	/* Clear pending interrupt */
 	timrot_irq_acknowledge();
-
-#ifdef DEBUG
-	pr_info("%s: changing mode to %s\n", __func__, state)
-#endif /* DEBUG */
+	pr_debug("%s: changing mode to %s\n", __func__, state);
 }
 
 static int mxs_shutdown(struct clock_event_device *evt)
drivers/cpufreq/brcmstb-avs-cpufreq.c +17 -7
index 77b0e5d0fb13..a3c82f530d60 100644
@@ -566,6 +566,16 @@ static int brcm_avs_prepare_init(struct platform_device *pdev)
 	return ret;
 }
 
+static void brcm_avs_prepare_uninit(struct platform_device *pdev)
+{
+	struct private_data *priv;
+
+	priv = platform_get_drvdata(pdev);
+
+	iounmap(priv->avs_intr_base);
+	iounmap(priv->base);
+}
+
 static int brcm_avs_cpufreq_init(struct cpufreq_policy *policy)
 {
 	struct cpufreq_frequency_table *freq_table;
@@ -701,21 +711,21 @@ static int brcm_avs_cpufreq_probe(struct platform_device *pdev)
 
 	brcm_avs_driver.driver_data = pdev;
 
-	return cpufreq_register_driver(&brcm_avs_driver);
+	ret = cpufreq_register_driver(&brcm_avs_driver);
+	if (ret)
+		brcm_avs_prepare_uninit(pdev);
+
+	return ret;
 }
 
 static int brcm_avs_cpufreq_remove(struct platform_device *pdev)
 {
-	struct private_data *priv;
 	int ret;
 
 	ret = cpufreq_unregister_driver(&brcm_avs_driver);
-	if (ret)
-		return ret;
+	WARN_ON(ret);
 
-	priv = platform_get_drvdata(pdev);
-	iounmap(priv->base);
-	iounmap(priv->avs_intr_base);
+	brcm_avs_prepare_uninit(pdev);
 
 	return 0;
 }
drivers/cpufreq/intel_pstate.c +3 -2
index b9ca89dc75c7..88fe803a044d 100644
@@ -1566,11 +1566,9 @@ static void intel_pstate_max_within_limits(struct cpudata *cpu)
 static void intel_pstate_get_cpu_pstates(struct cpudata *cpu)
 {
 	cpu->pstate.min_pstate = pstate_funcs.get_min();
-	cpu->pstate.max_pstate = pstate_funcs.get_max();
 	cpu->pstate.max_pstate_physical = pstate_funcs.get_max_physical();
 	cpu->pstate.turbo_pstate = pstate_funcs.get_turbo();
 	cpu->pstate.scaling = pstate_funcs.get_scaling();
-	cpu->pstate.max_freq = cpu->pstate.max_pstate * cpu->pstate.scaling;
 
 	if (hwp_active && !hwp_mode_bdw) {
 		unsigned int phy_max, current_max;
@@ -1578,9 +1576,12 @@ static void intel_pstate_get_cpu_pstates(struct cpudata *cpu)
 		intel_pstate_get_hwp_max(cpu->cpu, &phy_max, &current_max);
 		cpu->pstate.turbo_freq = phy_max * cpu->pstate.scaling;
 		cpu->pstate.turbo_pstate = phy_max;
+		cpu->pstate.max_pstate = HWP_GUARANTEED_PERF(READ_ONCE(cpu->hwp_cap_cached));
 	} else {
 		cpu->pstate.turbo_freq = cpu->pstate.turbo_pstate * cpu->pstate.scaling;
+		cpu->pstate.max_pstate = pstate_funcs.get_max();
 	}
+	cpu->pstate.max_freq = cpu->pstate.max_pstate * cpu->pstate.scaling;
 
 	if (pstate_funcs.get_aperf_mperf_shift)
 		cpu->aperf_mperf_shift = pstate_funcs.get_aperf_mperf_shift();
drivers/crypto/bcm/cipher.c +1 -1
index ec4b5033013e..98b8483577ce 100644
@@ -41,7 +41,7 @@
 
 /* ================= Device Structure ================== */
 
-struct device_private iproc_priv;
+struct bcm_device_private iproc_priv;
 
 /* ==================== Parameters ===================== */
 
drivers/crypto/bcm/cipher.h +2 -2
index 766452b24d0a..01feed268a0d 100644
@@ -418,7 +418,7 @@ struct spu_hw {
 	u32 num_chan;
 };
 
-struct device_private {
+struct bcm_device_private {
 	struct platform_device *pdev;
 
 	struct spu_hw spu;
@@ -465,6 +465,6 @@ struct device_private {
 	struct mbox_chan **mbox;
 };
 
-extern struct device_private iproc_priv;
+extern struct bcm_device_private iproc_priv;
 
 #endif
drivers/crypto/bcm/util.c +1 -1
index cd7504101acd..7227dbf8f46c 100644
@@ -348,7 +348,7 @@ char *spu_alg_name(enum spu_cipher_alg alg, enum spu_cipher_mode mode)
 static ssize_t spu_debugfs_read(struct file *filp, char __user *ubuf,
 				size_t count, loff_t *offp)
 {
-	struct device_private *ipriv;
+	struct bcm_device_private *ipriv;
 	char *buf;
 	ssize_t ret, out_offset, out_count;
 	int i;
drivers/crypto/chelsio/chtls/chtls_cm.h +0 -3
index 3fac0c74a41f..df4451b30649 100644
@@ -50,9 +50,6 @@
 #define MIN_RCV_WND (24 * 1024U)
 #define LOOPBACK(x)     (((x) & htonl(0xff000000)) == htonl(0x7f000000))
 
-/* ulp_mem_io + ulptx_idata + payload + padding */
-#define MAX_IMM_ULPTX_WR_LEN (32 + 8 + 256 + 8)
-
 /* for TX: a skb must have a headroom of at least TX_HEADER_LEN bytes */
 #define TX_HEADER_LEN \
 	(sizeof(struct fw_ofld_tx_data_wr) + sizeof(struct sge_opaque_hdr))
drivers/crypto/sunxi-ss/sun4i-ss-cipher.c +78 -61

288 lines not on this page · raw message

drivers/crypto/sunxi-ss/sun4i-ss.h +2 -0
index 35a27a7145f8..9a2adc130d9a 100644
@@ -138,6 +138,8 @@ struct sun4i_ss_ctx {
 	struct reset_control *reset;
 	struct device *dev;
 	struct resource *res;
+	char buf[4 * SS_RX_MAX];/* buffer for linearize SG src */
+	char bufo[4 * SS_TX_MAX]; /* buffer for linearize SG dst */
 	spinlock_t slock; /* control the use of the device */
 #ifdef CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG
 	u32 seed[SS_SEED_LEN / BITS_PER_LONG];
drivers/crypto/talitos.c +16 -12
index b7c66fc0ae0c..8ef6e93e43f3 100644
@@ -1097,11 +1097,12 @@ static void ipsec_esp_decrypt_hwauth_done(struct device *dev,
  */
 static int sg_to_link_tbl_offset(struct scatterlist *sg, int sg_count,
 				 unsigned int offset, int datalen, int elen,
-				 struct talitos_ptr *link_tbl_ptr)
+				 struct talitos_ptr *link_tbl_ptr, int align)
 {
 	int n_sg = elen ? sg_count + 1 : sg_count;
 	int count = 0;
 	int cryptlen = datalen + elen;
+	int padding = ALIGN(cryptlen, align) - cryptlen;
 
 	while (cryptlen && sg && n_sg--) {
 		unsigned int len = sg_dma_len(sg);
@@ -1125,7 +1126,7 @@ static int sg_to_link_tbl_offset(struct scatterlist *sg, int sg_count,
 			offset += datalen;
 		}
 		to_talitos_ptr(link_tbl_ptr + count,
-			       sg_dma_address(sg) + offset, len, 0);
+			       sg_dma_address(sg) + offset, sg_next(sg) ? len : len + padding, 0);
 		to_talitos_ptr_ext_set(link_tbl_ptr + count, 0, 0);
 		count++;
 		cryptlen -= len;
@@ -1148,10 +1149,11 @@ static int talitos_sg_map_ext(struct device *dev, struct scatterlist *src,
 			      unsigned int len, struct talitos_edesc *edesc,
 			      struct talitos_ptr *ptr, int sg_count,
 			      unsigned int offset, int tbl_off, int elen,
-			      bool force)
+			      bool force, int align)
 {
 	struct talitos_private *priv = dev_get_drvdata(dev);
 	bool is_sec1 = has_ftr_sec1(priv);
+	int aligned_len = ALIGN(len, align);
 
 	if (!src) {
 		to_talitos_ptr(ptr, 0, 0, is_sec1);
@@ -1159,22 +1161,22 @@ static int talitos_sg_map_ext(struct device *dev, struct scatterlist *src,
 	}
 	to_talitos_ptr_ext_set(ptr, elen, is_sec1);
 	if (sg_count == 1 && !force) {
-		to_talitos_ptr(ptr, sg_dma_address(src) + offset, len, is_sec1);
+		to_talitos_ptr(ptr, sg_dma_address(src) + offset, aligned_len, is_sec1);
 		return sg_count;
 	}
 	if (is_sec1) {
-		to_talitos_ptr(ptr, edesc->dma_link_tbl + offset, len, is_sec1);
+		to_talitos_ptr(ptr, edesc->dma_link_tbl + offset, aligned_len, is_sec1);
 		return sg_count;
 	}
 	sg_count = sg_to_link_tbl_offset(src, sg_count, offset, len, elen,
-					 &edesc->link_tbl[tbl_off]);
+					 &edesc->link_tbl[tbl_off], align);
 	if (sg_count == 1 && !force) {
 		/* Only one segment now, so no link tbl needed*/
 		copy_talitos_ptr(ptr, &edesc->link_tbl[tbl_off], is_sec1);
 		return sg_count;
 	}
 	to_talitos_ptr(ptr, edesc->dma_link_tbl +
-			    tbl_off * sizeof(struct talitos_ptr), len, is_sec1);
+			    tbl_off * sizeof(struct talitos_ptr), aligned_len, is_sec1);
 	to_talitos_ptr_ext_or(ptr, DESC_PTR_LNKTBL_JUMP, is_sec1);
 
 	return sg_count;
@@ -1186,7 +1188,7 @@ static int talitos_sg_map(struct device *dev, struct scatterlist *src,
 			  unsigned int offset, int tbl_off)
 {
 	return talitos_sg_map_ext(dev, src, len, edesc, ptr, sg_count, offset,
-				  tbl_off, 0, false);
+				  tbl_off, 0, false, 1);
 }
 
 /*
@@ -1255,7 +1257,7 @@ static int ipsec_esp(struct talitos_edesc *edesc, struct aead_request *areq,
 
 	ret = talitos_sg_map_ext(dev, areq->src, cryptlen, edesc, &desc->ptr[4],
 				 sg_count, areq->assoclen, tbl_off, elen,
-				 false);
+				 false, 1);
 
 	if (ret > 1) {
 		tbl_off += ret;
@@ -1275,7 +1277,7 @@ static int ipsec_esp(struct talitos_edesc *edesc, struct aead_request *areq,
 		elen = 0;
 	ret = talitos_sg_map_ext(dev, areq->dst, cryptlen, edesc, &desc->ptr[5],
 				 sg_count, areq->assoclen, tbl_off, elen,
-				 is_ipsec_esp && !encrypt);
+				 is_ipsec_esp && !encrypt, 1);
 	tbl_off += ret;
 
 	if (!encrypt && is_ipsec_esp) {
@@ -1583,6 +1585,8 @@ static int common_nonsnoop(struct talitos_edesc *edesc,
 	bool sync_needed = false;
 	struct talitos_private *priv = dev_get_drvdata(dev);
 	bool is_sec1 = has_ftr_sec1(priv);
+	bool is_ctr = (desc->hdr & DESC_HDR_SEL0_MASK) == DESC_HDR_SEL0_AESU &&
+		      (desc->hdr & DESC_HDR_MODE0_AESU_MASK) == DESC_HDR_MODE0_AESU_CTR;
 
 	/* first DWORD empty */
 
@@ -1603,8 +1607,8 @@ static int common_nonsnoop(struct talitos_edesc *edesc,
 	/*
 	 * cipher in
 	 */
-	sg_count = talitos_sg_map(dev, areq->src, cryptlen, edesc,
-				  &desc->ptr[3], sg_count, 0, 0);
+	sg_count = talitos_sg_map_ext(dev, areq->src, cryptlen, edesc, &desc->ptr[3],
+				      sg_count, 0, 0, 0, false, is_ctr ? 16 : 1);
 	if (sg_count > 1)
 		sync_needed = true;
 
drivers/crypto/talitos.h +1 -0
index 1469b956948a..32825119e880 100644
@@ -344,6 +344,7 @@ static inline bool has_ftr_sec1(struct talitos_private *priv)
 
 /* primary execution unit mode (MODE0) and derivatives */
 #define	DESC_HDR_MODE0_ENCRYPT		cpu_to_be32(0x00100000)
+#define	DESC_HDR_MODE0_AESU_MASK	cpu_to_be32(0x00600000)
 #define	DESC_HDR_MODE0_AESU_CBC		cpu_to_be32(0x00200000)
 #define	DESC_HDR_MODE0_AESU_CTR		cpu_to_be32(0x00600000)
 #define	DESC_HDR_MODE0_DEU_CBC		cpu_to_be32(0x00400000)
drivers/dma/fsldma.c +6 -0
index ad72b3f42ffa..eae385a312b8 100644
@@ -1214,6 +1214,7 @@ static int fsldma_of_probe(struct platform_device *op)
 {
 	struct fsldma_device *fdev;
 	struct device_node *child;
+	unsigned int i;
 	int err;
 
 	fdev = kzalloc(sizeof(*fdev), GFP_KERNEL);
@@ -1292,6 +1293,10 @@ static int fsldma_of_probe(struct platform_device *op)
 	return 0;
 
 out_free_fdev:
+	for (i = 0; i < FSL_DMA_MAX_CHANS_PER_DEVICE; i++) {
+		if (fdev->chan[i])
+			fsl_dma_chan_remove(fdev->chan[i]);
+	}
 	irq_dispose_mapping(fdev->irq);
 	iounmap(fdev->regs);
 out_free:
@@ -1314,6 +1319,7 @@ static int fsldma_of_remove(struct platform_device *op)
 		if (fdev->chan[i])
 			fsl_dma_chan_remove(fdev->chan[i]);
 	}
+	irq_dispose_mapping(fdev->irq);
 
 	iounmap(fdev->regs);
 	kfree(fdev);
drivers/dma/hsu/pci.c +11 -10
index 07cc7320a614..9045a6f7f589 100644
@@ -26,22 +26,12 @@
 static irqreturn_t hsu_pci_irq(int irq, void *dev)
 {
 	struct hsu_dma_chip *chip = dev;
-	struct pci_dev *pdev = to_pci_dev(chip->dev);
 	u32 dmaisr;
 	u32 status;
 	unsigned short i;
 	int ret = 0;
 	int err;
 
-	/*
-	 * On Intel Tangier B0 and Anniedale the interrupt line, disregarding
-	 * to have different numbers, is shared between HSU DMA and UART IPs.
-	 * Thus on such SoCs we are expecting that IRQ handler is called in
-	 * UART driver only.
-	 */
-	if (pdev->device == PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA)
-		return IRQ_HANDLED;
-
 	dmaisr = readl(chip->regs + HSU_PCI_DMAISR);
 	for (i = 0; i < chip->hsu->nr_channels; i++) {
 		if (dmaisr & 0x1) {
@@ -105,6 +95,17 @@ static int hsu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	if (ret)
 		goto err_register_irq;
 
+	/*
+	 * On Intel Tangier B0 and Anniedale the interrupt line, disregarding
+	 * to have different numbers, is shared between HSU DMA and UART IPs.
+	 * Thus on such SoCs we are expecting that IRQ handler is called in
+	 * UART driver only. Instead of handling the spurious interrupt
+	 * from HSU DMA here and waste CPU time and delay HSU UART interrupt
+	 * handling, disable the interrupt entirely.
+	 */
+	if (pdev->device == PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA)
+		disable_irq_nosync(chip->irq);
+
 	pci_set_drvdata(pdev, chip);
 
 	return 0;
drivers/dma/owl-dma.c +1 -0
index af20e9a790a2..bb9c361e224b 100644
@@ -1201,6 +1201,7 @@ static int owl_dma_remove(struct platform_device *pdev)
 	owl_dma_free(od);
 
 	clk_disable_unprepare(od->clk);
+	dma_pool_destroy(od->lli_pool);
 
 	return 0;
 }
drivers/gpio/gpio-pcf857x.c +1 -1
index 14fb8f6a1ad2..abcc8c0136c4 100644
@@ -332,7 +332,7 @@ static int pcf857x_probe(struct i2c_client *client,
 	 * reset state.  Otherwise it flags pins to be driven low.
 	 */
 	gpio->out = ~n_latch;
-	gpio->status = gpio->out;
+	gpio->status = gpio->read(gpio->client);
 
 	status = devm_gpiochip_add_data(&client->dev, &gpio->chip, gpio);
 	if (status < 0)
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +3 -3
index 3f744e72912f..bcb7ab5c602d 100644
@@ -870,7 +870,7 @@ static ssize_t amdgpu_get_pp_dpm_sclk(struct device *dev,
 static ssize_t amdgpu_read_mask(const char *buf, size_t count, uint32_t *mask)
 {
 	int ret;
-	long level;
+	unsigned long level;
 	char *sub_str = NULL;
 	char *tmp;
 	char buf_cpy[AMDGPU_MASK_BUF_MAX + 1];
@@ -886,8 +886,8 @@ static ssize_t amdgpu_read_mask(const char *buf, size_t count, uint32_t *mask)
 	while (tmp[0]) {
 		sub_str = strsep(&tmp, delimiter);
 		if (strlen(sub_str)) {
-			ret = kstrtol(sub_str, 0, &level);
-			if (ret)
+			ret = kstrtoul(sub_str, 0, &level);
+			if (ret || level > 31)
 				return -EINVAL;
 			*mask |= 1 << level;
 		} else
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +1 -1
index 91899d28fa72..e8132210c244 100644
@@ -21,7 +21,7 @@
  *
  */
 
-#if !defined(_AMDGPU_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
+#if !defined(_AMDGPU_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
 #define _AMDGPU_TRACE_H_
 
 #include <linux/stringify.h>
drivers/gpu/drm/amd/amdgpu/soc15.c +2 -0
index 317aa257c06b..41631271d64c 100644
@@ -276,6 +276,8 @@ static u32 soc15_get_xclk(struct amdgpu_device *adev)
 {
 	u32 reference_clock = adev->clock.spll.reference_freq;
 
+	if (adev->asic_type == CHIP_RENOIR)
+		return 10000;
 	if (adev->asic_type == CHIP_RAVEN)
 		return reference_clock / 4;
 
drivers/gpu/drm/amd/display/dc/bios/command_table.c +61 -0

85 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +14 -0
index f787a6b94781..eca67d5d5b10 100644
@@ -871,6 +871,20 @@ static bool dce110_program_pix_clk(
 	bp_pc_params.flags.SET_EXTERNAL_REF_DIV_SRC =
 					pll_settings->use_external_clk;
 
+	switch (pix_clk_params->color_depth) {
+	case COLOR_DEPTH_101010:
+		bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_30;
+		break;
+	case COLOR_DEPTH_121212:
+		bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_36;
+		break;
+	case COLOR_DEPTH_161616:
+		bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_48;
+		break;
+	default:
+		break;
+	}
+
 	if (clk_src->bios->funcs->set_pixel_clock(
 			clk_src->bios, &bp_pc_params) != BP_RESULT_OK)
 		return false;
drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c +1 -0
index 6ed922a3c1cd..c25840a774f9 100644
@@ -563,6 +563,7 @@ static void dce110_stream_encoder_hdmi_set_stream_attribute(
 	cntl.enable_dp_audio = enable_audio;
 	cntl.pixel_clock = actual_pix_clk_khz;
 	cntl.lanes_number = LANE_COUNT_FOUR;
+	cntl.color_depth = crtc_timing->display_color_depth;
 
 	if (enc110->base.bp->funcs->encoder_control(
 			enc110->base.bp, &cntl) != BP_RESULT_OK)
drivers/gpu/drm/amd/display/dc/dce/dce_transform.c +4 -4
index ab63d0d0304c..6fd57cfb112f 100644
@@ -429,12 +429,12 @@ static void set_clamp(
 		clamp_max = 0x3FC0;
 		break;
 	case COLOR_DEPTH_101010:
-		/* 10bit MSB aligned on 14 bit bus '11 1111 1111 1100' */
-		clamp_max = 0x3FFC;
+		/* 10bit MSB aligned on 14 bit bus '11 1111 1111 0000' */
+		clamp_max = 0x3FF0;
 		break;
 	case COLOR_DEPTH_121212:
-		/* 12bit MSB aligned on 14 bit bus '11 1111 1111 1111' */
-		clamp_max = 0x3FFF;
+		/* 12bit MSB aligned on 14 bit bus '11 1111 1111 1100' */
+		clamp_max = 0x3FFC;
 		break;
 	default:
 		clamp_max = 0x3FC0;
drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c +22 -0
index cbe7818529bb..623455cd7520 100644
@@ -168,6 +168,11 @@ static const struct irq_source_info_funcs vblank_irq_info_funcs = {
 	.ack = NULL
 };
 
+static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
+	.set = NULL,
+	.ack = NULL
+};
+
 #undef BASE_INNER
 #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
 
@@ -230,6 +235,17 @@ static const struct irq_source_info_funcs vblank_irq_info_funcs = {
 		.funcs = &vblank_irq_info_funcs\
 	}
 
+/* vupdate_no_lock_int_entry maps to DC_IRQ_SOURCE_VUPDATEx, to match semantic
+ * of DCE's DC_IRQ_SOURCE_VUPDATEx.
+ */
+#define vupdate_no_lock_int_entry(reg_num)\
+	[DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\
+		IRQ_REG_ENTRY(OTG, reg_num,\
+			OTG_GLOBAL_SYNC_STATUS, VUPDATE_NO_LOCK_INT_EN,\
+			OTG_GLOBAL_SYNC_STATUS, VUPDATE_NO_LOCK_EVENT_CLEAR),\
+		.funcs = &vupdate_no_lock_irq_info_funcs\
+	}
+
 #define vblank_int_entry(reg_num)\
 	[DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\
 		IRQ_REG_ENTRY(OTG, reg_num,\
@@ -338,6 +354,12 @@ irq_source_info_dcn21[DAL_IRQ_SOURCES_NUMBER] = {
 	vupdate_int_entry(3),
 	vupdate_int_entry(4),
 	vupdate_int_entry(5),
+	vupdate_no_lock_int_entry(0),
+	vupdate_no_lock_int_entry(1),
+	vupdate_no_lock_int_entry(2),
+	vupdate_no_lock_int_entry(3),
+	vupdate_no_lock_int_entry(4),
+	vupdate_no_lock_int_entry(5),
 	vblank_int_entry(0),
 	vblank_int_entry(1),
 	vblank_int_entry(2),
drivers/gpu/drm/drm_fb_helper.c +10 -5
index 6b8502bcf0fd..02ffde5fd722 100644
@@ -965,11 +965,15 @@ static int setcmap_legacy(struct fb_cmap *cmap, struct fb_info *info)
 	drm_modeset_lock_all(fb_helper->dev);
 	drm_client_for_each_modeset(modeset, &fb_helper->client) {
 		crtc = modeset->crtc;
-		if (!crtc->funcs->gamma_set || !crtc->gamma_size)
-			return -EINVAL;
+		if (!crtc->funcs->gamma_set || !crtc->gamma_size) {
+			ret = -EINVAL;
+			goto out;
+		}
 
-		if (cmap->start + cmap->len > crtc->gamma_size)
-			return -EINVAL;
+		if (cmap->start + cmap->len > crtc->gamma_size) {
+			ret = -EINVAL;
+			goto out;
+		}
 
 		r = crtc->gamma_store;
 		g = r + crtc->gamma_size;
@@ -982,8 +986,9 @@ static int setcmap_legacy(struct fb_cmap *cmap, struct fb_info *info)
 		ret = crtc->funcs->gamma_set(crtc, r, g, b,
 					     crtc->gamma_size, NULL);
 		if (ret)
-			return ret;
+			goto out;
 	}
+out:
 	drm_modeset_unlock_all(fb_helper->dev);
 
 	return ret;
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c +13 -9
index e28107061148..fc9a34ed58bd 100644
@@ -279,11 +279,8 @@ int oaktrail_hdmi_i2c_init(struct pci_dev *dev)
 	hdmi_dev = pci_get_drvdata(dev);
 
 	i2c_dev = kzalloc(sizeof(struct hdmi_i2c_dev), GFP_KERNEL);
-	if (i2c_dev == NULL) {
-		DRM_ERROR("Can't allocate interface\n");
-		ret = -ENOMEM;
-		goto exit;
-	}
+	if (!i2c_dev)
+		return -ENOMEM;
 
 	i2c_dev->adap = &oaktrail_hdmi_i2c_adapter;
 	i2c_dev->status = I2C_STAT_INIT;
@@ -300,16 +297,23 @@ int oaktrail_hdmi_i2c_init(struct pci_dev *dev)
 			  oaktrail_hdmi_i2c_adapter.name, hdmi_dev);
 	if (ret) {
 		DRM_ERROR("Failed to request IRQ for I2C controller\n");
-		goto err;
+		goto free_dev;
 	}
 
 	/* Adapter registration */
 	ret = i2c_add_numbered_adapter(&oaktrail_hdmi_i2c_adapter);
-	return ret;
+	if (ret) {
+		DRM_ERROR("Failed to add I2C adapter\n");
+		goto free_irq;
+	}
 
-err:
+	return 0;
+
+free_irq:
+	free_irq(dev->irq, hdmi_dev);
+free_dev:
 	kfree(i2c_dev);
-exit:
+
 	return ret;
 }
 
drivers/gpu/drm/gma500/psb_drv.c +2 -0
index 7005f8f69c68..d414525eccf6 100644
@@ -313,6 +313,8 @@ static int psb_driver_load(struct drm_device *dev, unsigned long flags)
 	if (ret)
 		goto out_err;
 
+	ret = -ENOMEM;
+
 	dev_priv->mmu = psb_mmu_driver_init(dev, 1, 0, 0);
 	if (!dev_priv->mmu)
 		goto out_err;
drivers/gpu/drm/i915/display/intel_hdmi.c +5 -1
index b030f7ae3302..4cf95e8031e3 100644
@@ -2129,7 +2129,11 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
 	if (clock > hdmi_port_clock_limit(hdmi, respect_downstream_limits, force_dvi))
 		return MODE_CLOCK_HIGH;
 
-	/* BXT DPLL can't generate 223-240 MHz */
+	/* GLK DPLL can't generate 446-480 MHz */
+	if (IS_GEMINILAKE(dev_priv) && clock > 446666 && clock < 480000)
+		return MODE_CLOCK_RANGE;
+
+	/* BXT/GLK DPLL can't generate 223-240 MHz */
 	if (IS_GEN9_LP(dev_priv) && clock > 223333 && clock < 240000)
 		return MODE_CLOCK_RANGE;
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +1 -1
index 03c6d6157e4d..395146884a22 100644
@@ -1099,7 +1099,7 @@ static void mdp5_crtc_pp_done_irq(struct mdp_irq *irq, uint32_t irqstatus)
 	struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc,
 								pp_done);
 
-	complete(&mdp5_crtc->pp_completion);
+	complete_all(&mdp5_crtc->pp_completion);
 }
 
 static void mdp5_crtc_wait_for_pp_done(struct drm_crtc *crtc)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c +1 -1
index 1afb7c579dbb..eca86bf448f7 100644
@@ -139,7 +139,7 @@ const struct msm_dsi_phy_cfg dsi_phy_20nm_cfgs = {
 		.disable = dsi_20nm_phy_disable,
 		.init = msm_dsi_phy_init_common,
 	},
-	.io_start = { 0xfd998300, 0xfd9a0300 },
+	.io_start = { 0xfd998500, 0xfd9a0500 },
 	.num_dsi_phy = 2,
 };
 
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h +1 -0
index f5f59261ea81..d1beaad0c82b 100644
@@ -14,6 +14,7 @@ enum dcb_connector_type {
 	DCB_CONNECTOR_LVDS_SPWG = 0x41,
 	DCB_CONNECTOR_DP = 0x46,
 	DCB_CONNECTOR_eDP = 0x47,
+	DCB_CONNECTOR_mDP = 0x48,
 	DCB_CONNECTOR_HDMI_0 = 0x60,
 	DCB_CONNECTOR_HDMI_1 = 0x61,
 	DCB_CONNECTOR_HDMI_C = 0x63,
drivers/gpu/drm/nouveau/nouveau_chan.c +1 -0
index 282fd90b65e1..9ce7b0d4b876 100644
@@ -497,6 +497,7 @@ nouveau_channel_new(struct nouveau_drm *drm, struct nvif_device *device,
 	if (ret) {
 		NV_PRINTK(err, cli, "channel failed to initialise, %d\n", ret);
 		nouveau_channel_del(pchan);
+		goto done;
 	}
 
 	ret = nouveau_svmm_join((*pchan)->vmm->svmm, (*pchan)->inst);
drivers/gpu/drm/nouveau/nouveau_connector.c +1 -0
index 0994aee7671a..496e7dcd6b7d 100644
@@ -1240,6 +1240,7 @@ drm_conntype_from_dcb(enum dcb_connector_type dcb)
 	case DCB_CONNECTOR_DMS59_DP0:
 	case DCB_CONNECTOR_DMS59_DP1:
 	case DCB_CONNECTOR_DP       :
+	case DCB_CONNECTOR_mDP      :
 	case DCB_CONNECTOR_USB_C    : return DRM_MODE_CONNECTOR_DisplayPort;
 	case DCB_CONNECTOR_eDP      : return DRM_MODE_CONNECTOR_eDP;
 	case DCB_CONNECTOR_HDMI_0   :
drivers/gpu/drm/scheduler/sched_main.c +3 -0
index 134e9106ebac..37679507f943 100644
@@ -851,6 +851,9 @@ void drm_sched_fini(struct drm_gpu_scheduler *sched)
 	if (sched->thread)
 		kthread_stop(sched->thread);
 
+	/* Confirm no work left behind accessing device structures */
+	cancel_delayed_work_sync(&sched->work_tdr);
+
 	sched->ready = false;
 }
 EXPORT_SYMBOL(drm_sched_fini);
drivers/gpu/drm/sun4i/sun4i_tcon.c +2 -19
index 6bf1425e8b0c..eb3b2350687f 100644
@@ -545,30 +545,13 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
 	if (info->bus_flags & DRM_BUS_FLAG_DE_LOW)
 		val |= SUN4I_TCON0_IO_POL_DE_NEGATIVE;
 
-	/*
-	 * On A20 and similar SoCs, the only way to achieve Positive Edge
-	 * (Rising Edge), is setting dclk clock phase to 2/3(240°).
-	 * By default TCON works in Negative Edge(Falling Edge),
-	 * this is why phase is set to 0 in that case.
-	 * Unfortunately there's no way to logically invert dclk through
-	 * IO_POL register.
-	 * The only acceptable way to work, triple checked with scope,
-	 * is using clock phase set to 0° for Negative Edge and set to 240°
-	 * for Positive Edge.
-	 * On A33 and similar SoCs there would be a 90° phase option,
-	 * but it divides also dclk by 2.
-	 * Following code is a way to avoid quirks all around TCON
-	 * and DOTCLOCK drivers.
-	 */
-	if (info->bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE)
-		clk_set_phase(tcon->dclk, 240);
-
 	if (info->bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE)
-		clk_set_phase(tcon->dclk, 0);
+		val |= SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE;
 
 	regmap_update_bits(tcon->regs, SUN4I_TCON0_IO_POL_REG,
 			   SUN4I_TCON0_IO_POL_HSYNC_POSITIVE |
 			   SUN4I_TCON0_IO_POL_VSYNC_POSITIVE |
+			   SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE |
 			   SUN4I_TCON0_IO_POL_DE_NEGATIVE,
 			   val);
 
drivers/gpu/drm/sun4i/sun4i_tcon.h +1 -0
index 5bdbaf084782..ce500c8dd4c7 100644
@@ -113,6 +113,7 @@
 #define SUN4I_TCON0_IO_POL_REG			0x88
 #define SUN4I_TCON0_IO_POL_DCLK_PHASE(phase)		((phase & 3) << 28)
 #define SUN4I_TCON0_IO_POL_DE_NEGATIVE			BIT(27)
+#define SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE		BIT(26)
 #define SUN4I_TCON0_IO_POL_HSYNC_POSITIVE		BIT(25)
 #define SUN4I_TCON0_IO_POL_VSYNC_POSITIVE		BIT(24)
 
drivers/hid/hid-core.c +3 -0
index 263eca119ff0..8d202011b2db 100644
@@ -1300,6 +1300,9 @@ EXPORT_SYMBOL_GPL(hid_open_report);
 
 static s32 snto32(__u32 value, unsigned n)
 {
+	if (!value || !n)
+		return 0;
+
 	switch (n) {
 	case 8:  return ((__s8)value);
 	case 16: return ((__s16)value);
drivers/hid/hid-logitech-dj.c +1 -0
index e5550a5bf49d..86001cfbdb6f 100644
@@ -980,6 +980,7 @@ static void logi_hidpp_recv_queue_notif(struct hid_device *hdev,
 	case 0x07:
 		device_type = "eQUAD step 4 Gaming";
 		logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem);
+		workitem.reports_supported |= STD_KEYBOARD;
 		break;
 	case 0x08:
 		device_type = "eQUAD step 4 for gamepads";
drivers/hid/wacom_wac.c +6 -1
index b74acbd5997b..f1928c1ac139 100644
@@ -2600,7 +2600,12 @@ static void wacom_wac_finger_event(struct hid_device *hdev,
 		wacom_wac->is_invalid_bt_frame = !value;
 		return;
 	case HID_DG_CONTACTMAX:
-		features->touch_max = value;
+		if (!features->touch_max) {
+			features->touch_max = value;
+		} else {
+			hid_warn(hdev, "%s: ignoring attempt to overwrite non-zero touch_max "
+				 "%d -> %d\n", __func__, features->touch_max, value);
+		}
 		return;
 	}
 
drivers/hsi/controllers/omap_ssi_core.c +1 -1
index 2be9c01e175c..f36036be7f03 100644
@@ -424,7 +424,7 @@ static int ssi_hw_init(struct hsi_controller *ssi)
 	struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi);
 	int err;
 
-	err = pm_runtime_get_sync(ssi->device.parent);
+	err = pm_runtime_resume_and_get(ssi->device.parent);
 	if (err < 0) {
 		dev_err(&ssi->device, "runtime PM failed %d\n", err);
 		return err;
drivers/hv/channel_mgmt.c +1 -2
index 452307c79e4b..0b55bc146b29 100644
@@ -1101,8 +1101,7 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
 			vmbus_device_unregister(channel->device_obj);
 			put_device(dev);
 		}
-	}
-	if (channel->primary_channel != NULL) {
+	} else if (channel->primary_channel != NULL) {
 		/*
 		 * Sub-channel is being rescinded. Following is the channel
 		 * close sequence when initiated from the driveri (refer to
drivers/i2c/busses/i2c-bcm-iproc.c +181 -50

108 lines not on this page · raw message

drivers/i2c/busses/i2c-brcmstb.c +1 -1
index 506991596b68..5e89cd6b690c 100644

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

drivers/i2c/busses/i2c-qcom-geni.c +43 -16

59 lines not on this page · raw message

drivers/infiniband/core/cm.c +4 -4
index fd7c84721b0d..c933c1c7ddd8 100644

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

drivers/infiniband/core/user_mad.c +16 -1
index da229eab5903..ad3a092b8b5c 100644

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

drivers/infiniband/hw/hns/hns_roce_device.h +1 -1
index e36d31569081..3e68ba9dab45 100644

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

drivers/infiniband/hw/hns/hns_roce_hw_v2.c +3 -4
index e8933daab499..d01e3222c00c 100644

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

drivers/infiniband/hw/hns/hns_roce_main.c +1 -2
index b5d196c119ee..f23a341400c0 100644

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

drivers/infiniband/hw/mlx5/devx.c +3 -1
index fd75a9043bf1..4d6f25fdcc0e 100644

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

drivers/infiniband/hw/mlx5/main.c +1 -2
index c9e583c05ef2..e2656b68ec22 100644

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

drivers/infiniband/sw/rxe/rxe_net.c +5 -0
index 312c2fc961c0..d41135682891 100644

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

drivers/infiniband/sw/rxe/rxe_recv.c +18 -9
index 9bfb98056fc2..369ba76f1605 100644

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

drivers/infiniband/sw/siw/siw.h +1 -1
index dba4535494ab..4d8bc995b450 100644

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

drivers/infiniband/sw/siw/siw_main.c +1 -1
index fb66d6757278..dbbf8c6c16d3 100644

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

drivers/infiniband/sw/siw/siw_qp.c +142 -129

271 lines not on this page · raw message

drivers/infiniband/sw/siw/siw_qp_rx.c +18 -8
index 0520e70084f9..c7c38f7fd29d 100644

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

drivers/infiniband/sw/siw/siw_qp_tx.c +2 -2
index e7cd04eda04a..424918eb1cd4 100644

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

drivers/infiniband/sw/siw/siw_verbs.c +14 -6
index 1b1a40db529c..2c3704f0f10f 100644

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

drivers/input/joydev.c +5 -2
index a2b5fbba2d3b..430dc6975004 100644

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

drivers/input/joystick/xpad.c +1 -0
index 3d004ca76b6e..e5f1e3cf9179 100644

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

drivers/input/serio/i8042-x86ia64io.h +4 -0
index b7dbcbac3a1a..e7346c5f4738 100644

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

drivers/input/touchscreen/elo.c +3 -1
index d6772a2c2d09..e396857cb4c1 100644

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

drivers/input/touchscreen/raydium_i2c_ts.c +2 -1
index fe245439adee..2c67f8eacc7c 100644

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

drivers/input/touchscreen/sur40.c +1 -0
index 2e2ea5719c90..902522df0359 100644

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

drivers/md/bcache/bcache.h +3 -0
index 859567ad3db4..36de6f7ddf22 100644

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

drivers/md/bcache/btree.c +19 -2
index 8d06105fc9ff..5a33910aea78 100644

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

drivers/md/bcache/journal.c +2 -2
index 8250d2d1d780..b4fd923e0d40 100644

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

drivers/md/bcache/super.c +20 -0
index 63f5ce18311b..b0d569032dd4 100644

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

drivers/md/dm-core.h +4 -0
index c4ef1fceead6..3fea121fcbcf 100644

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

drivers/md/dm-crypt.c +1 -0
index 1af82fbbac0c..d85648b9c247 100644

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

drivers/md/dm-era-target.c +60 -33

93 lines not on this page · raw message

drivers/md/dm-writecache.c +18 -0
index 08ae59a6e873..4c2971835d33 100644

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

drivers/md/dm.c +60 -0

60 lines not on this page · raw message

drivers/media/i2c/ov5670.c +2 -1
index 041fcbb4eebd..79e608dba4b6 100644

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

drivers/media/pci/cx25821/cx25821-core.c +3 -1
index 41be22ce66f3..44839a6461e8 100644

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

drivers/media/pci/intel/ipu3/ipu3-cio2.c +1 -1
index 253f05aef3b1..7808ec1052bf 100644

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

drivers/media/pci/saa7134/saa7134-empress.c +4 -1
index cb65d345fd3e..e2666d1c6896 100644

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

drivers/media/pci/smipcie/smipcie-ir.c +26 -20

46 lines not on this page · raw message

drivers/media/platform/aspeed-video.c +3 -3
index 4eaaf39b9223..e0299a789923 100644

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

drivers/media/platform/pxa_camera.c +3 -0
index 8d47ea0c33f8..6e04e3ec61ba 100644

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

drivers/media/platform/qcom/camss/camss-video.c +1 -0
index 1d50dfbbb762..4c2675b43718 100644

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

drivers/media/platform/vsp1/vsp1_drv.c +3 -1
index dc62533cf32c..aa66e4f5f3f3 100644

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

drivers/media/rc/mceusb.c +1 -1
index f9616158bcf4..867f5fb6fbe1 100644

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

drivers/media/tuners/qm1d1c0042.c +3 -1
index 83ca5dc047ea..baa9950783b6 100644

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

drivers/media/usb/dvb-usb-v2/lmedm04.c +1 -1
index 62d3566bf7ee..5ac1a6af8782 100644

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

drivers/media/usb/em28xx/em28xx-core.c +1 -5
index e6088b5d1b80..3daa64bb1e1d 100644

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

drivers/media/usb/tm6000/tm6000-dvb.c +4 -0
index 19c90fa9e443..293a460f4616 100644

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

drivers/media/usb/uvc/uvc_v4l2.c +9 -9
index 5e6f3153b5ff..7d60dd3b0bd8 100644

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

drivers/memory/mtk-smi.c +2 -2
index a113e811faab..da1ce7fd4cf5 100644

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

drivers/memory/ti-aemif.c +6 -2
index db526dbf71ee..94219d2a2773 100644

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

drivers/mfd/bd9571mwv.c +3 -3
index fab3cdc27ed6..19d57a45134c 100644

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

drivers/mfd/wm831x-auxadc.c +1 -2
index 8a7cc0f86958..65b98f3fbd92 100644

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

drivers/misc/cardreader/rts5227.c +5 -0
index 3a9467aaa435..c3e3907a0c2f 100644

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

drivers/misc/eeprom/eeprom_93xx46.c +1 -0
index 94cfb675fe4e..414dcbd3c3c2 100644

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

drivers/misc/mei/hbm.c +1 -1
index a44094cdbc36..d20b2b99c6f2 100644

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

drivers/misc/vmw_vmci/vmci_queue_pair.c +4 -1
index c49065887e8f..c2338750313c 100644

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

drivers/mmc/host/renesas_sdhi_internal_dmac.c +2 -2
index cb89f0578d42..f54d0427e9c0 100644

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

drivers/mmc/host/sdhci-esdhc-imx.c +2 -1
index b03d65222622..771676209005 100644

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

drivers/mmc/host/sdhci-sprd.c +3 -3
index d07b9793380f..10705e5fa90e 100644

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

drivers/mmc/host/usdhi6rol0.c +3 -1
index b11ac2314328..6eba2441c7ef 100644

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

drivers/mtd/parsers/afs.c +1 -3
index 752b6cf005f7..8fd61767af83 100644

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

drivers/mtd/parsers/parser_imagetag.c +4 -0
index d69607b48227..fab0949aabba 100644

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

drivers/mtd/spi-nor/cadence-quadspi.c +1 -1
index 7bef63947b29..97a5e1eaeefd 100644

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

drivers/mtd/spi-nor/hisi-sfc.c +3 -1
index 6dac9dd8bf42..8fcc48056a8b 100644

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

drivers/mtd/spi-nor/spi-nor.c +8 -7
index 40586ad17f52..dd6963e4af2c 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-common.h +14 -0
index b40d4377cc71..b2cd3bdba9f8 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-drv.c +1 -0
index 3bd20f765120..da8c2c4aca7e 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +1 -2
index 8a3a60bb2688..156a0bc8ab01 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +38 -1
index 128cd648ba99..d6f6afb67bcc 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -1
index 7c8187d38675..4ae49d92c1ee 100644

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

drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h +3 -0
index cee582e36134..6b71ec33bf14 100644

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

drivers/net/ethernet/chelsio/cxgb4/sge.c +8 -3
index 049f1bbe27ab..57bf10b4d80c 100644

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

drivers/net/ethernet/ibm/ibmvnic.c +12 -4
index 0f35eec967ae..309cdc5ebc1f 100644

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

drivers/net/ethernet/intel/i40e/i40e_ethtool.c +9 -7
index b577e6adf3bf..82c62e467870 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +14 -36

50 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_txrx.c +6 -3
index f47841f3a69d..218aada8949d 100644

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

drivers/net/ethernet/marvell/mvneta.c +8 -1
index 94e3f8b869be..7b0543056b10 100644

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

drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +1 -0
index 1187ef1375e2..cb341372d5a3 100644

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

drivers/net/ethernet/realtek/r8169_main.c +2 -2
index 1e8244ec5b33..131be1fa770c 100644

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

drivers/net/ethernet/sun/sunvnet_common.c +4 -19
index 8b94d9ad9e2b..f87e135a8aef 100644

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

drivers/net/ethernet/xilinx/xilinx_axienet_main.c +12 -14
index bb6e52f3bdf9..f98318d93ce7 100644

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

drivers/net/gtp.c +2 -3
index 4e19c3149848..d0653babab92 100644

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

drivers/net/vxlan.c +8 -3
index 5502e145aa17..8443df79fabc 100644

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

drivers/net/wireless/ath/ath10k/snoc.c +3 -2
index 63607c3b8e81..d4589b2ab3b6 100644

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

drivers/net/wireless/ath/ath9k/debug.c +4 -1
index 26ea51a72156..859a865c5995 100644

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

drivers/net/wireless/broadcom/b43/phy_n.c +1 -1
index d3c001fa8eb4..32ce1b42ce08 100644

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

drivers/net/xen-netback/interface.c +5 -3
index e889488b84a0..809089587301 100644

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

drivers/nvmem/core.c +4 -1
index 84f4078216a3..3ba68baeed1d 100644

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

drivers/of/fdt.c +10 -2
index 223d617ecfe1..fc24102e25ce 100644

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

drivers/pci/controller/dwc/pcie-qcom.c +3 -1
index 14196c0287a2..a8eab4e67af1 100644

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

drivers/pci/setup-res.c +6 -0
index d21fa04fa44d..da5023e27951 100644

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

drivers/pci/syscall.c +5 -5
index 31e39558d49d..8b003c890b87 100644

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

drivers/phy/rockchip/phy-rockchip-emmc.c +5 -3
index 2dc19ddd120f..a005fc58bbf0 100644

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

drivers/power/reset/at91-sama5d2_shdwc.c +1 -1
index e341cc5c0ea6..c84df27cd548 100644

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

drivers/pwm/pwm-rockchip.c +0 -1
index 73352e6fbccb..6ad6aad215cf 100644

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

drivers/regulator/axp20x-regulator.c +3 -4
index aefc351bfed5..86a3c2dd0584 100644

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

drivers/regulator/core.c +3 -3
index 5b9d570df85c..a31b6ae92a84 100644

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

drivers/regulator/qcom-rpmh-regulator.c +1 -1
index a47f87b8373d..68d22acdb037 100644

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

drivers/regulator/s5m8767.c +11 -4
index 6ca27e9d5ef7..5276f8442f3c 100644

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

drivers/rtc/Kconfig +1 -0
index c5b980414086..9ae7ce3f5069 100644

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

drivers/s390/virtio/virtio_ccw.c +2 -2
index 957889a42d2e..f6f03a349c3f 100644

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

drivers/scsi/bnx2fc/Kconfig +1 -0
index e0ccb48ec961..40e9c9dc04bd 100644

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

drivers/soc/aspeed/aspeed-lpc-snoop.c +27 -3
index f3d8d53ab84d..dbe5325a324d 100644

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

drivers/soundwire/cadence_master.c +4 -4
index e3d06330d125..f7d0f63921dc 100644

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

drivers/spi/spi-atmel.c +1 -1
index abbc1582f457..d9711ea5b01d 100644

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

drivers/spi/spi-pxa2xx-pci.c +19 -8
index f236e3034cf8..aafac128bb5f 100644

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

drivers/spi/spi-s3c24xx-fiq.S +3 -6
index e95d6282109e..68ea12bead22 100644

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

drivers/spi/spi-stm32.c +4 -0
index 77ddf23b65d6..8622cf9d3f64 100644

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

drivers/spi/spi-synquacer.c +4 -0
index 5ab5119e2f1b..785e7c445123 100644

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

drivers/spmi/spmi-pmic-arb.c +2 -3
index de844b412110..bbbd311eda03 100644

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

drivers/staging/gdm724x/gdm_usb.c +7 -3
index dc4da66c3695..54bdb64f52e8 100644

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

drivers/staging/media/imx/imx-media-csc-scaler.c +0 -4
index 2b635ebf62d6..a15d970adb98 100644

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

drivers/staging/media/imx/imx-media-dev.c +6 -1
index 2c3c2adca683..e16408af92d9 100644

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

drivers/staging/mt7621-dma/Makefile +1 -1
index 66da1bf10c32..23256d1286f3 100644

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

drivers/staging/mt7621-dma/hsdma-mt7621.c new file +762 -0

762 lines not on this page · raw message

drivers/staging/mt7621-dma/mtk-hsdma.c deleted +0 -762

762 lines not on this page · raw message

drivers/staging/rtl8188eu/os_dep/usb_intf.c +1 -0
index f7f09c0d273f..5b103e829ee7 100644

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

drivers/staging/rtl8723bs/os_dep/wifi_regd.c +1 -1
index 578b9f734231..65592bf84f38 100644

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

drivers/target/iscsi/cxgbit/cxgbit_target.c +1 -2
index fcdc4211e3c2..45a1bfa2f735 100644

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

drivers/usb/dwc2/hcd.c +8 -7
index 81afe553aa66..a91f2aa24118 100644

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

drivers/usb/dwc2/hcd_intr.c +13 -1
index a052d39b4375..d5f4ec1b73b1 100644

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

drivers/usb/dwc3/gadget.c +17 -2
index 9269cda4c183..904b0043011c 100644

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

drivers/usb/gadget/function/u_audio.c +14 -3
index 56906d15fb55..223029fa8445 100644

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

drivers/usb/musb/musb_core.c +17 -14
index 0fbf9adef34b..9fcff4e94484 100644

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

drivers/usb/serial/ftdi_sio.c +3 -2
index 01a98d071c7c..c00e4177651a 100644

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

drivers/usb/serial/mos7720.c +3 -1
index 55b2879f27bd..aefc1b58d956 100644

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

drivers/usb/serial/mos7840.c +3 -1
index ab4bf8d6d7df..2b8a0d4b66fc 100644

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

drivers/usb/serial/option.c +2 -1
index f49eae18500c..5c167bc089a0 100644

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

drivers/vfio/vfio_iommu_type1.c +21 -25

46 lines not on this page · raw message

drivers/video/fbdev/Kconfig +1 -1
index 1e70e838530e..a7e5f12687b7 100644

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

drivers/virt/vboxguest/vboxguest_utils.c +12 -6
index 43c391626a00..bf2945c25ca8 100644

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

drivers/watchdog/mei_wdt.c +1 -0
index 5391bf3e6b11..c5967d8b4256 100644

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

drivers/watchdog/qcom-wdt.c +1 -12
index ea8a6abd64ec..094f096aee0f 100644

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

fs/affs/namei.c +3 -1
index 41c5749f4db7..5400a876d73f 100644

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

fs/btrfs/block-group.c +12 -7
index a32f23981f60..08ca9441270d 100644

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

fs/btrfs/ctree.c +5 -2
index e25133a9e9df..1af73367087d 100644

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

fs/btrfs/free-space-cache.c +5 -1
index 6e6be922b937..23f59d463e24 100644

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

fs/btrfs/relocation.c +1 -3
index 001f13cf9ab8..05b3e27b21d4 100644

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

fs/debugfs/inode.c +4 -1
index 7b975dbb2bb4..1c74a7cbf5b1 100644

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

fs/erofs/xattr.c +9 -1
index 503bea20cde2..f78496776e76 100644

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

fs/erofs/zmap.c +9 -1
index 6a26c293ae2d..fff574100721 100644

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

fs/ext4/namei.c +3 -4
index f05ec9bfbf4f..7f22487d502b 100644

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

fs/f2fs/data.c +1 -1
index 68be334afc28..64ee2a064e33 100644

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

fs/f2fs/file.c +6 -1
index 5d94abe467a4..6e58b2e62b18 100644

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

fs/f2fs/inline.c +4 -0
index 183388393c6a..cbd17e4ff920 100644

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

fs/gfs2/bmap.c +3 -3
index 50fa3e08c02f..aaec3c5b0202 100644

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

fs/gfs2/lock_dlm.c +2 -6
index 7c7197343ee2..72dec177b349 100644

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

fs/isofs/dir.c +1 -0
index f0fe641893a5..b9e6a7ec78be 100644

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

fs/isofs/namei.c +1 -0
index cac468f04820..558e7c51ce0d 100644

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

fs/jffs2/summary.c +3 -0
index be7c8a6a5748..4fe64519870f 100644

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

fs/jfs/jfs_dmap.c +1 -1
index caade185e568..6fe82ce8663e 100644

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

fs/nfsd/nfsctl.c +7 -7
index be418fccc9d8..7f39d6091dfa 100644

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

fs/ocfs2/cluster/heartbeat.c +7 -1
index a368350d4c27..c843bc318382 100644

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

fs/pstore/platform.c +2 -2
index 74a60bae2b23..705b79bb9b24 100644

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

fs/quota/quota_v2.c +8 -3
index 36dce17b0101..56aedf4ba886 100644

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

fs/ubifs/auth.c +1 -1
index b10418b5fb71..8be17a773196 100644

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

fs/ubifs/super.c +3 -1
index e49bd69dfc1c..701f15ba6135 100644

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

include/acpi/acexcep.h +5 -5
index 233a72f169bb..e1de0fe28164 100644

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

include/asm-generic/vmlinux.lds.h +6 -1
index 2267b7c763c6..8fe1912e3eeb 100644

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

include/linux/bpf.h +3 -0
index 7aa0d8b5aaf0..007147f64390 100644

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

include/linux/device-mapper.h +5 -0
index e4e1f5c1f492..a53d7d2c2d95 100644

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

include/linux/filter.h +1 -1
index 79830bc9e45c..c53e2fe3c8f7 100644

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

include/linux/icmpv6.h +46 -2

48 lines not on this page · raw message

include/linux/ipv6.h +0 -1
index ea7c7906591e..bbe297bbbca5 100644

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

include/linux/kexec.h +5 -0
index 1776eb2e43a4..a1cffce3de8c 100644

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

include/linux/key.h +1 -0
index 6cf8e71cf8b7..9c26cc9b802a 100644

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

include/linux/rcupdate.h +2 -0
index 75a2eded7aa2..09e6ac4b669b 100644

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

include/linux/rmap.h +2 -1
index 988d176472df..d7d6d4eb1794 100644

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

include/net/act_api.h +1 -0
index 05b568b92e59..4dabe4730f00 100644

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

include/net/icmp.h +10 -0
index 5d4bfdba9adf..fd84adc47963 100644

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

include/net/tcp.h +7 -2
index 37b51456784f..b914959cd2c6 100644

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

kernel/bpf/bpf_lru_list.c +4 -3
index 1b6b9349cb85..d99e89f113c4 100644

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

kernel/debug/kdb/kdb_private.h +1 -1
index 2118d8258b7c..ad53b19734e9 100644

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

kernel/kexec_file.c +5 -0
index 79f252af7dee..4e74db89bd23 100644

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

kernel/module.c +19 -2
index 9e9af40698ff..ab1f97cfe18d 100644

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

kernel/printk/printk_safe.c +12 -4
index d9a659a686f3..6cfc5a00c67d 100644

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

kernel/rcu/tree.c +7 -1
index 1b1d2b09efa9..4dfa9dd47223 100644

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

kernel/rcu/tree_plugin.h +5 -0
index f7118842a2b8..a71a4a272515 100644

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

kernel/sched/fair.c +1 -1
index 3dd7c10d6a58..611adca1e6d0 100644

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

kernel/sched/idle.c +1 -0
index 131e7c86cf06..3f8c7867c14c 100644

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

kernel/seccomp.c +2 -0
index 4221a4383cfc..1d62fa2b6b91 100644

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

kernel/tracepoint.c +64 -16

80 lines not on this page · raw message

mm/compaction.c +12 -15
index 88c3f6bad1ab..d686887856fe 100644

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

mm/hugetlb.c +7 -3
index d5b03b9262d4..2cd4c7f43dcd 100644

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

mm/memory.c +9 -7
index b23831132933..c432e7c76445 100644

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

net/bluetooth/a2mp.c +2 -1
index da7fd7c8c2dc..463bad58478b 100644

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

net/bluetooth/hci_core.c +4 -2
index 9e19d5a3aac8..83b324419ad3 100644

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

net/core/filter.c +10 -3
index 2fa10fdcf6b1..524f3364f8a0 100644

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

net/ipv4/icmp.c +34 -0
index d00533aea1f0..dd8fae89be72 100644

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

net/ipv6/icmp.c +10 -9
index e9bb89131e02..3db10cae7b17 100644

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

net/ipv6/ip6_icmp.c +41 -5

46 lines not on this page · raw message

net/mac80211/mesh_hwmp.c +1 -1
index aa5150929996..b5b728a71ab5 100644

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

net/qrtr/tun.c +11 -1
index 997af345ce37..cb425e216d46 100644

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

net/sched/act_api.c +1 -1
index 1dc642b11443..43c10a85e881 100644

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

net/sched/cls_api.c +1 -0
index d7604417367d..83e5a8aa2fb1 100644

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

net/xfrm/xfrm_interface.c +3 -3
index 00af31d3e774..01c65f96d283 100644

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

security/commoncap.c +11 -1
index 28a6939bcc4e..ed89a6dd4f83 100644

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

security/integrity/evm/evm_crypto.c +5 -2
index ee6bd945f3d6..25dac691491b 100644

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

security/integrity/ima/ima_kexec.c +3 -0
index 9e94eca48b89..955e4b4d09e2 100644

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

security/integrity/ima/ima_mok.c +2 -3
index 36cadadbfba4..1e5c01916173 100644

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

security/keys/key.c +2 -0
index e9845d0d8d34..623fcb4094dd 100644

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

security/keys/trusted.c +1 -1
index 36afc29aecc3..92a14ab82f72 100644

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

sound/pci/hda/hda_intel.c +2 -0
index b3667a5efdc1..7f9f6bbca548 100644

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

sound/pci/hda/patch_realtek.c +11 -0
index f548bd48bf72..a132fe4537a5 100644

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

sound/soc/codecs/cpcap.c +6 -6
index d7f05b384f1f..1902689c5ea2 100644

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

sound/soc/codecs/cs42l56.c +2 -1
index ac569ab3d30f..51d7a87ab4c3 100644

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

sound/soc/generic/simple-card-utils.c +6 -7
index 9b794775df53..edad6721251f 100644

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

sound/soc/sof/debug.c +1 -1
index 5529e8eeca46..08726034ff09 100644

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

sound/usb/pcm.c +1 -1
index 1a5e555002b2..75218539fb10 100644

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

tools/objtool/check.c +8 -4
index 1b7e748170e5..06aaf04e629c 100644

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

tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json +1 -1
index df9201434cb6..b0a10a219b50 100644

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

tools/perf/tests/sample-parsing.c +1 -1
index 3a02426db9a6..2f76d4a9de86 100644

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

tools/perf/util/event.c +2 -0
index fc1e5a991008..bfaa9afdb8b4 100644

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

tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +13 -1
index 7ffcbd6fcd1a..7f53b63088b2 100644

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

tools/perf/util/intel-pt-decoder/intel-pt-decoder.h +1 -0
index e289e463d635..7396da0fa3a7 100644

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

tools/perf/util/intel-pt.c +6 -10
index 8aeaeba48a41..d0e0ce11faf5 100644

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

tools/testing/selftests/powerpc/eeh/eeh-basic.sh +1 -1
index cf001a2c6942..7c2cb04569da 100755

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.