Skip to contentSkip to conversation

Linux 4.19.21

DISCUSSION Greg KH 1 participant 2 messages Feb 12, 2019 Stable branch

lore
Share & tools
lore

Greg KH

author maintainer
#0 lore raw

I'm announcing the release of the 4.19.21 kernel.

All users of the 4.19 kernel series must upgrade.

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

thanks,

greg k-h

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

 Makefile                                                     |    2 
 arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts         |    2 
 arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts               |    2 
 arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dts                 |    3 
 arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dts            |    2 
 arch/arm/boot/dts/gemini-dlink-dir-685.dts                   |   16 -
 arch/arm/boot/dts/imx51-zii-rdu1.dts                         |   17 +
 arch/arm/boot/dts/mmp2.dtsi                                  |    9 
 arch/arm/boot/dts/omap4-sdp.dts                              |    1 
 arch/arm/kernel/smp.c                                        |   15 +
 arch/arm/mach-omap2/omap_hwmod.c                             |    6 
 arch/arm/mach-pxa/cm-x300.c                                  |    2 
 arch/arm/mach-pxa/littleton.c                                |    2 
 arch/arm/mach-pxa/zeus.c                                     |    2 
 arch/arm64/include/asm/io.h                                  |   32 ++
 arch/arm64/include/uapi/asm/ptrace.h                         |    2 
 arch/arm64/kernel/entry-ftrace.S                             |    1 
 arch/mips/boot/dts/img/boston.dts                            |    6 
 arch/mips/include/asm/mach-jz4740/jz4740_mmc.h               |    2 
 arch/mips/include/uapi/asm/inst.h                            |    2 
 arch/mips/jz4740/board-qi_lb60.c                             |   12 -
 arch/mips/ralink/Kconfig                                     |    1 
 arch/nds32/mm/Makefile                                       |    6 
 arch/powerpc/include/asm/fadump.h                            |    2 
 arch/powerpc/include/asm/uaccess.h                           |    2 
 arch/powerpc/kernel/fadump.c                                 |   10 
 arch/powerpc/kernel/vmlinux.lds.S                            |    4 
 arch/powerpc/kvm/powerpc.c                                   |    5 
 arch/powerpc/mm/fault.c                                      |    4 
 arch/powerpc/perf/isa207-common.c                            |    7 
 arch/powerpc/platforms/powernv/pci-ioda-tce.c                |    2 
 arch/powerpc/platforms/pseries/dlpar.c                       |    2 
 arch/powerpc/platforms/pseries/hotplug-memory.c              |    7 
 arch/s390/include/uapi/asm/zcrypt.h                          |    4 
 arch/sh/boards/mach-kfr2r09/setup.c                          |    1 
 arch/um/include/asm/pgtable.h                                |    9 
 arch/x86/events/intel/core.c                                 |   10 
 arch/x86/events/intel/uncore_snbep.c                         |    4 
 arch/x86/include/asm/fpu/internal.h                          |    3 
 arch/x86/kernel/cpu/bugs.c                                   |    2 
 arch/x86/kernel/cpu/mcheck/mce.c                             |    1 
 arch/x86/kvm/svm.c                                           |    7 
 arch/x86/kvm/vmx.c                                           |    4 
 arch/x86/kvm/x86.c                                           |    7 
 arch/x86/pci/broadcom_bus.c                                  |    4 
 arch/xtensa/boot/dts/xtfpga.dtsi                             |    2 
 crypto/Kconfig                                               |    3 
 crypto/aes_ti.c                                              |   18 +
 drivers/acpi/apei/ghes.c                                     |    2 
 drivers/acpi/spcr.c                                          |   11 +
 drivers/ata/sata_rcar.c                                      |    4 
 drivers/base/bus.c                                           |   12 -
 drivers/base/cacheinfo.c                                     |    6 
 drivers/base/core.c                                          |    8 
 drivers/base/dd.c                                            |    6 
 drivers/base/devres.c                                        |   10 
 drivers/block/drbd/drbd_nl.c                                 |   15 -
 drivers/block/drbd/drbd_receiver.c                           |   13 -
 drivers/block/sunvdc.c                                       |    5 
 drivers/block/swim3.c                                        |    6 
 drivers/block/zram/zram_drv.c                                |   38 +--
 drivers/block/zram/zram_drv.h                                |    2 
 drivers/bluetooth/hci_bcm.c                                  |    4 
 drivers/cdrom/gdrom.c                                        |    1 
 drivers/clk/imgtec/clk-boston.c                              |   11 -
 drivers/clk/imx/clk-imx6sl.c                                 |    6 
 drivers/clk/meson/meson8b.c                                  |   16 +
 drivers/clk/sunxi-ng/ccu-sun8i-a33.c                         |    6 
 drivers/cpuidle/cpuidle-big_little.c                         |    7 
 drivers/crypto/ux500/cryp/cryp_core.c                        |    4 
 drivers/crypto/ux500/hash/hash_core.c                        |    2 
 drivers/dma/bcm2835-dma.c                                    |   70 ++----
 drivers/dma/imx-dma.c                                        |    8 
 drivers/dma/xilinx/zynqmp_dma.c                              |    2 
 drivers/firmware/efi/vars.c                                  |   99 +++++++--
 drivers/fpga/altera-cvp.c                                    |   15 +
 drivers/gpio/gpio-mt7621.c                                   |   10 
 drivers/gpio/gpiolib.c                                       |   25 +-
 drivers/gpu/drm/amd/display/dc/core/dc_link.c                |   23 +-
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c             |    3 
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c            |    2 
 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c  |   11 -
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c    |   12 +
 drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c      |   17 +
 drivers/gpu/drm/drm_atomic_helper.c                          |    8 
 drivers/gpu/drm/drm_bufs.c                                   |    3 
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c         |    2 
 drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c                   |    8 
 drivers/gpu/drm/rockchip/cdn-dp-reg.c                        |    2 
 drivers/gpu/drm/sun4i/sun8i_tcon_top.c                       |    7 
 drivers/gpu/drm/v3d/v3d_bo.c                                 |    1 
 drivers/gpu/drm/vc4/vc4_plane.c                              |   12 -
 drivers/gpu/drm/vgem/vgem_drv.c                              |   16 -
 drivers/gpu/ipu-v3/ipu-image-convert.c                       |   10 
 drivers/hid/hid-debug.c                                      |  120 ++++-------
 drivers/hid/hid-lenovo.c                                     |   10 
 drivers/hwmon/lm80.c                                         |   26 +-
 drivers/i2c/busses/i2c-axxia.c                               |   32 +-
 drivers/i2c/busses/i2c-sh_mobile.c                           |    2 
 drivers/iio/accel/kxcjk-1013.c                               |    1 
 drivers/iio/adc/meson_saradc.c                               |   14 -
 drivers/infiniband/hw/hfi1/rc.c                              |    2 
 drivers/infiniband/hw/hfi1/ruc.c                             |    7 
 drivers/infiniband/hw/qib/qib_ruc.c                          |    7 
 drivers/iommu/amd_iommu.c                                    |    9 
 drivers/iommu/arm-smmu-v3.c                                  |   14 +
 drivers/iommu/arm-smmu.c                                     |    3 
 drivers/irqchip/irq-gic-v3-its.c                             |   32 ++
 drivers/isdn/hisax/hfc_pci.c                                 |    2 
 drivers/lightnvm/pblk-core.c                                 |   13 -
 drivers/lightnvm/pblk-write.c                                |    8 
 drivers/md/raid10.c                                          |    4 
 drivers/media/i2c/Kconfig                                    |    2 
 drivers/media/i2c/ad9389b.c                                  |    2 
 drivers/media/i2c/adv7511.c                                  |    2 
 drivers/media/i2c/adv7604.c                                  |    4 
 drivers/media/i2c/adv7842.c                                  |    4 
 drivers/media/i2c/tc358743.c                                 |    2 
 drivers/media/i2c/ths8200.c                                  |    2 
 drivers/media/i2c/video-i2c.c                                |   11 -
 drivers/media/platform/coda/coda-bit.c                       |   19 -
 drivers/media/platform/coda/coda-common.c                    |   15 -
 drivers/media/platform/coda/coda.h                           |    6 
 drivers/media/platform/coda/coda_regs.h                      |    2 
 drivers/media/platform/davinci/vpbe.c                        |    7 
 drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c        |   10 
 drivers/media/rc/rc-main.c                                   |    2 
 drivers/memstick/core/memstick.c                             |    3 
 drivers/mmc/host/bcm2835.c                                   |   12 +
 drivers/mmc/host/jz4740_mmc.c                                |   20 -
 drivers/mmc/host/meson-mx-sdio.c                             |    6 
 drivers/mmc/host/sdhci-of-esdhc.c                            |   16 +
 drivers/mmc/host/sdhci-omap.c                                |   16 +
 drivers/mmc/host/sdhci-xenon-phy.c                           |   10 
 drivers/mmc/host/sdhci-xenon.c                               |   10 
 drivers/net/dsa/mv88e6xxx/global1_atu.c                      |   21 +
 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c |    2 
 drivers/net/ethernet/broadcom/bcmsysport.c                   |   25 --
 drivers/net/ethernet/broadcom/bcmsysport.h                   |    2 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                    |   19 +
 drivers/net/ethernet/cisco/enic/enic_main.c                  |    3 
 drivers/net/ethernet/freescale/fman/fman_memac.c             |    2 
 drivers/net/ethernet/freescale/fman/fman_tgec.c              |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c              |   16 -
 drivers/net/ethernet/intel/i40e/i40e.h                       |    1 
 drivers/net/ethernet/intel/i40e/i40e_main.c                  |    8 
 drivers/net/ethernet/intel/ice/ice_main.c                    |   16 +
 drivers/net/ethernet/intel/igb/igb_main.c                    |    8 
 drivers/net/ethernet/marvell/skge.c                          |    6 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c            |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c              |   14 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c              |    6 
 drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c          |    4 
 drivers/net/ethernet/mellanox/mlx5/core/main.c               |   14 -
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c               |   23 ++
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c      |    5 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c     |   27 --
 drivers/net/ethernet/sun/niu.c                               |   10 
 drivers/net/phy/dp83640.c                                    |   13 -
 drivers/net/phy/marvell.c                                    |   12 -
 drivers/net/usb/smsc95xx.c                                   |    1 
 drivers/net/virtio_net.c                                     |   20 +
 drivers/net/wireless/ath/ath10k/core.c                       |    1 
 drivers/net/wireless/ath/ath9k/ath9k.h                       |    2 
 drivers/net/wireless/ath/ath9k/dynack.c                      |   35 ++-
 drivers/net/wireless/ath/ath9k/dynack.h                      |    6 
 drivers/net/wireless/ath/ath9k/xmit.c                        |    5 
 drivers/net/wireless/ath/wil6210/main.c                      |   11 -
 drivers/net/wireless/ath/wil6210/txrx.c                      |    2 
 drivers/net/wireless/intel/iwlwifi/fw/api/mac.h              |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c            |    8 
 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c               |    4 
 drivers/net/wireless/mediatek/mt76/mt76x2_dfs.c              |    8 
 drivers/net/wireless/st/cw1200/scan.c                        |   13 -
 drivers/opp/core.c                                           |   11 -
 drivers/pci/controller/dwc/pci-imx6.c                        |   10 
 drivers/pci/switch/switchtec.c                               |    3 
 drivers/perf/arm_spe_pmu.c                                   |    5 
 drivers/phy/allwinner/phy-sun4i-usb.c                        |    7 
 drivers/pinctrl/bcm/pinctrl-bcm2835.c                        |   16 -
 drivers/pinctrl/meson/pinctrl-meson8.c                       |    3 
 drivers/pinctrl/meson/pinctrl-meson8b.c                      |   13 -
 drivers/pinctrl/pinctrl-sx150x.c                             |   11 -
 drivers/platform/chrome/cros_ec_proto.c                      |   18 +
 drivers/platform/x86/mlx-platform.c                          |   12 -
 drivers/ptp/ptp_chardev.c                                    |    5 
 drivers/ptp/ptp_clock.c                                      |    5 
 drivers/s390/crypto/zcrypt_error.h                           |    2 
 drivers/scsi/aic94xx/aic94xx_init.c                          |    8 
 drivers/scsi/cxlflash/main.c                                 |    2 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c                       |    2 
 drivers/scsi/lpfc/lpfc_els.c                                 |   52 ++--
 drivers/scsi/lpfc/lpfc_nportdisc.c                           |    5 
 drivers/scsi/mpt3sas/mpt3sas_scsih.c                         |    2 
 drivers/scsi/mpt3sas/mpt3sas_transport.c                     |    7 
 drivers/scsi/smartpqi/smartpqi_init.c                        |    6 
 drivers/scsi/smartpqi/smartpqi_sis.c                         |    2 
 drivers/soc/bcm/brcmstb/common.c                             |    6 
 drivers/soc/tegra/common.c                                   |    6 
 drivers/staging/erofs/internal.h                             |    2 
 drivers/staging/fsl-dpaa2/rtc/rtc.c                          |    5 
 drivers/staging/iio/adc/ad7280a.c                            |   17 +
 drivers/staging/iio/adc/ad7780.c                             |    6 
 drivers/staging/iio/resolver/ad2s90.c                        |    7 
 drivers/staging/pi433/pi433_if.c                             |    4 
 drivers/staging/speakup/spk_ttyio.c                          |    6 
 drivers/tee/optee/supp.c                                     |   13 -
 drivers/thermal/broadcom/bcm2835_thermal.c                   |   11 +
 drivers/thermal/thermal-generic-adc.c                        |   12 -
 drivers/thermal/thermal_core.c                               |   12 -
 drivers/thermal/thermal_hwmon.h                              |    4 
 drivers/thermal/thermal_sysfs.c                              |   11 -
 drivers/tty/serial/8250/8250_pci.c                           |    9 
 drivers/tty/serial/fsl_lpuart.c                              |    4 
 drivers/tty/serial/samsung.c                                 |    3 
 drivers/tty/serial/serial_core.c                             |    6 
 drivers/tty/serial/sh-sci.c                                  |   32 ++
 drivers/usb/core/hub.c                                       |   10 
 drivers/usb/dwc2/params.c                                    |   10 
 drivers/usb/dwc3/gadget.c                                    |   16 -
 drivers/usb/dwc3/trace.h                                     |    2 
 drivers/usb/gadget/udc/net2272.c                             |    2 
 drivers/usb/mtu3/mtu3_core.c                                 |    4 
 drivers/usb/mtu3/mtu3_gadget_ep0.c                           |    8 
 drivers/usb/musb/musb_dsps.c                                 |   21 +
 drivers/usb/musb/musb_gadget.c                               |   13 -
 drivers/usb/musb/musbhsdma.c                                 |   21 +
 drivers/usb/phy/phy-am335x.c                                 |    5 
 drivers/usb/renesas_usbhs/common.c                           |    4 
 drivers/video/fbdev/clps711x-fb.c                            |    5 
 drivers/video/fbdev/core/fbcon.c                             |    2 
 drivers/video/fbdev/core/fbmem.c                             |    8 
 drivers/virt/vboxguest/vboxguest_core.c                      |    2 
 drivers/watchdog/renesas_wdt.c                               |    9 
 fs/binfmt_script.c                                           |   10 
 fs/btrfs/btrfs_inode.h                                       |    1 
 fs/btrfs/ctree.h                                             |    2 
 fs/btrfs/extent_io.c                                         |   17 +
 fs/btrfs/inode.c                                             |   11 -
 fs/btrfs/ioctl.c                                             |    2 
 fs/btrfs/volumes.c                                           |   29 ++
 fs/cifs/readdir.c                                            |    9 
 fs/dlm/ast.c                                                 |   10 
 fs/eventpoll.c                                               |    2 
 fs/f2fs/acl.c                                                |   14 -
 fs/f2fs/data.c                                               |   12 -
 fs/f2fs/f2fs.h                                               |   11 -
 fs/f2fs/file.c                                               |    3 
 fs/f2fs/shrinker.c                                           |    2 
 fs/f2fs/super.c                                              |   27 +-
 fs/fuse/dev.c                                                |    4 
 fs/fuse/file.c                                               |    2 
 fs/nfs/super.c                                               |    3 
 fs/nfsd/nfsctl.c                                             |    2 
 fs/ocfs2/Makefile                                            |    2 
 fs/ocfs2/buffer_head_io.c                                    |    2 
 fs/ocfs2/dlm/Makefile                                        |    2 
 fs/ocfs2/dlmfs/Makefile                                      |    2 
 fs/udf/inode.c                                               |    6 
 fs/xfs/libxfs/xfs_attr_leaf.c                                |   11 -
 fs/xfs/libxfs/xfs_bmap.c                                     |    5 
 fs/xfs/libxfs/xfs_btree.c                                    |    2 
 fs/xfs/xfs_aops.c                                            |    2 
 fs/xfs/xfs_bmap_util.c                                       |   10 
 fs/xfs/xfs_buf_item.c                                        |   28 +-
 fs/xfs/xfs_ioctl.c                                           |    2 
 fs/xfs/xfs_qm_bhv.c                                          |    2 
 fs/xfs/xfs_reflink.c                                         |    1 
 fs/xfs/xfs_stats.c                                           |    2 
 include/linux/cpu.h                                          |    2 
 include/linux/genl_magic_struct.h                            |    5 
 include/linux/gpio/consumer.h                                |    6 
 include/linux/hid-debug.h                                    |    9 
 include/linux/kvm_host.h                                     |    3 
 include/linux/mlx5/driver.h                                  |    2 
 include/sound/compress_driver.h                              |    6 
 kernel/cgroup/cgroup.c                                       |    2 
 kernel/cpu.c                                                 |   33 ---
 kernel/debug/debug_core.c                                    |    4 
 kernel/debug/kdb/kdb_bt.c                                    |   11 -
 kernel/debug/kdb/kdb_debugger.c                              |    7 
 kernel/events/ring_buffer.c                                  |    3 
 kernel/futex.c                                               |   28 +-
 kernel/hung_task.c                                           |   20 -
 kernel/irq/affinity.c                                        |    5 
 kernel/kcov.c                                                |    2 
 kernel/locking/rtmutex.c                                     |   37 ++-
 kernel/module.c                                              |    6 
 kernel/sched/fair.c                                          |    1 
 kernel/smp.c                                                 |    2 
 kernel/sysctl.c                                              |    2 
 kernel/time/timekeeping.c                                    |    4 
 lib/seq_buf.c                                                |    6 
 lib/test_rhashtable.c                                        |   23 +-
 mm/page_alloc.c                                              |   37 ++-
 mm/percpu-km.c                                               |    5 
 net/dccp/ccid.h                                              |    4 
 net/dsa/master.c                                             |    4 
 net/dsa/slave.c                                              |   17 -
 net/ipv6/xfrm6_tunnel.c                                      |    3 
 net/mac80211/rx.c                                            |    5 
 net/rds/bind.c                                               |    6 
 net/rxrpc/recvmsg.c                                          |    3 
 net/sctp/socket.c                                            |    4 
 net/sctp/stream.c                                            |   20 +
 net/tipc/node.c                                              |    6 
 samples/livepatch/livepatch-shadow-fix1.c                    |    5 
 samples/livepatch/livepatch-shadow-mod.c                     |    4 
 scripts/decode_stacktrace.sh                                 |    2 
 scripts/gdb/linux/proc.py                                    |    2 
 scripts/mod/modpost.c                                        |   50 ++--
 security/smack/smack_lsm.c                                   |   12 -
 sound/pci/hda/hda_bind.c                                     |    3 
 sound/pci/hda/hda_codec.h                                    |    1 
 sound/pci/hda/hda_intel.c                                    |    2 
 sound/pci/hda/patch_realtek.c                                |   62 +++--
 sound/soc/fsl/Kconfig                                        |    2 
 sound/soc/intel/atom/sst/sst_loader.c                        |    8 
 sound/usb/quirks.c                                           |    1 
 tools/build/Makefile.feature                                 |    4 
 tools/build/feature/Makefile                                 |   10 
 tools/hv/hv_kvp_daemon.c                                     |   15 +
 tools/lib/bpf/bpf.c                                          |   11 -
 tools/perf/Makefile.config                                   |   44 ++--
 tools/perf/arch/x86/util/kvm-stat.c                          |    2 
 tools/perf/tests/attr.py                                     |    2 
 tools/perf/tests/evsel-tp-sched.c                            |    2 
 tools/perf/util/dso.c                                        |    2 
 tools/perf/util/header.c                                     |    6 
 tools/perf/util/probe-file.c                                 |    2 
 tools/perf/util/python.c                                     |    3 
 tools/perf/util/s390-cpumsf.c                                |    2 
 tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py   |    4 
 tools/testing/selftests/bpf/test_progs.c                     |    8 
 virt/kvm/arm/mmio.c                                          |   11 -
 virt/kvm/kvm_main.c                                          |    6 
 336 files changed, 2080 insertions(+), 1026 deletions(-)

Abhinav Kumar (1):
drm/msm/dsi: fix dsi clock names in DSI 10nm PLL driver

Adamski, Krzysztof (Nokia - PL/Wroclaw) (1):
i2c-axxia: check for error conditions first

Aditya Pakki (1):
HID: lenovo: Add checks to fix of_led_classdev_register

Adrian Hunter (4):
mmc: sdhci-of-esdhc: Fix timeout checks
mmc: sdhci-omap: Fix timeout checks
mmc: sdhci-xenon: Fix timeout checks
perf test: Fix perf_event_attr test failure

Akinobu Mita (1):
media: video-i2c: avoid accessing released memory area when removing driver

Alan Brady (1):
i40e: prevent overlapping tx_timeout recover

Alex Deucher (1):
drm/amdgpu/powerplay: fix clock stretcher limits on polaris (v2)

Alexander Duyck (1):
driver core: Move async_synchronize_full call

Alexei Avshalom Lazar (1):
wil6210: fix reset flow for Talyn-mb

Alexey Brodkin (1):

      devres: Align data[] to ARCH_KMALLOC_MINALIGN

Alexey Kardashevskiy (1):
powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand

Alexey Khoroshilov (3):
media: mtk-vcodec: Release device nodes in mtk_vcodec_init_enc_pm()
media: DaVinci-VPBE: fix error handling in vpbe_initialize()
video: clps711x-fb: release disp device node in probe()

Anand Jain (1):
btrfs: harden agaist duplicate fsid on scanned devices

Anatolij Gustschin (1):
fpga: altera-cvp: fix 'bad IO access' on x86_64

Anders Roxell (1):
kernel/kcov.c: mark write_comp_data() as notrace

Andreas Puhm (1):
fpga: altera-cvp: Fix registration for CvP incapable devices

Andrew Lunn (1):
net: dsa: mv88e6xxx: Fix counting of ATU violations

Andrey Smirnov (1):
ARM: dts: imx51-zii-rdu1: Do not specify "power-gpio" for hpa1

Andy Duan (1):
serial: fsl_lpuart: clear parity enable bit when disable parity

Andy Shevchenko (3):
ACPI: SPCR: Consider baud rate 0 as preconfigured state
usb: dwc3: trace: add missing break statement to make compiler happy
serial: 8250_pci: Make PCI class test non fatal

Anson Huang (1):
clk: imx6sl: ensure MMDC CH0 handshake is bypassed

Anton Ivanov (1):
um: Avoid marking pages with "changed protection"

Anurag Kumar Vulisha (1):
usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb()

Arend van Spriel (1):
firmware/efi: Add NULL pointer checks in efivars API functions

Arnaldo Carvalho de Melo (5):
perf dso: Fix unchecked usage of strncpy()
perf header: Fix unchecked usage of strncpy()
perf probe: Fix unchecked usage of strncpy()
perf header: Fix up argument to ctime()
perf tools: Cast off_t to s64 to avoid warning on bionic libc

Arnd Bergmann (4):
ASoC: Intel: mrfld: fix uninitialized variable access
vbox: fix link error with 'gcc -Og'
media: i2c: TDA1997x: select CONFIG_HDMI
ARM: pxa: avoid section mismatch warning

Bart Van Assche (2):
timekeeping: Use proper seqcount initializer
lib/test_rhashtable: Make test_insert_dup() allocate its hash table dynamically

Ben Dooks (1):
usbnet: smsc95xx: fix rx packet alignment

Beomho Seo (1):
tty: serial: samsung: Properly set flags in autoCTS mode

Bin Liu (3):
usb: musb: dsps: fix otg state machine
usb: musb: dsps: fix runtime pm for peripheral mode
usb: phy: am335x: fix race condition in _probe

Bjorn Andersson (1):
thermal: generic-adc: Fix adc to temp interpolation

Bob Peterson (1):
dlm: Don't swamp the CPU with callbacks queued during recovery

Boris Brezillon (1):

      drm/vc4: ->x_scaling[1] should never be set to VC4_SCALING_NONE

Brian Foster (2):
xfs: fix shared extent data corruption due to missing cow reservation
xfs: eof trim writeback mapping as soon as it is cached

Brian Norris (2):
ath10k: assign 'n_cipher_suites' for WCN3990 platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup

Carlos Maiolino (1):
xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat

Charles Keepax (1):
ALSA: compress: Fix stop handling on compressed capture streams

Chen-Yu Tsai (2):
clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module clocks
Bluetooth: hci_bcm: Handle deferred probing for the clock supply

Cheng Lin (1):
proc/sysctl: fix return error for proc_doulongvec_minmax()

Chris Brandt (1):
serial: sh-sci: Do not free irqs that have already been freed

Chris Perl (1):
NFS: nfs_compare_mount_options always compare auth flavors.

Christoph Hellwig (1):
xfs: cancel COW blocks before swapext

Christophe JAILLET (1):
xfs: Fix error code in 'xfs_ioc_getbmap()'

Christophe Leroy (2):
powerpc/uaccess: fix warning/error with access_ok() powerpc/mm: Fix reporting of kernel execute faults on the 8xx

Chunfeng Yun (1):
usb: mtu3: fix the issue about SetFeature(U1/U2_Enable)

Colin Ian King (1):
x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux)

Cong Wang (1):
net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames

Damian Kos (1):
drm/rockchip: fix for mailbox read size

Dan Carpenter (2):
net: dsa: Fix NULL checking in dsa_slave_set_eee()
skge: potential memory corruption in skge_get_regs()

Darrick J. Wong (1):
xfs: fix PAGE_MASK usage in xfs_free_file_space

Dave Carroll (1):
scsi: smartpqi: correct volume status

Dave Chinner (3):
xfs: fix overflow in xfs_attr3_leaf_verify
xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers
xfs: delalloc -> unwritten COW fork allocation can go wrong

Dave Martin (1):
arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition

Davidlohr Bueso (1):
fs/epoll: drop ovflist branch prediction

Deepak Sharma (1):
drm/vgem: Fix vgem_init to get drm device available.

Dennis Zhou (1):
percpu: convert spin_lock_irq to spin_lock_irqsave.

Dexuan Cui (1):
Tools: hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1

Doug Smythies (1):
tools/power/x86/intel_pstate_tracer: Fix non root execution for post processing a trace file

Douglas Anderson (1):
kdb: Don't back trace on a cpu that didn't round up

Du Changbin (1):
scripts/gdb: fix lx-version string output

Eduardo Valentin (1):
thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set

Eric Anholt (1):
drm/v3d: Fix prime imports of buffers from other drivers.

Eric Biggers (1):
crypto: aes_ti - disable interrupts while accessing S-box

Eric Dumazet (3):
dccp: fool proof ccid_hc_[rt]x_parse_options()
rds: fix refcount bug in rds_sock_addref
rxrpc: bad unlock balance in rxrpc_recvmsg

Eric Sandeen (1):
xfs: fix inverted return from xfs_btree_sblock_verify_crc

Eric Yang (1):
drm/amd/display: fix YCbCr420 blank color

Ethan Lien (1):
btrfs: use tagged writepage to mitigate livelock of snapshot

Fabio Estevam (1):
ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M

Fabrizio Castro (2):
usb: renesas_usbhs: add support for RZ/G2E
i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E)

Finn Thain (1):
block/swim3: Fix -EBUSY error when re-opening device after unmount

Florian Fainelli (1):
net: systemport: Fix WoL with password after deep sleep

Frank Rowand (1):
powerpc/pseries: add of_node_put() in dlpar_detach_node()

Gao Xiang (1):
staging: erofs: fix the definition of DBG_BUGON

Geert Uytterhoeven (2):
serial: sh-sci: Fix locking in sci_submit_rx()
serial: sh-sci: Resume PIO in sci_rx_interrupt() on DMA failure

Govindarajulu Varadarajan (1):
enic: fix checksum validation for IPv6

Greg Kroah-Hartman (3):
sctp: walk the list of asoc safely
serial: fix race between flush_to_ldisc and tty_open Linux 4.19.21

Guoqing Jiang (1):
md: fix raid10 hang issue caused by barrier

Gustavo A. R. Silva (3):
drm/bufs: Fix Spectre v1 vulnerability
usb: gadget: udc: net2272: Fix bitwise and boolean operations perf tests evsel-tp-sched: Fix bitwise operator

Hans Holmberg (1):
lightnvm: pblk: fix resubmission of overwritten write err lbas

Hans Verkuil (1):

      media: adv*/tc358743/ths8200: fill in min width/height/pixelclock

Hans de Goede (1):
iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID

Harald Freudenberger (1):
s390/zcrypt: improve special ap message cmd handling

Hoang Le (1):
tipc: fix node keep alive interval calculation

Hua Su (1):
lightnvm: pblk: add lock protection to list operations

Huacai Chen (1):
cacheinfo: Keep the old value if of_property_read_u32 fails

Huazhong Tan (1):
net: hns3: fix incomplete uninitialization of IRQ in the hns3_nic_uninit_vector_data()

Icenowy Zheng (1):
phy: sun4i-usb: add support for missing USB PHY index

Ido Schimmel (1):
mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG

Ioana Ciornei (1):
dpaa2-ptp: defer probe when portal allocation failed

J. Bruce Fields (1):
nfsd4: fix crash on writing v4_end_grace before nfsd startup

James Bottomley (1):
scsi: aic94xx: fix module loading

James Smart (2):
scsi: lpfc: Correct LCB RJT handling
scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event

Jan Kara (1):
udf: Fix BUG on corrupted inode

Jann Horn (2):
fuse: call pipe_buf_release() under pipe lock
kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974)

Jeremy Soller (1):
ALSA: hda/realtek - Headset microphone support for System76 darp5

Jernej Skrabec (1):
drm/sun4i: Initialize registers in tcon-top driver

Jia-Ju Bai (2):
cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()
isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw()

Jian Shen (1):
net: hns3: add max vector number check for pf

Jim Mattson (1):
kvm: Change offset in kvm_write_guest_offset_cached to unsigned

Jiong Wang (1):
mips: bpf: fix encoding bug for mm_srlv32_op

Jiri Olsa (1):
perf python: Do not force closing original perf descriptor in evlist.get_pollfd()

Joey Zhang (1):
switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite

Johan Hovold (1):
staging: speakup: fix tty-operation NULL derefs

Johannes Berg (1):
mac80211: fix radiotap vendor presence bitmap handling

Josh Poimboeuf (1):
cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM

Junxiao Bi (1):
ocfs2: don't clear bh uptodate for block read

Kai-Heng Feng (2):
memstick: Prevent memstick host from getting runtime suspended during card detection
igb: Fix an issue that PME is not enabled during runtime suspend

Kaike Wan (1):
IB/hfi1: Unreserve a reserved request when it is completed

Kailang Yang (1):
ALSA: hda/realtek - Fix lose hp_pins for disable auto mute

Kan Liang (1):
perf/x86/intel/uncore: Add Node ID mask

Kangjie Lu (3):
hwmon: (lm80) fix a missing check of the status of SMBus read
hwmon: (lm80) fix a missing check of bus read in lm80 probe
niu: fix missing checks of niu_pci_eeprom_read

Konstantin Khorenko (1):
i40e: define proper net_device::neigh_priv_len

Larry Chen (1):
ocfs2: improve ocfs2 Makefile

Lars Ellenberg (2):
drbd: disconnect, if the wrong UUIDs are attached on a connected peer
drbd: skip spurious timeout (ping-timeo) when failing promote

Lenny Szubowicz (1):
ACPI/APEI: Clear GHES block_status before panic()

Leonid Iziumtsev (1):
dmaengine: imx-dma: fix wrong callback invoke

Linus Walleij (2):
ARM: dts: Fix up the D-Link DIR-685 MTD partition info
mmc: jz4740: Get CD/WP GPIOs from descriptors

Lior David (1):
wil6210: fix memory leak in wil_find_tx_bcast_2

Liu, Chuansheng (1):
kernel/hung_task.c: force console verbose before panic

Long Li (1):
genirq/affinity: Spread IRQs to all available NUMA nodes

Lorenzo Bianconi (4):
ath9k: dynack: use authentication messages for 'late' ack
mt76x0: dfs: fix IBI_R11 configuration on non-radar channels
ath9k: dynack: make ewma estimation faster
ath9k: dynack: check da->enabled first in sampling routines

Lubomir Rintel (1):
ARM: dts: mmp2: fix TWSI2

Luca Ceresoli (1):
media: imx274: select REGMAP_I2C

Lukas Wunner (3):
pinctrl: bcm2835: Use raw spinlock for RT compatibility
dmaengine: bcm2835: Fix interrupt race on RT
dmaengine: bcm2835: Fix abort of transactions

Madhavan Srinivasan (1):
powerpc/perf: Fix thresholding counter data for unknown type

Mahesh Rajashekhara (2):
scsi: smartpqi: correct host serial num for ssa
scsi: smartpqi: increase fw status register read timeout

Mahesh Salgaonkar (1):
powerpc/fadump: Do not allow hot-remove memory from fadump reserved area.

Marc Zyngier (3):
scripts/decode_stacktrace: only strip base path when a prefix of the path
net: dsa: Fix lockdep false positive splat irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID

Marek Szyprowski (1):
usb: dwc2: Disable power down feature on Samsung SoCs

Mark Rutland (3):
arm64: ftrace: don't adjust the LR value
arm64: KVM: Skip MMIO insn after emulation perf/core: Don't WARN() for impossible ring-buffer sizes

Martin Blumenstingl (6):
clk: meson: meson8b: do not use cpu_div3 for cpu_scale_out_sel
clk: meson: meson8b: fix the width of the cpu_scale_div clock
clk: meson: meson8b: mark the CPU clock as CLK_IS_CRITICAL
iio: adc: meson-saradc: fix internal clock names
pinctrl: meson: meson8: fix the GPIO function for the GPIOAO pins
pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins

Matheus Tavares (1):
staging:iio:ad2s90: Make probe handle spi_setup failure

Mathias Nyman (1):
usb: hub: delay hub autosuspend if USB3 port is still link training

Mathieu Malaterre (1):
powerpc/32: Add .data..Lubsan_data*/.data..Lubsan_type* sections explicitly

Matthias Brugger (1):
thermal: bcm2835: enable hwmon explicitly

Max Filippov (1):
xtensa: xtfpga.dtsi: fix dtc warnings about SPI

Michael Chan (1):
bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings.

Michael Ellerman (1):
seq_buf: Make seq_buf_puts() null-terminate the buffer

Michael Straube (1):
staging: pi433: fix potential null dereference

Michal Suchanek (1):
mmc: bcm2835: reset host on timeout

Mike Marciniszyn (1):
IB/hfi1: Add limit test for RC/UC send via loopback

Miklos Szeredi (2):
fuse: decrement NR_WRITEBACK_TEMP on the right page
fuse: handle zero sized retrieve correctly

Minchan Kim (1):
zram: fix lockdep warning of free block handling

Miroslav Lichvar (2):
ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
mlx5: update timecounter at least twice per counter overflow

Muchun Song (1):
gpiolib: Fix possible use after free on label

Murton Liu (1):
drm/amd/display: fix gamma not being applied correctly

Naftali Goldstein (2):
iwlwifi: fw: do not set sgi bits for HE connection
iwlwifi: mvm: fix setting HE ppe FW config

Nathan Chancellor (5):
ARM: OMAP2+: hwmod: Fix some section annotations
dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll
drbd: Avoid Clang warning about pointless switch statment
crypto: ux500 - Use proper enum in cryp_set_dma_transfer
crypto: ux500 - Use proper enum in hash_set_dma_transfer

Nicholas Mc Guire (7):
iio: adc: meson-saradc: check for devm_kasprintf failure
perf: arm_spe: handle devm_kasprintf() failure
gpio: mt7621: report failure of devm_kasprintf()
gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
pinctrl: sx150x: handle failure case of devm_kstrdup
mmc: meson-mx-sdio: check devm_kasprintf for failure
livepatch: check kzalloc return values

Nickhu (1):
nds32: Fix gcc 8.0 compiler option incompatible.

Nir Dotan (1):
mlxsw: spectrum_acl: Limit priority value

Noralf Trønnes (1):
fbdev: fbcon: Fix unregister crash when more than one framebuffer

Oleg Nesterov (1):
exec: load_script: don't blindly truncate shebang string

Ondrej Mosnacek (1):
cgroup: fix parsing empty mount option string

Paolo Bonzini (1):
KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)

Paul Burton (1):
MIPS: Boston: Disable EG20T prefetch

Paul Elder (1):
usb: gadget: musb: fix short isoc packets with inventra dma

Paul Hsieh (1):
drm/amd/display: Add retry to read ddc_clock pin

Peter Rajnoha (1):
kobject: return error code if writing /sys/.../uevent fails

Peter Rosin (1):
fbdev: fbmem: behave better with small rotated displays and many CPUs

Peter Shier (1):
KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221)

Peter Zijlstra (1):
perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu()

Phil Elwell (1):
mmc: bcm2835: Recover from MMC_SEND_EXT_CSD

Philipp Zabel (1):
media: coda: fix H.264 deblocking filter controls

Pu Wen (1):
perf tools: Add Hygon Dhyana support

Raed Salem (1):
net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance

Randy Dunlap (1):
arch/sh/boards/mach-kfr2r09/setup.c: fix struct mtd_oob_ops build warning

Renato Lui Geh (1):
staging: iio: ad7780: update voltage on read

Richard Zhu (1):
PCI: imx: Enable MSI from downstream components

Rob Herring (1):
ARM: dts: aspeed: add missing memory unit-address

Roland Kammerer (1):
drbd: narrow rcu_read_lock in drbd_sync_handshake

Ronnie Sahlberg (1):
cifs: check ntwrk_buf_start for NULL before dereferencing it

Rundong Ge (1):
net: dsa: slave: Don't propagate flag changes on down slave interfaces

Russell King (1):
Revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x"

Russell King - ARM Linux (1):
ARM: dts: Fix OMAP4430 SDP Ethernet startup

Saeed Mahameed (1):
net/mlx5: EQ, Use the right place to store/read IRQ affinity hint

Sahitya Tummala (2):

      f2fs: fix use-after-free issue when accessing sbi->stat_info
      f2fs: fix sbi->extent_list corruption issue

Sami Tolvanen (1):
modpost: validate symbol names also in find_elf_symbol

Scott Wood (1):
fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address()

Sean Paul (2):
drm: Clear state->acquire_ctx before leaving drm_atomic_helper_commit_duplicated_state() drm/msm: dpu: Only check flush register against pending flushes

Sean Young (1):
media: rc: ensure close() is called on rc_unregister_device

Sebastian Andrzej Siewior (2):
x86/fpu: Add might_fault() to user_insn()
net: dp83640: expire old TX-skb

Sergei Shtylyov (1):
sata_rcar: fix deferred probing

Sheng Yong (1):
f2fs: fix race between write_checkpoint and write_begin

Simon Horman (1):

      i2c: sh_mobile: add support for r8a77990 (R-Car E3)

Slawomir Stepien (1):

      staging: iio: adc: ad7280a: handle error from __ad7280_read32()

Stanislav Fomichev (3):
bpf: libbpf: retry map creation without the name
selftests/bpf: use __bpf_constant_htons in test_prog.c
perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz

Stefan Roese (1):
MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8

Steve Longerbeam (1):
gpu: ipu-v3: image-convert: Prevent race between run and unprepare

Suganath Prabu (1):
scsi: mpt3sas: Call sas_remove_host before removing the target devices

Suraj Jitindar Singh (1):
KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines

Takashi Iwai (2):
ALSA: hda - Serialize codec registrations
ALSA: hda/realtek - Use a common helper for hp pin reference

Tejas Joglekar (2):
usb: dwc3: gadget: Disable CSP for stream OUT ep
usb: dwc3: gadget: Handle 0 xfer length for OUT EP

Tetsuo Handa (1):
kernel/hung_task.c: break RCU locks based on jiffies

Thara Gopinath (1):
thermal: Fix locking in cooling device sysfs update cur_state

Thomas Gleixner (1):
futex: Handle early deadlock return correctly

Tiezhu Yang (1):
f2fs: fix wrong return value of f2fs_acl_create

Tony Luck (1):
x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()

Toshiaki Makita (1):
virtio_net: Account for tx bytes and packets on sending xdp_frames

Udo Eberhardt (1):
ALSA: usb-audio: Add support for new T+A USB DAC

Vadim Pasternak (1):
platform/x86: mlx-platform: Fix tachometer registers

Vaibhav Jain (1):
scsi: cxlflash: Prevent deadlock when adapter probe fails

Viresh Kumar (1):

      OPP: Use opp_table->regulators to verify no regulator case

Vitaly Kuznetsov (1):
KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported

Vivek Gautam (1):
iommu/arm-smmu: Add support for qcom,smmu-v2 variant

Vladis Dronov (1):
HID: debug: fix the ring buffer implementation

Waiman Long (1):
mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init

Wei Wang (1):
Thermal: do not clear passive state during system sleep

Wenjing Liu (1):
drm/amd/display: validate extended dongle caps

Wenwen Wang (1):
gdrom: fix a memory leak bug

Will Deacon (3):
arm64: io: Ensure calls to delay routines are ordered against prior readX()
arm64: io: Ensure value passed to __iormb() is held in a 64-bit register iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer

Wolfram Sang (1):
watchdog: renesas_wdt: don't set divider while watchdog is running

Xiang Chen (1):
scsi: hisi_sas: change the time of SAS SSP connection

Xin Long (1):

      sctp: check and update stream->out_curr when allocating stream_out

Yangtao Li (3):
soc/tegra: Don't leak device tree node reference
soc: bcm: brcmstb: Don't leak device tree node reference
cpuidle: big.LITTLE: fix refcount leak

Ye Yin (1):
fs/xfs: fix f_ffree value for statfs when project quota is set

Yi Wang (1):
clk: boston: fix possible memory leak in clk_boston_setup()

Yogesh Mohan Marimuthu (1):

      drm/amd/display: calculate stream->phy_pix_clk before clock mapping

Young Xiao (2):
sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN
ice: Do not enable NAPI on q_vectors that have no rings

Yu Zhao (1):
iommu/amd: Fix amd_iommu=force_isolation

YueHaibing (3):
ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
net: aquantia: return 'err' if set MPI_DEINIT state fails
xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi

Yufen Wang (1):
ARM: 8808/1: kexec:offline panic_smp_self_stop CPU

Yunlei He (1):
f2fs: move dir data flush to write checkpoint process

Zhen Lei (1):
iommu/arm-smmu-v3: Avoid memory corruption from Hisilicon MSI payloads

Zhizhou Zhang (1):
tee: optee: avoid possible double list_del()

Zoran Markovic (1):
smack: fix access permissions for keyring

author maintainer
#1 lore raw
Makefile +1 -1
index f1859811dca1..ba5f14d38d8e 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 20
+SUBLEVEL = 21
 EXTRAVERSION =
 NAME = "People's Front"
 
arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts +1 -1
index df1227613d48..c2ece0b91885 100644
@@ -13,7 +13,7 @@
 		bootargs = "console=ttyS4,115200 earlyprintk";
 	};
 
-	memory {
+	memory@80000000 {
 		reg = <0x80000000 0x40000000>;
 	};
 
arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts +1 -1
index 7a291de02543..22dade6393d0 100644
@@ -13,7 +13,7 @@
 		bootargs = "earlyprintk";
 	};
 
-	memory {
+	memory@80000000 {
 		reg = <0x80000000 0x20000000>;
 	};
 
arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dts +1 -2
index d598b6391362..024e52a6cd0f 100644
@@ -14,7 +14,7 @@
 		bootargs = "console=ttyS4,115200 earlyprintk";
 	};
 
-	memory {
+	memory@80000000 {
 		reg = <0x80000000 0x40000000>;
 	};
 
@@ -322,4 +322,3 @@
 &adc {
 	status = "okay";
 };
-
arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dts +1 -1
index 43ed13963d35..33d704541de6 100644
@@ -17,7 +17,7 @@
 		bootargs = "console=ttyS4,115200 earlyprintk";
 	};
 
-	memory {
+	memory@80000000 {
 		reg = <0x80000000 0x20000000>;
 	};
 
arch/arm/boot/dts/gemini-dlink-dir-685.dts +6 -10
index 6f258b50eb44..502a361d1fe9 100644
@@ -274,20 +274,16 @@
 				read-only;
 			};
 			/*
-			 * Between the boot loader and the rootfs is the kernel
-			 * in a custom Storlink format flashed from the boot
-			 * menu. The rootfs is in squashfs format.
+			 * This firmware image contains the kernel catenated
+			 * with the squashfs root filesystem. For some reason
+			 * this is called "upgrade" on the vendor system.
 			 */
-			partition@1800c0 {
-				label = "rootfs";
-				reg = <0x001800c0 0x01dbff40>;
-				read-only;
-			};
-			partition@1f40000 {
+			partition@40000 {
 				label = "upgrade";
-				reg = <0x01f40000 0x00040000>;
+				reg = <0x00040000 0x01f40000>;
 				read-only;
 			};
+			/* RGDB, Residental Gateway Database? */
 			partition@1f80000 {
 				label = "rgdb";
 				reg = <0x01f80000 0x00040000>;
arch/arm/boot/dts/imx51-zii-rdu1.dts +13 -4
index 469cce2c0357..6e80254c4562 100644
@@ -477,6 +477,15 @@
 };
 
 &gpio1 {
+	gpio-line-names = "", "", "", "",
+			  "", "", "", "",
+			  "", "hp-amp-shutdown-b", "", "",
+			  "", "", "", "",
+			  "", "", "", "",
+			  "", "", "", "",
+			  "", "", "", "",
+			  "", "", "", "";
+
 	unused-sd3-wp-gpio {
 		/*
 		 * See pinctrl_esdhc1 below for more details on this
@@ -501,9 +510,6 @@
 	hpa1: amp@60 {
 		compatible = "ti,tpa6130a2";
 		reg = <0x60>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_ampgpio>;
-		power-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
 		Vdd-supply = <&reg_3p3v>;
 	};
 
@@ -677,7 +683,10 @@
 };
 
 &iomuxc {
-	pinctrl_ampgpio: ampgpiogrp {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hog>;
+
+	pinctrl_hog: hoggrp {
 		fsl,pins = <
 			MX51_PAD_GPIO1_9__GPIO1_9		0x5e
 		>;
arch/arm/boot/dts/mmp2.dtsi +6 -3
index 766bbb8495b6..47e5b63339d1 100644
@@ -220,12 +220,15 @@
 				status = "disabled";
 			};
 
-			twsi2: i2c@d4025000 {
+			twsi2: i2c@d4031000 {
 				compatible = "mrvl,mmp-twsi";
-				reg = <0xd4025000 0x1000>;
-				interrupts = <58>;
+				reg = <0xd4031000 0x1000>;
+				interrupt-parent = <&intcmux17>;
+				interrupts = <0>;
 				clocks = <&soc_clocks MMP2_CLK_TWSI1>;
 				resets = <&soc_clocks MMP2_CLK_TWSI1>;
+				#address-cells = <1>;
+				#size-cells = <0>;
 				status = "disabled";
 			};
 
arch/arm/boot/dts/omap4-sdp.dts +1 -0
index 490726b52216..9dc7ec7655cb 100644
@@ -33,6 +33,7 @@
 		gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>;  /* gpio line 48 */
 		enable-active-high;
 		regulator-boot-on;
+		startup-delay-us = <25000>;
 	};
 
 	vbat: fixedregulator-vbat {
arch/arm/kernel/smp.c +15 -0
index 0978282d5fc2..f574a5e0d589 100644
@@ -693,6 +693,21 @@ void smp_send_stop(void)
 		pr_warn("SMP: failed to stop secondary CPUs\n");
 }
 
+/* In case panic() and panic() called at the same time on CPU1 and CPU2,
+ * and CPU 1 calls panic_smp_self_stop() before crash_smp_send_stop()
+ * CPU1 can't receive the ipi irqs from CPU2, CPU1 will be always online,
+ * kdump fails. So split out the panic_smp_self_stop() and add
+ * set_cpu_online(smp_processor_id(), false).
+ */
+void panic_smp_self_stop(void)
+{
+	pr_debug("CPU %u will stop doing anything useful since another CPU has paniced\n",
+	         smp_processor_id());
+	set_cpu_online(smp_processor_id(), false);
+	while (1)
+		cpu_relax();
+}
+
 /*
  * not supported here
  */
arch/arm/mach-omap2/omap_hwmod.c +3 -3
index cd65ea4e9c54..ec3789ba17b8 100644
@@ -2397,7 +2397,7 @@ static int __init _init(struct omap_hwmod *oh, void *data)
  * a stub; implementing this properly requires iclk autoidle usecounting in
  * the clock code.   No return value.
  */
-static void __init _setup_iclk_autoidle(struct omap_hwmod *oh)
+static void _setup_iclk_autoidle(struct omap_hwmod *oh)
 {
 	struct omap_hwmod_ocp_if *os;
 
@@ -2428,7 +2428,7 @@ static void __init _setup_iclk_autoidle(struct omap_hwmod *oh)
  * reset.  Returns 0 upon success or a negative error code upon
  * failure.
  */
-static int __init _setup_reset(struct omap_hwmod *oh)
+static int _setup_reset(struct omap_hwmod *oh)
 {
 	int r;
 
@@ -2489,7 +2489,7 @@ static int __init _setup_reset(struct omap_hwmod *oh)
  *
  * No return value.
  */
-static void __init _setup_postsetup(struct omap_hwmod *oh)
+static void _setup_postsetup(struct omap_hwmod *oh)
 {
 	u8 postsetup_state;
 
arch/arm/mach-pxa/cm-x300.c +1 -1
index c5c0ab8ac9f9..024c1fbcc55a 100644
@@ -558,7 +558,7 @@ static struct pxa3xx_u2d_platform_data cm_x300_u2d_platform_data = {
 	.exit		= cm_x300_u2d_exit,
 };
 
-static void cm_x300_init_u2d(void)
+static void __init cm_x300_init_u2d(void)
 {
 	pxa3xx_set_u2d_info(&cm_x300_u2d_platform_data);
 }
arch/arm/mach-pxa/littleton.c +1 -1
index 9e132b3e48c6..9960ea158829 100644
@@ -184,7 +184,7 @@ static struct pxafb_mach_info littleton_lcd_info = {
 	.lcd_conn		= LCD_COLOR_TFT_16BPP,
 };
 
-static void littleton_init_lcd(void)
+static void __init littleton_init_lcd(void)
 {
 	pxa_set_fb_info(NULL, &littleton_lcd_info);
 }
arch/arm/mach-pxa/zeus.c +1 -1
index e3851795d6d7..68a536de542d 100644
@@ -559,7 +559,7 @@ static struct pxaohci_platform_data zeus_ohci_platform_data = {
 	.flags		= ENABLE_PORT_ALL | POWER_SENSE_LOW,
 };
 
-static void zeus_register_ohci(void)
+static void __init zeus_register_ohci(void)
 {
 	/* Port 2 is shared between host and client interface. */
 	UP2OCR = UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE;
arch/arm64/include/asm/io.h +24 -8
index 35b2e50f17fb..49bb9a020a09 100644
@@ -106,7 +106,23 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
 }
 
 /* IO barriers */
-#define __iormb()		rmb()
+#define __iormb(v)							\
+({									\
+	unsigned long tmp;						\
+									\
+	rmb();								\
+									\
+	/*								\
+	 * Create a dummy control dependency from the IO read to any	\
+	 * later instructions. This ensures that a subsequent call to	\
+	 * udelay() will be ordered due to the ISB in get_cycles().	\
+	 */								\
+	asm volatile("eor	%0, %1, %1\n"				\
+		     "cbnz	%0, ."					\
+		     : "=r" (tmp) : "r" ((unsigned long)(v))		\
+		     : "memory");					\
+})
+
 #define __iowmb()		wmb()
 
 #define mmiowb()		do { } while (0)
@@ -131,10 +147,10 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
  * following Normal memory access. Writes are ordered relative to any prior
  * Normal memory access.
  */
-#define readb(c)		({ u8  __v = readb_relaxed(c); __iormb(); __v; })
-#define readw(c)		({ u16 __v = readw_relaxed(c); __iormb(); __v; })
-#define readl(c)		({ u32 __v = readl_relaxed(c); __iormb(); __v; })
-#define readq(c)		({ u64 __v = readq_relaxed(c); __iormb(); __v; })
+#define readb(c)		({ u8  __v = readb_relaxed(c); __iormb(__v); __v; })
+#define readw(c)		({ u16 __v = readw_relaxed(c); __iormb(__v); __v; })
+#define readl(c)		({ u32 __v = readl_relaxed(c); __iormb(__v); __v; })
+#define readq(c)		({ u64 __v = readq_relaxed(c); __iormb(__v); __v; })
 
 #define writeb(v,c)		({ __iowmb(); writeb_relaxed((v),(c)); })
 #define writew(v,c)		({ __iowmb(); writew_relaxed((v),(c)); })
@@ -185,9 +201,9 @@ extern void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size);
 /*
  * io{read,write}{16,32,64}be() macros
  */
-#define ioread16be(p)		({ __u16 __v = be16_to_cpu((__force __be16)__raw_readw(p)); __iormb(); __v; })
-#define ioread32be(p)		({ __u32 __v = be32_to_cpu((__force __be32)__raw_readl(p)); __iormb(); __v; })
-#define ioread64be(p)		({ __u64 __v = be64_to_cpu((__force __be64)__raw_readq(p)); __iormb(); __v; })
+#define ioread16be(p)		({ __u16 __v = be16_to_cpu((__force __be16)__raw_readw(p)); __iormb(__v); __v; })
+#define ioread32be(p)		({ __u32 __v = be32_to_cpu((__force __be32)__raw_readl(p)); __iormb(__v); __v; })
+#define ioread64be(p)		({ __u64 __v = be64_to_cpu((__force __be64)__raw_readq(p)); __iormb(__v); __v; })
 
 #define iowrite16be(v,p)	({ __iowmb(); __raw_writew((__force __u16)cpu_to_be16(v), p); })
 #define iowrite32be(v,p)	({ __iowmb(); __raw_writel((__force __u32)cpu_to_be32(v), p); })
arch/arm64/include/uapi/asm/ptrace.h +1 -1
index 98c4ce55d9c3..ad64d2c92ef5 100644
@@ -130,7 +130,7 @@ struct user_sve_header {
 
 /* Offset from the start of struct user_sve_header to the register data */
 #define SVE_PT_REGS_OFFSET					\
-	((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))	\
+	((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1))	\
 		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
 
 /*
arch/arm64/kernel/entry-ftrace.S +0 -1
index 1175f5827ae1..295951f3172e 100644
@@ -79,7 +79,6 @@
 	.macro mcount_get_lr reg
 	ldr	\reg, [x29]
 	ldr	\reg, [\reg, #8]
-	mcount_adjust_addr	\reg, \reg
 	.endm
 
 	.macro mcount_get_lr_addr reg
arch/mips/boot/dts/img/boston.dts +6 -0
index 65af3f6ba81c..84328afa3a55 100644
@@ -141,6 +141,12 @@
 				#size-cells = <2>;
 				#interrupt-cells = <1>;
 
+				eg20t_phub@2,0,0 {
+					compatible = "pci8086,8801";
+					reg = <0x00020000 0 0 0 0>;
+					intel,eg20t-prefetch = <0>;
+				};
+
 				eg20t_mac@2,0,1 {
 					compatible = "pci8086,8802";
 					reg = <0x00020100 0 0 0 0>;
arch/mips/include/asm/mach-jz4740/jz4740_mmc.h +0 -2
index e9cc62cfac99..ff50aeb1a933 100644
@@ -4,8 +4,6 @@
 
 struct jz4740_mmc_platform_data {
 	int gpio_power;
-	int gpio_card_detect;
-	int gpio_read_only;
 	unsigned card_detect_active_low:1;
 	unsigned read_only_active_low:1;
 	unsigned power_active_low:1;
arch/mips/include/uapi/asm/inst.h +1 -1
index c05dcf5ab414..273ef58f4d43 100644
@@ -369,8 +369,8 @@ enum mm_32a_minor_op {
 	mm_ext_op = 0x02c,
 	mm_pool32axf_op = 0x03c,
 	mm_srl32_op = 0x040,
+	mm_srlv32_op = 0x050,
 	mm_sra_op = 0x080,
-	mm_srlv32_op = 0x090,
 	mm_rotr_op = 0x0c0,
 	mm_lwxs_op = 0x118,
 	mm_addu32_op = 0x150,
arch/mips/jz4740/board-qi_lb60.c +9 -3
index af0c8ace0141..705593d40d12 100644
@@ -43,7 +43,6 @@
 #include "clock.h"
 
 /* GPIOs */
-#define QI_LB60_GPIO_SD_CD		JZ_GPIO_PORTD(0)
 #define QI_LB60_GPIO_SD_VCC_EN_N	JZ_GPIO_PORTD(2)
 
 #define QI_LB60_GPIO_KEYOUT(x)		(JZ_GPIO_PORTC(10) + (x))
@@ -386,12 +385,18 @@ static struct platform_device qi_lb60_gpio_keys = {
 };
 
 static struct jz4740_mmc_platform_data qi_lb60_mmc_pdata = {
-	.gpio_card_detect	= QI_LB60_GPIO_SD_CD,
-	.gpio_read_only		= -1,
 	.gpio_power		= QI_LB60_GPIO_SD_VCC_EN_N,
 	.power_active_low	= 1,
 };
 
+static struct gpiod_lookup_table qi_lb60_mmc_gpio_table = {
+	.dev_id = "jz4740-mmc.0",
+	.table = {
+		GPIO_LOOKUP("GPIOD", 0, "cd", GPIO_ACTIVE_HIGH),
+		{ },
+	},
+};
+
 /* beeper */
 static struct pwm_lookup qi_lb60_pwm_lookup[] = {
 	PWM_LOOKUP("jz4740-pwm", 4, "pwm-beeper", NULL, 0,
@@ -500,6 +505,7 @@ static int __init qi_lb60_init_platform_devices(void)
 	gpiod_add_lookup_table(&qi_lb60_audio_gpio_table);
 	gpiod_add_lookup_table(&qi_lb60_nand_gpio_table);
 	gpiod_add_lookup_table(&qi_lb60_spigpio_gpio_table);
+	gpiod_add_lookup_table(&qi_lb60_mmc_gpio_table);
 
 	spi_register_board_info(qi_lb60_spi_board_info,
 				ARRAY_SIZE(qi_lb60_spi_board_info));
arch/mips/ralink/Kconfig +1 -0
index 1f9cb0e3c79a..613d61763433 100644
@@ -38,6 +38,7 @@ choice
 
 	config SOC_MT7620
 		bool "MT7620/8"
+		select CPU_MIPSR2_IRQ_VI
 		select HW_HAS_PCI
 
 	config SOC_MT7621
arch/nds32/mm/Makefile +5 -1
index 6b6855852223..7c5c15ad854a 100644
@@ -4,4 +4,8 @@ obj-y				:= extable.o tlb.o \
 
 obj-$(CONFIG_ALIGNMENT_TRAP)	+= alignment.o
 obj-$(CONFIG_HIGHMEM)           += highmem.o
-CFLAGS_proc-n13.o		+= -fomit-frame-pointer
+
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_proc.o     = $(CC_FLAGS_FTRACE)
+endif
+CFLAGS_proc.o              += -fomit-frame-pointer
arch/powerpc/include/asm/fadump.h +1 -1
index 1e7a33592e29..15bc07a31c46 100644
@@ -200,7 +200,7 @@ struct fad_crash_memory_ranges {
 	unsigned long long	size;
 };
 
-extern int is_fadump_boot_memory_area(u64 addr, ulong size);
+extern int is_fadump_memory_area(u64 addr, ulong size);
 extern int early_init_dt_scan_fw_dump(unsigned long node,
 		const char *uname, int depth, void *data);
 extern int fadump_reserve_mem(void);
arch/powerpc/include/asm/uaccess.h +1 -1
index bac225bb7f64..23bea99bf8d5 100644
@@ -63,7 +63,7 @@ static inline int __access_ok(unsigned long addr, unsigned long size,
 #endif
 
 #define access_ok(type, addr, size)		\
-	(__chk_user_ptr(addr),			\
+	(__chk_user_ptr(addr), (void)(type),		\
 	 __access_ok((__force unsigned long)(addr), (size), get_fs()))
 
 /*
arch/powerpc/kernel/fadump.c +8 -2
index a711d22339ea..c02c95287a5f 100644
@@ -118,13 +118,19 @@ int __init early_init_dt_scan_fw_dump(unsigned long node,
 
 /*
  * If fadump is registered, check if the memory provided
- * falls within boot memory area.
+ * falls within boot memory area and reserved memory area.
  */
-int is_fadump_boot_memory_area(u64 addr, ulong size)
+int is_fadump_memory_area(u64 addr, ulong size)
 {
+	u64 d_start = fw_dump.reserve_dump_area_start;
+	u64 d_end = d_start + fw_dump.reserve_dump_area_size;
+
 	if (!fw_dump.dump_registered)
 		return 0;
 
+	if (((addr + size) > d_start) && (addr <= d_end))
+		return 1;
+
 	return (addr + size) > RMA_START && addr <= fw_dump.boot_memory_size;
 }
 
arch/powerpc/kernel/vmlinux.lds.S +4 -0
index 07ae018e550e..53016c753f3c 100644
@@ -296,6 +296,10 @@ SECTIONS
 #ifdef CONFIG_PPC32
 	.data : AT(ADDR(.data) - LOAD_OFFSET) {
 		DATA_DATA
+#ifdef CONFIG_UBSAN
+		*(.data..Lubsan_data*)
+		*(.data..Lubsan_type*)
+#endif
 		*(.data.rel*)
 		*(SDATA_MAIN)
 		*(.sdata2)
arch/powerpc/kvm/powerpc.c +4 -1
index eba5756d5b41..79b79408d92e 100644
@@ -543,8 +543,11 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 #ifdef CONFIG_PPC_BOOK3S_64
 	case KVM_CAP_SPAPR_TCE:
 	case KVM_CAP_SPAPR_TCE_64:
-		/* fallthrough */
+		r = 1;
+		break;
 	case KVM_CAP_SPAPR_TCE_VFIO:
+		r = !!cpu_has_feature(CPU_FTR_HVMODE);
+		break;
 	case KVM_CAP_PPC_RTAS:
 	case KVM_CAP_PPC_FIXUP_HCALL:
 	case KVM_CAP_PPC_ENABLE_HCALL:
arch/powerpc/mm/fault.c +3 -1
index d51cf5f4e45e..365526ee29b8 100644
@@ -221,7 +221,9 @@ static int mm_fault_error(struct pt_regs *regs, unsigned long addr,
 static bool bad_kernel_fault(bool is_exec, unsigned long error_code,
 			     unsigned long address)
 {
-	if (is_exec && (error_code & (DSISR_NOEXEC_OR_G | DSISR_KEYFAULT))) {
+	/* NX faults set DSISR_PROTFAULT on the 8xx, DSISR_NOEXEC_OR_G on others */
+	if (is_exec && (error_code & (DSISR_NOEXEC_OR_G | DSISR_KEYFAULT |
+				      DSISR_PROTFAULT))) {
 		printk_ratelimited(KERN_CRIT "kernel tried to execute"
 				   " exec-protected page (%lx) -"
 				   "exploit attempt? (uid: %d)\n",
arch/powerpc/perf/isa207-common.c +6 -1
index 177de814286f..6a2f65d3d088 100644
@@ -226,8 +226,13 @@ void isa207_get_mem_weight(u64 *weight)
 	u64 mmcra = mfspr(SPRN_MMCRA);
 	u64 exp = MMCRA_THR_CTR_EXP(mmcra);
 	u64 mantissa = MMCRA_THR_CTR_MANT(mmcra);
+	u64 sier = mfspr(SPRN_SIER);
+	u64 val = (sier & ISA207_SIER_TYPE_MASK) >> ISA207_SIER_TYPE_SHIFT;
 
-	*weight = mantissa << (2 * exp);
+	if (val == 0 || val == 7)
+		*weight = 0;
+	else
+		*weight = mantissa << (2 * exp);
 }
 
 int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
arch/powerpc/platforms/powernv/pci-ioda-tce.c +1 -1
index fe9691040f54..7639b2168755 100644
@@ -299,7 +299,7 @@ long pnv_pci_ioda2_table_alloc_pages(int nid, __u64 bus_offset,
 	if (alloc_userspace_copy) {
 		offset = 0;
 		uas = pnv_pci_ioda2_table_do_alloc_pages(nid, level_shift,
-				levels, tce_table_size, &offset,
+				tmplevels, tce_table_size, &offset,
 				&total_allocated_uas);
 		if (!uas)
 			goto free_tces_exit;
arch/powerpc/platforms/pseries/dlpar.c +2 -0
index a0b20c03f078..e3010b14aea5 100644
@@ -272,6 +272,8 @@ int dlpar_detach_node(struct device_node *dn)
 	if (rc)
 		return rc;
 
+	of_node_put(dn);
+
 	return 0;
 }
 
arch/powerpc/platforms/pseries/hotplug-memory.c +5 -2
index c1578f54c626..e4c658cda3a7 100644
@@ -389,8 +389,11 @@ static bool lmb_is_removable(struct drmem_lmb *lmb)
 	phys_addr = lmb->base_addr;
 
 #ifdef CONFIG_FA_DUMP
-	/* Don't hot-remove memory that falls in fadump boot memory area */
-	if (is_fadump_boot_memory_area(phys_addr, block_sz))
+	/*
+	 * Don't hot-remove memory that falls in fadump boot memory area
+	 * and memory that is reserved for capturing old kernel memory.
+	 */
+	if (is_fadump_memory_area(phys_addr, block_sz))
 		return false;
 #endif
 
arch/s390/include/uapi/asm/zcrypt.h +2 -2
index 2bb1f3bb98ac..48c784f2101a 100644
@@ -147,8 +147,8 @@ struct ica_xcRB {
  * @cprb_len:		CPRB header length [0x0020]
  * @cprb_ver_id:	CPRB version id.   [0x04]
  * @pad_000:		Alignment pad bytes
- * @flags:		Admin cmd [0x80] or functional cmd [0x00]
- * @func_id:		Function id / subtype [0x5434]
+ * @flags:		Admin bit [0x80], Special bit [0x20]
+ * @func_id:		Function id / subtype [0x5434] "T4"
  * @source_id:		Source id [originator id]
  * @target_id:		Target id [usage/ctrl domain id]
  * @ret_code:		Return code
arch/sh/boards/mach-kfr2r09/setup.c +0 -1
index e59c577ed871..c70bc7809dda 100644
@@ -25,7 +25,6 @@
 #include <linux/memblock.h>
 #include <linux/mfd/tmio.h>
 #include <linux/mmc/host.h>
-#include <linux/mtd/onenand.h>
 #include <linux/mtd/physmap.h>
 #include <linux/platform_data/lv5207lp.h>
 #include <linux/platform_device.h>
arch/um/include/asm/pgtable.h +8 -1
index 7485398d0737..9c04562310b3 100644
@@ -197,12 +197,17 @@ static inline pte_t pte_mkold(pte_t pte)
 
 static inline pte_t pte_wrprotect(pte_t pte)
 { 
-	pte_clear_bits(pte, _PAGE_RW);
+	if (likely(pte_get_bits(pte, _PAGE_RW)))
+		pte_clear_bits(pte, _PAGE_RW);
+	else
+		return pte;
 	return(pte_mknewprot(pte)); 
 }
 
 static inline pte_t pte_mkread(pte_t pte)
 { 
+	if (unlikely(pte_get_bits(pte, _PAGE_USER)))
+		return pte;
 	pte_set_bits(pte, _PAGE_USER);
 	return(pte_mknewprot(pte)); 
 }
@@ -221,6 +226,8 @@ static inline pte_t pte_mkyoung(pte_t pte)
 
 static inline pte_t pte_mkwrite(pte_t pte)	
 {
+	if (unlikely(pte_get_bits(pte,  _PAGE_RW)))
+		return pte;
 	pte_set_bits(pte, _PAGE_RW);
 	return(pte_mknewprot(pte)); 
 }
arch/x86/events/intel/core.c +8 -2
index 155fa4b53c56..d0b186264941 100644
@@ -3439,6 +3439,11 @@ static void free_excl_cntrs(int cpu)
 }
 
 static void intel_pmu_cpu_dying(int cpu)
+{
+	fini_debug_store_on_cpu(cpu);
+}
+
+static void intel_pmu_cpu_dead(int cpu)
 {
 	struct cpu_hw_events *cpuc = &per_cpu(cpu_hw_events, cpu);
 	struct intel_shared_regs *pc;
@@ -3451,8 +3456,6 @@ static void intel_pmu_cpu_dying(int cpu)
 	}
 
 	free_excl_cntrs(cpu);
-
-	fini_debug_store_on_cpu(cpu);
 }
 
 static void intel_pmu_sched_task(struct perf_event_context *ctx,
@@ -3541,6 +3544,7 @@ static __initconst const struct x86_pmu core_pmu = {
 	.cpu_prepare		= intel_pmu_cpu_prepare,
 	.cpu_starting		= intel_pmu_cpu_starting,
 	.cpu_dying		= intel_pmu_cpu_dying,
+	.cpu_dead		= intel_pmu_cpu_dead,
 };
 
 static struct attribute *intel_pmu_attrs[];
@@ -3581,6 +3585,8 @@ static __initconst const struct x86_pmu intel_pmu = {
 	.cpu_prepare		= intel_pmu_cpu_prepare,
 	.cpu_starting		= intel_pmu_cpu_starting,
 	.cpu_dying		= intel_pmu_cpu_dying,
+	.cpu_dead		= intel_pmu_cpu_dead,
+
 	.guest_get_msrs		= intel_guest_get_msrs,
 	.sched_task		= intel_pmu_sched_task,
 };
arch/x86/events/intel/uncore_snbep.c +3 -1
index c07bee31abe8..b10e04387f38 100644
@@ -1222,6 +1222,8 @@ static struct pci_driver snbep_uncore_pci_driver = {
 	.id_table	= snbep_uncore_pci_ids,
 };
 
+#define NODE_ID_MASK	0x7
+
 /*
  * build pci bus to socket mapping
  */
@@ -1243,7 +1245,7 @@ static int snbep_pci2phy_map_init(int devid, int nodeid_loc, int idmap_loc, bool
 		err = pci_read_config_dword(ubox_dev, nodeid_loc, &config);
 		if (err)
 			break;
-		nodeid = config;
+		nodeid = config & NODE_ID_MASK;
 		/* get the Node ID mapping */
 		err = pci_read_config_dword(ubox_dev, idmap_loc, &config);
 		if (err)
arch/x86/include/asm/fpu/internal.h +3 -0
index 69dcdf195b61..fa2c93cb42a2 100644
@@ -106,6 +106,9 @@ extern void fpstate_sanitize_xstate(struct fpu *fpu);
 #define user_insn(insn, output, input...)				\
 ({									\
 	int err;							\
+									\
+	might_fault();							\
+									\
 	asm volatile(ASM_STAC "\n"					\
 		     "1:" #insn "\n\t"					\
 		     "2: " ASM_CLAC "\n"				\
arch/x86/kernel/cpu/bugs.c +1 -1
index 807d06a7acac..1e0c4c74195c 100644
@@ -69,7 +69,7 @@ void __init check_bugs(void)
 	 * identify_boot_cpu() initialized SMT support information, let the
 	 * core code know.
 	 */
-	cpu_smt_check_topology_early();
+	cpu_smt_check_topology();
 
 	if (!IS_ENABLED(CONFIG_SMP)) {
 		pr_info("CPU: ");
arch/x86/kernel/cpu/mcheck/mce.c +1 -0
index cdbedeb3f3db..f9e7096b1804 100644
@@ -783,6 +783,7 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
 			quirk_no_way_out(i, m, regs);
 
 		if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) {
+			m->bank = i;
 			mce_read_aux(m, i);
 			*msg = tmp;
 			return 1;
arch/x86/kvm/svm.c +7 -0
index f1d3fe5a0c65..02ac8fa0cd6d 100644
@@ -5837,6 +5837,13 @@ static bool svm_cpu_has_accelerated_tpr(void)
 
 static bool svm_has_emulated_msr(int index)
 {
+	switch (index) {
+	case MSR_IA32_MCG_EXT_CTL:
+		return false;
+	default:
+		break;
+	}
+
 	return true;
 }
 
arch/x86/kvm/vmx.c +3 -1
index 39a0e34ff676..0b2e13dd517b 100644
@@ -27,6 +27,7 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/sched.h>
+#include <linux/sched/smt.h>
 #include <linux/moduleparam.h>
 #include <linux/mod_devicetable.h>
 #include <linux/trace_events.h>
@@ -8469,6 +8470,7 @@ static void free_nested(struct vcpu_vmx *vmx)
 	if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon)
 		return;
 
+	hrtimer_cancel(&vmx->nested.preemption_timer);
 	vmx->nested.vmxon = false;
 	vmx->nested.smm.vmxon = false;
 	free_vpid(vmx->nested.vpid02);
@@ -11128,7 +11130,7 @@ static int vmx_vm_init(struct kvm *kvm)
 			 * Warn upon starting the first VM in a potentially
 			 * insecure environment.
 			 */
-			if (cpu_smt_control == CPU_SMT_ENABLED)
+			if (sched_smt_active())
 				pr_warn_once(L1TF_MSG_SMT);
 			if (l1tf_vmx_mitigation == VMENTER_L1D_FLUSH_NEVER)
 				pr_warn_once(L1TF_MSG_L1D);
arch/x86/kvm/x86.c +7 -0
index 5a9a3ebe8fba..3a7cf7c6b28a 100644
@@ -4904,6 +4904,13 @@ int kvm_read_guest_virt(struct kvm_vcpu *vcpu,
 {
 	u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0;
 
+	/*
+	 * FIXME: this should call handle_emulation_failure if X86EMUL_IO_NEEDED
+	 * is returned, but our callers are not ready for that and they blindly
+	 * call kvm_inject_page_fault.  Ensure that they at least do not leak
+	 * uninitialized kernel stack memory into cr2 and error code.
+	 */
+	memset(exception, 0, sizeof(*exception));
 	return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access,
 					  exception);
 }
arch/x86/pci/broadcom_bus.c +2 -2
index 526536c81ddc..ca1e8e6dccc8 100644
@@ -50,8 +50,8 @@ static void __init cnb20le_res(u8 bus, u8 slot, u8 func)
 	word1 = read_pci_config_16(bus, slot, func, 0xc0);
 	word2 = read_pci_config_16(bus, slot, func, 0xc2);
 	if (word1 != word2) {
-		res.start = (word1 << 16) | 0x0000;
-		res.end   = (word2 << 16) | 0xffff;
+		res.start = ((resource_size_t) word1 << 16) | 0x0000;
+		res.end   = ((resource_size_t) word2 << 16) | 0xffff;
 		res.flags = IORESOURCE_MEM;
 		update_res(info, res.start, res.end, res.flags, 0);
 	}
arch/xtensa/boot/dts/xtfpga.dtsi +1 -1
index 1090528825ec..e46ae07bab05 100644
@@ -103,7 +103,7 @@
 			};
 		};
 
-		spi0: spi-master@0d0a0000 {
+		spi0: spi@0d0a0000 {
 			compatible = "cdns,xtfpga-spi";
 			#address-cells = <1>;
 			#size-cells = <0>;
crypto/Kconfig +2 -1
index 59e32623a7ce..0fb9586766a7 100644
@@ -1056,7 +1056,8 @@ config CRYPTO_AES_TI
 	  8 for decryption), this implementation only uses just two S-boxes of
 	  256 bytes each, and attempts to eliminate data dependent latencies by
 	  prefetching the entire table into the cache at the start of each
-	  block.
+	  block. Interrupts are also disabled to avoid races where cachelines
+	  are evicted when the CPU is interrupted to do something else.
 
 config CRYPTO_AES_586
 	tristate "AES cipher algorithms (i586)"
crypto/aes_ti.c +18 -0
index 03023b2290e8..1ff9785b30f5 100644
@@ -269,6 +269,7 @@ static void aesti_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	const u32 *rkp = ctx->key_enc + 4;
 	int rounds = 6 + ctx->key_length / 4;
 	u32 st0[4], st1[4];
+	unsigned long flags;
 	int round;
 
 	st0[0] = ctx->key_enc[0] ^ get_unaligned_le32(in);
@@ -276,6 +277,12 @@ static void aesti_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	st0[2] = ctx->key_enc[2] ^ get_unaligned_le32(in + 8);
 	st0[3] = ctx->key_enc[3] ^ get_unaligned_le32(in + 12);
 
+	/*
+	 * Temporarily disable interrupts to avoid races where cachelines are
+	 * evicted when the CPU is interrupted to do something else.
+	 */
+	local_irq_save(flags);
+
 	st0[0] ^= __aesti_sbox[ 0] ^ __aesti_sbox[128];
 	st0[1] ^= __aesti_sbox[32] ^ __aesti_sbox[160];
 	st0[2] ^= __aesti_sbox[64] ^ __aesti_sbox[192];
@@ -300,6 +307,8 @@ static void aesti_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	put_unaligned_le32(subshift(st1, 1) ^ rkp[5], out + 4);
 	put_unaligned_le32(subshift(st1, 2) ^ rkp[6], out + 8);
 	put_unaligned_le32(subshift(st1, 3) ^ rkp[7], out + 12);
+
+	local_irq_restore(flags);
 }
 
 static void aesti_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
@@ -308,6 +317,7 @@ static void aesti_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	const u32 *rkp = ctx->key_dec + 4;
 	int rounds = 6 + ctx->key_length / 4;
 	u32 st0[4], st1[4];
+	unsigned long flags;
 	int round;
 
 	st0[0] = ctx->key_dec[0] ^ get_unaligned_le32(in);
@@ -315,6 +325,12 @@ static void aesti_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	st0[2] = ctx->key_dec[2] ^ get_unaligned_le32(in + 8);
 	st0[3] = ctx->key_dec[3] ^ get_unaligned_le32(in + 12);
 
+	/*
+	 * Temporarily disable interrupts to avoid races where cachelines are
+	 * evicted when the CPU is interrupted to do something else.
+	 */
+	local_irq_save(flags);
+
 	st0[0] ^= __aesti_inv_sbox[ 0] ^ __aesti_inv_sbox[128];
 	st0[1] ^= __aesti_inv_sbox[32] ^ __aesti_inv_sbox[160];
 	st0[2] ^= __aesti_inv_sbox[64] ^ __aesti_inv_sbox[192];
@@ -339,6 +355,8 @@ static void aesti_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 	put_unaligned_le32(inv_subshift(st1, 1) ^ rkp[5], out + 4);
 	put_unaligned_le32(inv_subshift(st1, 2) ^ rkp[6], out + 8);
 	put_unaligned_le32(inv_subshift(st1, 3) ^ rkp[7], out + 12);
+
+	local_irq_restore(flags);
 }
 
 static struct crypto_alg aes_alg = {
drivers/acpi/apei/ghes.c +2 -0
index 02c6fd9caff7..f008ba7c9ced 100644
@@ -691,6 +691,8 @@ static void __ghes_panic(struct ghes *ghes)
 {
 	__ghes_print_estatus(KERN_EMERG, ghes->generic, ghes->estatus);
 
+	ghes_clear_estatus(ghes);
+
 	/* reboot to log the error! */
 	if (!panic_timeout)
 		panic_timeout = ghes_panic_timeout;
drivers/acpi/spcr.c +11 -0
index 9d52743080a4..c336784d0bcb 100644
@@ -148,6 +148,13 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console)
 	}
 
 	switch (table->baud_rate) {
+	case 0:
+		/*
+		 * SPCR 1.04 defines 0 as a preconfigured state of UART.
+		 * Assume firmware or bootloader configures console correctly.
+		 */
+		baud_rate = 0;
+		break;
 	case 3:
 		baud_rate = 9600;
 		break;
@@ -196,6 +203,10 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console)
 		 * UART so don't attempt to change to the baud rate state
 		 * in the table because driver cannot calculate the dividers
 		 */
+		baud_rate = 0;
+	}
+
+	if (!baud_rate) {
 		snprintf(opts, sizeof(opts), "%s,%s,0x%llx", uart, iotype,
 			 table->serial_port.address);
 	} else {
drivers/ata/sata_rcar.c +3 -1
index 10ecb232245d..03867f539f3a 100644
@@ -895,7 +895,9 @@ static int sata_rcar_probe(struct platform_device *pdev)
 	int ret = 0;
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0)
+	if (irq < 0)
+		return irq;
+	if (!irq)
 		return -EINVAL;
 
 	priv = devm_kzalloc(dev, sizeof(struct sata_rcar_priv), GFP_KERNEL);
drivers/base/bus.c +8 -4
index 585e2e1c9c8f..e06a57936cc9 100644
@@ -614,8 +614,10 @@ static void remove_probe_files(struct bus_type *bus)
 static ssize_t uevent_store(struct device_driver *drv, const char *buf,
 			    size_t count)
 {
-	kobject_synth_uevent(&drv->p->kobj, buf, count);
-	return count;
+	int rc;
+
+	rc = kobject_synth_uevent(&drv->p->kobj, buf, count);
+	return rc ? rc : count;
 }
 static DRIVER_ATTR_WO(uevent);
 
@@ -831,8 +833,10 @@ static void klist_devices_put(struct klist_node *n)
 static ssize_t bus_uevent_store(struct bus_type *bus,
 				const char *buf, size_t count)
 {
-	kobject_synth_uevent(&bus->p->subsys.kobj, buf, count);
-	return count;
+	int rc;
+
+	rc = kobject_synth_uevent(&bus->p->subsys.kobj, buf, count);
+	return rc ? rc : count;
 }
 static BUS_ATTR(uevent, S_IWUSR, NULL, bus_uevent_store);
 
drivers/base/cacheinfo.c +2 -4
index 5d5b5988e88b..dd6a6850cb45 100644
@@ -79,8 +79,7 @@ static void cache_size(struct cacheinfo *this_leaf, struct device_node *np)
 	ct_idx = get_cacheinfo_idx(this_leaf->type);
 	propname = cache_type_info[ct_idx].size_prop;
 
-	if (of_property_read_u32(np, propname, &this_leaf->size))
-		this_leaf->size = 0;
+	of_property_read_u32(np, propname, &this_leaf->size);
 }
 
 /* not cache_line_size() because that's a macro in include/linux/cache.h */
@@ -114,8 +113,7 @@ static void cache_nr_sets(struct cacheinfo *this_leaf, struct device_node *np)
 	ct_idx = get_cacheinfo_idx(this_leaf->type);
 	propname = cache_type_info[ct_idx].nr_sets_prop;
 
-	if (of_property_read_u32(np, propname, &this_leaf->number_of_sets))
-		this_leaf->number_of_sets = 0;
+	of_property_read_u32(np, propname, &this_leaf->number_of_sets);
 }
 
 static void cache_associativity(struct cacheinfo *this_leaf)
drivers/base/core.c +7 -1
index 04bbcd779e11..92e2c32c2227 100644
@@ -1067,8 +1067,14 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
 static ssize_t uevent_store(struct device *dev, struct device_attribute *attr,
 			    const char *buf, size_t count)
 {
-	if (kobject_synth_uevent(&dev->kobj, buf, count))
+	int rc;
+
+	rc = kobject_synth_uevent(&dev->kobj, buf, count);
+
+	if (rc) {
 		dev_err(dev, "uevent: failed to send synthetic uevent\n");
+		return rc;
+	}
 
 	return count;
 }
drivers/base/dd.c +3 -3
index 2607f859881a..7caa1adaf62a 100644
@@ -926,9 +926,6 @@ static void __device_release_driver(struct device *dev, struct device *parent)
 
 	drv = dev->driver;
 	if (drv) {
-		if (driver_allows_async_probing(drv))
-			async_synchronize_full();
-
 		while (device_links_busy(dev)) {
 			device_unlock(dev);
 			if (parent && dev->bus->need_parent_lock)
@@ -1034,6 +1031,9 @@ void driver_detach(struct device_driver *drv)
 	struct device_private *dev_prv;
 	struct device *dev;
 
+	if (driver_allows_async_probing(drv))
+		async_synchronize_full();
+
 	for (;;) {
 		spin_lock(&drv->p->klist_devices.k_lock);
 		if (list_empty(&drv->p->klist_devices.k_list)) {
drivers/base/devres.c +8 -2
index f98a097e73f2..d68b52cf9225 100644
@@ -24,8 +24,14 @@ struct devres_node {
 
 struct devres {
 	struct devres_node		node;
-	/* -- 3 pointers */
-	unsigned long long		data[];	/* guarantee ull alignment */
+	/*
+	 * Some archs want to perform DMA into kmalloc caches
+	 * and need a guaranteed alignment larger than
+	 * the alignment of a 64-bit integer.
+	 * Thus we use ARCH_KMALLOC_MINALIGN here and get exactly the same
+	 * buffer alignment as if it was allocated by plain kmalloc().
+	 */
+	u8 __aligned(ARCH_KMALLOC_MINALIGN) data[];
 };
 
 struct devres_group {
drivers/block/drbd/drbd_nl.c +8 -7
index b4f02768ba47..319fabdd63a3 100644
@@ -668,14 +668,15 @@ drbd_set_role(struct drbd_device *const device, enum drbd_role new_role, int for
 		if (rv == SS_TWO_PRIMARIES) {
 			/* Maybe the peer is detected as dead very soon...
 			   retry at most once more in this case. */
-			int timeo;
-			rcu_read_lock();
-			nc = rcu_dereference(connection->net_conf);
-			timeo = nc ? (nc->ping_timeo + 1) * HZ / 10 : 1;
-			rcu_read_unlock();
-			schedule_timeout_interruptible(timeo);
-			if (try < max_tries)
+			if (try < max_tries) {
+				int timeo;
 				try = max_tries - 1;
+				rcu_read_lock();
+				nc = rcu_dereference(connection->net_conf);
+				timeo = nc ? (nc->ping_timeo + 1) * HZ / 10 : 1;
+				rcu_read_unlock();
+				schedule_timeout_interruptible(timeo);
+			}
 			continue;
 		}
 		if (rv < SS_SUCCESS) {
drivers/block/drbd/drbd_receiver.c +7 -6
index 75f6b47169e6..cb919b964066 100644
@@ -3364,7 +3364,7 @@ static enum drbd_conns drbd_sync_handshake(struct drbd_peer_device *peer_device,
 	enum drbd_conns rv = C_MASK;
 	enum drbd_disk_state mydisk;
 	struct net_conf *nc;
-	int hg, rule_nr, rr_conflict, tentative;
+	int hg, rule_nr, rr_conflict, tentative, always_asbp;
 
 	mydisk = device->state.disk;
 	if (mydisk == D_NEGOTIATING)
@@ -3415,8 +3415,12 @@ static enum drbd_conns drbd_sync_handshake(struct drbd_peer_device *peer_device,
 
 	rcu_read_lock();
 	nc = rcu_dereference(peer_device->connection->net_conf);
+	always_asbp = nc->always_asbp;
+	rr_conflict = nc->rr_conflict;
+	tentative = nc->tentative;
+	rcu_read_unlock();
 
-	if (hg == 100 || (hg == -100 && nc->always_asbp)) {
+	if (hg == 100 || (hg == -100 && always_asbp)) {
 		int pcount = (device->state.role == R_PRIMARY)
 			   + (peer_role == R_PRIMARY);
 		int forced = (hg == -100);
@@ -3455,9 +3459,6 @@ static enum drbd_conns drbd_sync_handshake(struct drbd_peer_device *peer_device,
 			     "Sync from %s node\n",
 			     (hg < 0) ? "peer" : "this");
 	}
-	rr_conflict = nc->rr_conflict;
-	tentative = nc->tentative;
-	rcu_read_unlock();
 
 	if (hg == -100) {
 		/* FIXME this log message is not correct if we end up here
@@ -4141,7 +4142,7 @@ static int receive_uuids(struct drbd_connection *connection, struct packet_info
 	kfree(device->p_uuid);
 	device->p_uuid = p_uuid;
 
-	if (device->state.conn < C_CONNECTED &&
+	if ((device->state.conn < C_CONNECTED || device->state.pdsk == D_DISKLESS) &&
 	    device->state.disk < D_INCONSISTENT &&
 	    device->state.role == R_PRIMARY &&
 	    (device->ed_uuid & ~((u64)1)) != (p_uuid[UI_CURRENT] & ~((u64)1))) {
drivers/block/sunvdc.c +5 -0
index f68e9baffad7..5d7024057540 100644
@@ -45,6 +45,8 @@ MODULE_VERSION(DRV_MODULE_VERSION);
 #define WAITING_FOR_GEN_CMD	0x04
 #define WAITING_FOR_ANY		-1
 
+#define	VDC_MAX_RETRIES	10
+
 static struct workqueue_struct *sunvdc_wq;
 
 struct vdc_req_entry {
@@ -431,6 +433,7 @@ static int __vdc_tx_trigger(struct vdc_port *port)
 		.end_idx		= dr->prod,
 	};
 	int err, delay;
+	int retries = 0;
 
 	hdr.seq = dr->snd_nxt;
 	delay = 1;
@@ -443,6 +446,8 @@ static int __vdc_tx_trigger(struct vdc_port *port)
 		udelay(delay);
 		if ((delay <<= 1) > 128)
 			delay = 128;
+		if (retries++ > VDC_MAX_RETRIES)
+			break;
 	} while (err == -EAGAIN);
 
 	if (err == -ENOTCONN)
drivers/block/swim3.c +5 -1
index 469541c1e51e..20907a0a043b 100644
@@ -1026,7 +1026,11 @@ static void floppy_release(struct gendisk *disk, fmode_t mode)
 	struct swim3 __iomem *sw = fs->swim3;
 
 	mutex_lock(&swim3_mutex);
-	if (fs->ref_count > 0 && --fs->ref_count == 0) {
+	if (fs->ref_count > 0)
+		--fs->ref_count;
+	else if (fs->ref_count == -1)
+		fs->ref_count = 0;
+	if (fs->ref_count == 0) {
 		swim3_action(fs, MOTOR_OFF);
 		out_8(&sw->control_bic, 0xff);
 		swim3_select(fs, RELAX);
drivers/block/zram/zram_drv.c +21 -17
index e19bf0a750cf..a65505db09e5 100644
@@ -53,6 +53,11 @@ static size_t huge_class_size;
 
 static void zram_free_page(struct zram *zram, size_t index);
 
+static int zram_slot_trylock(struct zram *zram, u32 index)
+{
+	return bit_spin_trylock(ZRAM_LOCK, &zram->table[index].value);
+}
+
 static void zram_slot_lock(struct zram *zram, u32 index)
 {
 	bit_spin_lock(ZRAM_LOCK, &zram->table[index].value);
@@ -401,7 +406,6 @@ static ssize_t backing_dev_store(struct device *dev,
 		goto out;
 
 	reset_bdev(zram);
-	spin_lock_init(&zram->bitmap_lock);
 
 	zram->old_block_size = old_block_size;
 	zram->bdev = bdev;
@@ -445,29 +449,24 @@ static ssize_t backing_dev_store(struct device *dev,
 
 static unsigned long get_entry_bdev(struct zram *zram)
 {
-	unsigned long entry;
-
-	spin_lock(&zram->bitmap_lock);
+	unsigned long blk_idx = 1;
+retry:
 	/* skip 0 bit to confuse zram.handle = 0 */
-	entry = find_next_zero_bit(zram->bitmap, zram->nr_pages, 1);
-	if (entry == zram->nr_pages) {
-		spin_unlock(&zram->bitmap_lock);
+	blk_idx = find_next_zero_bit(zram->bitmap, zram->nr_pages, blk_idx);
+	if (blk_idx == zram->nr_pages)
 		return 0;
-	}
 
-	set_bit(entry, zram->bitmap);
-	spin_unlock(&zram->bitmap_lock);
+	if (test_and_set_bit(blk_idx, zram->bitmap))
+		goto retry;
 
-	return entry;
+	return blk_idx;
 }
 
 static void put_entry_bdev(struct zram *zram, unsigned long entry)
 {
 	int was_set;
 
-	spin_lock(&zram->bitmap_lock);
 	was_set = test_and_clear_bit(entry, zram->bitmap);
-	spin_unlock(&zram->bitmap_lock);
 	WARN_ON_ONCE(!was_set);
 }
 
@@ -888,9 +887,10 @@ static ssize_t debug_stat_show(struct device *dev,
 
 	down_read(&zram->init_lock);
 	ret = scnprintf(buf, PAGE_SIZE,
-			"version: %d\n%8llu\n",
+			"version: %d\n%8llu %8llu\n",
 			version,
-			(u64)atomic64_read(&zram->stats.writestall));
+			(u64)atomic64_read(&zram->stats.writestall),
+			(u64)atomic64_read(&zram->stats.miss_free));
 	up_read(&zram->init_lock);
 
 	return ret;
@@ -1402,10 +1402,14 @@ static void zram_slot_free_notify(struct block_device *bdev,
 
 	zram = bdev->bd_disk->private_data;
 
-	zram_slot_lock(zram, index);
+	atomic64_inc(&zram->stats.notify_free);
+	if (!zram_slot_trylock(zram, index)) {
+		atomic64_inc(&zram->stats.miss_free);
+		return;
+	}
+
 	zram_free_page(zram, index);
 	zram_slot_unlock(zram, index);
-	atomic64_inc(&zram->stats.notify_free);
 }
 
 static int zram_rw_page(struct block_device *bdev, sector_t sector,
drivers/block/zram/zram_drv.h +1 -1
index 72c8584b6dff..d1095dfdffa8 100644
@@ -79,6 +79,7 @@ struct zram_stats {
 	atomic64_t pages_stored;	/* no. of pages currently stored */
 	atomic_long_t max_used_pages;	/* no. of maximum pages stored */
 	atomic64_t writestall;		/* no. of write slow paths */
+	atomic64_t miss_free;		/* no. of missed free */
 };
 
 struct zram {
@@ -110,7 +111,6 @@ struct zram {
 	unsigned int old_block_size;
 	unsigned long *bitmap;
 	unsigned long nr_pages;
-	spinlock_t bitmap_lock;
 #endif
 #ifdef CONFIG_ZRAM_MEMORY_TRACKING
 	struct dentry *debugfs_dir;
drivers/bluetooth/hci_bcm.c +4 -0
index ddbd8c6a0ceb..800132369134 100644
@@ -907,6 +907,10 @@ static int bcm_get_resources(struct bcm_device *dev)
 
 	dev->clk = devm_clk_get(dev->dev, NULL);
 
+	/* Handle deferred probing */
+	if (dev->clk == ERR_PTR(-EPROBE_DEFER))
+		return PTR_ERR(dev->clk);
+
 	dev->device_wakeup = devm_gpiod_get_optional(dev->dev, "device-wakeup",
 						     GPIOD_OUT_LOW);
 	if (IS_ERR(dev->device_wakeup))
drivers/cdrom/gdrom.c +1 -0
index ae3a7537cf0f..72cd96a8eb19 100644
@@ -889,6 +889,7 @@ static void __exit exit_gdrom(void)
 	platform_device_unregister(pd);
 	platform_driver_unregister(&gdrom_driver);
 	kfree(gd.toc);
+	kfree(gd.cd_info);
 }
 
 module_init(init_gdrom);
drivers/clk/imgtec/clk-boston.c +8 -3
index 15af423cc0c9..f5d54a64d33c 100644
@@ -73,27 +73,32 @@ static void __init clk_boston_setup(struct device_node *np)
 	hw = clk_hw_register_fixed_rate(NULL, "input", NULL, 0, in_freq);
 	if (IS_ERR(hw)) {
 		pr_err("failed to register input clock: %ld\n", PTR_ERR(hw));
-		return;
+		goto error;
 	}
 	onecell->hws[BOSTON_CLK_INPUT] = hw;
 
 	hw = clk_hw_register_fixed_rate(NULL, "sys", "input", 0, sys_freq);
 	if (IS_ERR(hw)) {
 		pr_err("failed to register sys clock: %ld\n", PTR_ERR(hw));
-		return;
+		goto error;
 	}
 	onecell->hws[BOSTON_CLK_SYS] = hw;
 
 	hw = clk_hw_register_fixed_rate(NULL, "cpu", "input", 0, cpu_freq);
 	if (IS_ERR(hw)) {
 		pr_err("failed to register cpu clock: %ld\n", PTR_ERR(hw));
-		return;
+		goto error;
 	}
 	onecell->hws[BOSTON_CLK_CPU] = hw;
 
 	err = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, onecell);
 	if (err)
 		pr_err("failed to add DT provider: %d\n", err);
+
+	return;
+
+error:
+	kfree(onecell);
 }
 
 /*
drivers/clk/imx/clk-imx6sl.c +6 -0
index eb6bcbf345a3..390e3e0ecc45 100644
@@ -17,6 +17,8 @@
 
 #include "clk.h"
 
+#define CCDR				0x4
+#define BM_CCM_CCDR_MMDC_CH0_MASK	(1 << 17)
 #define CCSR			0xc
 #define BM_CCSR_PLL1_SW_CLK_SEL	(1 << 2)
 #define CACRR			0x10
@@ -409,6 +411,10 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
 	clks[IMX6SL_CLK_USDHC3]       = imx_clk_gate2("usdhc3",       "usdhc3_podf",       base + 0x80, 6);
 	clks[IMX6SL_CLK_USDHC4]       = imx_clk_gate2("usdhc4",       "usdhc4_podf",       base + 0x80, 8);
 
+	/* Ensure the MMDC CH0 handshake is bypassed */
+	writel_relaxed(readl_relaxed(base + CCDR) |
+		BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR);
+
 	imx_check_clocks(clks, ARRAY_SIZE(clks));
 
 	clk_data.clks = clks;
drivers/clk/meson/meson8b.c +12 -4
index 50060e895e7a..9d79ff857d83 100644
@@ -583,7 +583,7 @@ static struct clk_regmap meson8b_cpu_scale_div = {
 	.data = &(struct clk_regmap_div_data){
 		.offset =  HHI_SYS_CPU_CLK_CNTL1,
 		.shift = 20,
-		.width = 9,
+		.width = 10,
 		.table = cpu_scale_table,
 		.flags = CLK_DIVIDER_ALLOW_ZERO,
 	},
@@ -596,20 +596,27 @@ static struct clk_regmap meson8b_cpu_scale_div = {
 	},
 };
 
+static u32 mux_table_cpu_scale_out_sel[] = { 0, 1, 3 };
 static struct clk_regmap meson8b_cpu_scale_out_sel = {
 	.data = &(struct clk_regmap_mux_data){
 		.offset = HHI_SYS_CPU_CLK_CNTL0,
 		.mask = 0x3,
 		.shift = 2,
+		.table = mux_table_cpu_scale_out_sel,
 	},
 	.hw.init = &(struct clk_init_data){
 		.name = "cpu_scale_out_sel",
 		.ops = &clk_regmap_mux_ro_ops,
+		/*
+		 * NOTE: We are skipping the parent with value 0x2 (which is
+		 * "cpu_div3") because it results in a duty cycle of 33% which
+		 * makes the system unstable and can result in a lockup of the
+		 * whole system.
+		 */
 		.parent_names = (const char *[]) { "cpu_in_sel",
 						   "cpu_div2",
-						   "cpu_div3",
 						   "cpu_scale_div" },
-		.num_parents = 4,
+		.num_parents = 3,
 		.flags = CLK_SET_RATE_PARENT,
 	},
 };
@@ -627,7 +634,8 @@ static struct clk_regmap meson8b_cpu_clk = {
 						  "cpu_scale_out_sel" },
 		.num_parents = 2,
 		.flags = (CLK_SET_RATE_PARENT |
-			  CLK_SET_RATE_NO_REPARENT),
+			  CLK_SET_RATE_NO_REPARENT |
+			  CLK_IS_CRITICAL),
 	},
 };
 
drivers/clk/sunxi-ng/ccu-sun8i-a33.c +3 -3
index 13eb5b23c5e7..c40d572a7602 100644
@@ -366,10 +366,10 @@ static SUNXI_CCU_MP_WITH_MUX_GATE(spi1_clk, "spi1", mod0_default_parents, 0x0a4,
 static const char * const i2s_parents[] = { "pll-audio-8x", "pll-audio-4x",
 					    "pll-audio-2x", "pll-audio" };
 static SUNXI_CCU_MUX_WITH_GATE(i2s0_clk, "i2s0", i2s_parents,
-			       0x0b0, 16, 2, BIT(31), 0);
+			       0x0b0, 16, 2, BIT(31), CLK_SET_RATE_PARENT);
 
 static SUNXI_CCU_MUX_WITH_GATE(i2s1_clk, "i2s1", i2s_parents,
-			       0x0b4, 16, 2, BIT(31), 0);
+			       0x0b4, 16, 2, BIT(31), CLK_SET_RATE_PARENT);
 
 /* TODO: the parent for most of the USB clocks is not known */
 static SUNXI_CCU_GATE(usb_phy0_clk,	"usb-phy0",	"osc24M",
@@ -446,7 +446,7 @@ static SUNXI_CCU_M_WITH_GATE(ve_clk, "ve", "pll-ve",
 static SUNXI_CCU_GATE(ac_dig_clk,	"ac-dig",	"pll-audio",
 		      0x140, BIT(31), CLK_SET_RATE_PARENT);
 static SUNXI_CCU_GATE(ac_dig_4x_clk,	"ac-dig-4x",	"pll-audio-4x",
-		      0x140, BIT(30), 0);
+		      0x140, BIT(30), CLK_SET_RATE_PARENT);
 static SUNXI_CCU_GATE(avs_clk,		"avs",		"osc24M",
 		      0x144, BIT(31), 0);
 
drivers/cpuidle/cpuidle-big_little.c +6 -1
index db2ede565f1a..b44476a1b7ad 100644
@@ -167,6 +167,7 @@ static int __init bl_idle_init(void)
 {
 	int ret;
 	struct device_node *root = of_find_node_by_path("/");
+	const struct of_device_id *match_id;
 
 	if (!root)
 		return -ENODEV;
@@ -174,7 +175,11 @@ static int __init bl_idle_init(void)
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_match_node(compatible_machine_match, root))
+	match_id = of_match_node(compatible_machine_match, root);
+
+	of_node_put(root);
+
+	if (!match_id)
 		return -ENODEV;
 
 	if (!mcpm_is_available())
drivers/crypto/ux500/cryp/cryp_core.c +2 -2
index d2663a4e1f5e..a92a66b1ff46 100644
@@ -556,7 +556,7 @@ static int cryp_set_dma_transfer(struct cryp_ctx *ctx,
 		desc = dmaengine_prep_slave_sg(channel,
 				ctx->device->dma.sg_src,
 				ctx->device->dma.sg_src_len,
-				direction, DMA_CTRL_ACK);
+				DMA_MEM_TO_DEV, DMA_CTRL_ACK);
 		break;
 
 	case DMA_FROM_DEVICE:
@@ -580,7 +580,7 @@ static int cryp_set_dma_transfer(struct cryp_ctx *ctx,
 		desc = dmaengine_prep_slave_sg(channel,
 				ctx->device->dma.sg_dst,
 				ctx->device->dma.sg_dst_len,
-				direction,
+				DMA_DEV_TO_MEM,
 				DMA_CTRL_ACK |
 				DMA_PREP_INTERRUPT);
 
drivers/crypto/ux500/hash/hash_core.c +1 -1
index 633321a8dd03..a0bb8a6eec3f 100644
@@ -166,7 +166,7 @@ static int hash_set_dma_transfer(struct hash_ctx *ctx, struct scatterlist *sg,
 		__func__);
 	desc = dmaengine_prep_slave_sg(channel,
 			ctx->device->dma.sg, ctx->device->dma.sg_len,
-			direction, DMA_CTRL_ACK | DMA_PREP_INTERRUPT);
+			DMA_MEM_TO_DEV, DMA_CTRL_ACK | DMA_PREP_INTERRUPT);
 	if (!desc) {
 		dev_err(ctx->device->dev,
 			"%s: dmaengine_prep_slave_sg() failed!\n", __func__);
drivers/dma/bcm2835-dma.c +25 -45

116 lines not on this page · raw message

drivers/dma/imx-dma.c +4 -4
index 75b6ff0415ee..118d371a2a4a 100644
@@ -617,7 +617,7 @@ static void imxdma_tasklet(unsigned long data)
 {
 	struct imxdma_channel *imxdmac = (void *)data;
 	struct imxdma_engine *imxdma = imxdmac->imxdma;
-	struct imxdma_desc *desc;
+	struct imxdma_desc *desc, *next_desc;
 	unsigned long flags;
 
 	spin_lock_irqsave(&imxdma->lock, flags);
@@ -647,10 +647,10 @@ static void imxdma_tasklet(unsigned long data)
 	list_move_tail(imxdmac->ld_active.next, &imxdmac->ld_free);
 
 	if (!list_empty(&imxdmac->ld_queue)) {
-		desc = list_first_entry(&imxdmac->ld_queue, struct imxdma_desc,
-					node);
+		next_desc = list_first_entry(&imxdmac->ld_queue,
+					     struct imxdma_desc, node);
 		list_move_tail(imxdmac->ld_queue.next, &imxdmac->ld_active);
-		if (imxdma_xfer_desc(desc) < 0)
+		if (imxdma_xfer_desc(next_desc) < 0)
 			dev_warn(imxdma->dev, "%s: channel: %d couldn't xfer desc\n",
 				 __func__, imxdmac->channel);
 	}
drivers/dma/xilinx/zynqmp_dma.c +1 -1
index c74a88b65039..73de6a6179fc 100644
@@ -163,7 +163,7 @@ struct zynqmp_dma_desc_ll {
 	u32 ctrl;
 	u64 nxtdscraddr;
 	u64 rsvd;
-}; __aligned(64)
+};
 
 /**
  * struct zynqmp_dma_desc_sw - Per Transaction structure
drivers/firmware/efi/vars.c +78 -21

227 lines not on this page · raw message

drivers/fpga/altera-cvp.c +13 -2
index 68e4b2b98c8f..7a42c194b944 100644
@@ -403,6 +403,7 @@ static int altera_cvp_probe(struct pci_dev *pdev,
 	struct altera_cvp_conf *conf;
 	struct fpga_manager *mgr;
 	u16 cmd, val;
+	u32 regval;
 	int ret;
 
 	/*
@@ -416,6 +417,14 @@ static int altera_cvp_probe(struct pci_dev *pdev,
 		return -ENODEV;
 	}
 
+	pci_read_config_dword(pdev, VSE_CVP_STATUS, &regval);
+	if (!(regval & VSE_CVP_STATUS_CVP_EN)) {
+		dev_err(&pdev->dev,
+			"CVP is disabled for this device: CVP_STATUS Reg 0x%x\n",
+			regval);
+		return -ENODEV;
+	}
+
 	conf = devm_kzalloc(&pdev->dev, sizeof(*conf), GFP_KERNEL);
 	if (!conf)
 		return -ENOMEM;
@@ -471,7 +480,8 @@ static int altera_cvp_probe(struct pci_dev *pdev,
 	return 0;
 
 err_unmap:
-	pci_iounmap(pdev, conf->map);
+	if (conf->map)
+		pci_iounmap(pdev, conf->map);
 	pci_release_region(pdev, CVP_BAR);
 err_disable:
 	cmd &= ~PCI_COMMAND_MEMORY;
@@ -486,7 +496,8 @@ static void altera_cvp_remove(struct pci_dev *pdev)
 	u16 cmd;
 
 	fpga_mgr_unregister(mgr);
-	pci_iounmap(pdev, conf->map);
+	if (conf->map)
+		pci_iounmap(pdev, conf->map);
 	pci_release_region(pdev, CVP_BAR);
 	pci_read_config_word(pdev, PCI_COMMAND, &cmd);
 	cmd &= ~PCI_COMMAND_MEMORY;
drivers/gpio/gpio-mt7621.c +8 -2
index d72af6f6cdbd..00e954f22bc9 100644
@@ -244,6 +244,8 @@ mediatek_gpio_bank_probe(struct device *dev,
 	rg->chip.of_xlate = mediatek_gpio_xlate;
 	rg->chip.label = devm_kasprintf(dev, GFP_KERNEL, "%s-bank%d",
 					dev_name(dev), bank);
+	if (!rg->chip.label)
+		return -ENOMEM;
 
 	ret = devm_gpiochip_add_data(dev, &rg->chip, mtk);
 	if (ret < 0) {
@@ -295,6 +297,7 @@ mediatek_gpio_probe(struct platform_device *pdev)
 	struct device_node *np = dev->of_node;
 	struct mtk *mtk;
 	int i;
+	int ret;
 
 	mtk = devm_kzalloc(dev, sizeof(*mtk), GFP_KERNEL);
 	if (!mtk)
@@ -309,8 +312,11 @@ mediatek_gpio_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, mtk);
 	mediatek_gpio_irq_chip.name = dev_name(dev);
 
-	for (i = 0; i < MTK_BANK_CNT; i++)
-		mediatek_gpio_bank_probe(dev, np, i);
+	for (i = 0; i < MTK_BANK_CNT; i++) {
+		ret = mediatek_gpio_bank_probe(dev, np, i);
+		if (ret)
+			return ret;
+	}
 
 	return 0;
 }
drivers/gpio/gpiolib.c +21 -4
index b3ab6c428423..fd713326dcfc 100644
@@ -2279,6 +2279,12 @@ static int gpiod_request_commit(struct gpio_desc *desc, const char *label)
 	unsigned long		flags;
 	unsigned		offset;
 
+	if (label) {
+		label = kstrdup_const(label, GFP_KERNEL);
+		if (!label)
+			return -ENOMEM;
+	}
+
 	spin_lock_irqsave(&gpio_lock, flags);
 
 	/* NOTE:  gpio_request() can be called in early boot,
@@ -2289,6 +2295,7 @@ static int gpiod_request_commit(struct gpio_desc *desc, const char *label)
 		desc_set_label(desc, label ? : "?");
 		status = 0;
 	} else {
+		kfree_const(label);
 		status = -EBUSY;
 		goto done;
 	}
@@ -2305,6 +2312,7 @@ static int gpiod_request_commit(struct gpio_desc *desc, const char *label)
 
 		if (status < 0) {
 			desc_set_label(desc, NULL);
+			kfree_const(label);
 			clear_bit(FLAG_REQUESTED, &desc->flags);
 			goto done;
 		}
@@ -2400,6 +2408,7 @@ static bool gpiod_free_commit(struct gpio_desc *desc)
 			chip->free(chip, gpio_chip_hwgpio(desc));
 			spin_lock_irqsave(&gpio_lock, flags);
 		}
+		kfree_const(desc->label);
 		desc_set_label(desc, NULL);
 		clear_bit(FLAG_ACTIVE_LOW, &desc->flags);
 		clear_bit(FLAG_REQUESTED, &desc->flags);
@@ -3221,11 +3230,19 @@ EXPORT_SYMBOL_GPL(gpiod_cansleep);
  * @desc: gpio to set the consumer name on
  * @name: the new consumer name
  */
-void gpiod_set_consumer_name(struct gpio_desc *desc, const char *name)
+int gpiod_set_consumer_name(struct gpio_desc *desc, const char *name)
 {
-	VALIDATE_DESC_VOID(desc);
-	/* Just overwrite whatever the previous name was */
-	desc->label = name;
+	VALIDATE_DESC(desc);
+	if (name) {
+		name = kstrdup_const(name, GFP_KERNEL);
+		if (!name)
+			return -ENOMEM;
+	}
+
+	kfree_const(desc->label);
+	desc_set_label(desc, name);
+
+	return 0;
 }
 EXPORT_SYMBOL_GPL(gpiod_set_consumer_name);
 
drivers/gpu/drm/amd/display/dc/core/dc_link.c +17 -6
index 7c89785fd731..23a7ef97afdd 100644
@@ -324,7 +324,7 @@ bool dc_link_is_dp_sink_present(struct dc_link *link)
 {
 	enum gpio_result gpio_result;
 	uint32_t clock_pin = 0;
-
+	uint8_t retry = 0;
 	struct ddc *ddc;
 
 	enum connector_id connector_id =
@@ -353,11 +353,22 @@ bool dc_link_is_dp_sink_present(struct dc_link *link)
 		return present;
 	}
 
-	/* Read GPIO: DP sink is present if both clock and data pins are zero */
-	/* [anaumov] in DAL2, there was no check for GPIO failure */
-
-	gpio_result = dal_gpio_get_value(ddc->pin_clock, &clock_pin);
-	ASSERT(gpio_result == GPIO_RESULT_OK);
+	/*
+	 * Read GPIO: DP sink is present if both clock and data pins are zero
+	 *
+	 * [W/A] plug-unplug DP cable, sometimes customer board has
+	 * one short pulse on clk_pin(1V, < 1ms). DP will be config to HDMI/DVI
+	 * then monitor can't br light up. Add retry 3 times
+	 * But in real passive dongle, it need additional 3ms to detect
+	 */
+	do {
+		gpio_result = dal_gpio_get_value(ddc->pin_clock, &clock_pin);
+		ASSERT(gpio_result == GPIO_RESULT_OK);
+		if (clock_pin)
+			udelay(1000);
+		else
+			break;
+	} while (retry++ < 3);
 
 	present = (gpio_result == GPIO_RESULT_OK) && !clock_pin;
 
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +2 -1
index a7553b6d59c2..05840f5bddd5 100644
@@ -2240,7 +2240,8 @@ static void get_active_converter_info(
 					translate_dpcd_max_bpc(
 						hdmi_color_caps.bits.MAX_BITS_PER_COLOR_COMPONENT);
 
-				link->dpcd_caps.dongle_caps.extendedCapValid = true;
+				if (link->dpcd_caps.dongle_caps.dp_hdmi_max_pixel_clk != 0)
+					link->dpcd_caps.dongle_caps.extendedCapValid = true;
 			}
 
 			break;
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +2 -0
index ea6beccfd89d..87bf422f16be 100644
@@ -1917,6 +1917,8 @@ enum dc_status resource_map_pool_resources(
 		}
 	*/
 
+	calculate_phy_pix_clks(stream);
+
 	/* acquire new resources */
 	pipe_idx = acquire_first_free_pipe(&context->res_ctx, pool, stream);
 
drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +10 -1
index 0941f3c689bc..580e7e82034f 100644
@@ -1268,10 +1268,19 @@ static void program_scaler(const struct dc *dc,
 		pipe_ctx->plane_res.scl_data.lb_params.depth,
 		&pipe_ctx->stream->bit_depth_params);
 
-	if (pipe_ctx->stream_res.tg->funcs->set_overscan_blank_color)
+	if (pipe_ctx->stream_res.tg->funcs->set_overscan_blank_color) {
+		/*
+		 * The way 420 is packed, 2 channels carry Y component, 1 channel
+		 * alternate between Cb and Cr, so both channels need the pixel
+		 * value for Y
+		 */
+		if (pipe_ctx->stream->timing.pixel_encoding == PIXEL_ENCODING_YCBCR420)
+			color.color_r_cr = color.color_g_y;
+
 		pipe_ctx->stream_res.tg->funcs->set_overscan_blank_color(
 				pipe_ctx->stream_res.tg,
 				&color);
+	}
 
 	pipe_ctx->plane_res.xfm->funcs->transform_set_scaler(pipe_ctx->plane_res.xfm,
 		&pipe_ctx->plane_res.scl_data);
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +11 -1
index cfcc54f2ce65..4058b59d9bea 100644
@@ -1190,7 +1190,8 @@ static bool dcn10_set_input_transfer_func(struct pipe_ctx *pipe_ctx,
 		tf = plane_state->in_transfer_func;
 
 	if (plane_state->gamma_correction &&
-		!plane_state->gamma_correction->is_identity
+		!dpp_base->ctx->dc->debug.always_use_regamma
+		&& !plane_state->gamma_correction->is_identity
 			&& dce_use_lut(plane_state->format))
 		dpp_base->funcs->dpp_program_input_lut(dpp_base, plane_state->gamma_correction);
 
@@ -2120,6 +2121,15 @@ static void dcn10_blank_pixel_data(
 	color_space = stream->output_color_space;
 	color_space_to_black_color(dc, color_space, &black_color);
 
+	/*
+	 * The way 420 is packed, 2 channels carry Y component, 1 channel
+	 * alternate between Cb and Cr, so both channels need the pixel
+	 * value for Y
+	 */
+	if (stream->timing.pixel_encoding == PIXEL_ENCODING_YCBCR420)
+		black_color.color_r_cr = black_color.color_g_y;
+
+
 	if (stream_res->tg->funcs->set_blank_color)
 		stream_res->tg->funcs->set_blank_color(
 				stream_res->tg,
drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c +15 -2
index 5b67f575cd34..45629f26dbc2 100644
@@ -1528,8 +1528,21 @@ static int polaris10_populate_clock_stretcher_data_table(struct pp_hwmgr *hwmgr)
 	efuse = efuse >> 24;
 
 	if (hwmgr->chip_id == CHIP_POLARIS10) {
-		min = 1000;
-		max = 2300;
+		if (hwmgr->is_kicker) {
+			min = 1200;
+			max = 2500;
+		} else {
+			min = 1000;
+			max = 2300;
+		}
+	} else if (hwmgr->chip_id == CHIP_POLARIS11) {
+		if (hwmgr->is_kicker) {
+			min = 900;
+			max = 2100;
+		} else {
+			min = 1100;
+			max = 2100;
+		}
 	} else {
 		min = 1100;
 		max = 2100;
drivers/gpu/drm/drm_atomic_helper.c +6 -2
index f77bff5aa307..23397c08be11 100644
@@ -3192,7 +3192,7 @@ EXPORT_SYMBOL(drm_atomic_helper_suspend);
 int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state,
 					      struct drm_modeset_acquire_ctx *ctx)
 {
-	int i;
+	int i, ret;
 	struct drm_plane *plane;
 	struct drm_plane_state *new_plane_state;
 	struct drm_connector *connector;
@@ -3211,7 +3211,11 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state,
 	for_each_new_connector_in_state(state, connector, new_conn_state, i)
 		state->connectors[i].old_state = connector->state;
 
-	return drm_atomic_commit(state);
+	ret = drm_atomic_commit(state);
+
+	state->acquire_ctx = NULL;
+
+	return ret;
 }
 EXPORT_SYMBOL(drm_atomic_helper_commit_duplicated_state);
 
drivers/gpu/drm/drm_bufs.c +3 -0
index ba8cfe65c65b..e2f775d1c112 100644
@@ -36,6 +36,8 @@
 #include <drm/drmP.h>
 #include "drm_legacy.h"
 
+#include <linux/nospec.h>
+
 static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
 						  struct drm_local_map *map)
 {
@@ -1417,6 +1419,7 @@ int drm_legacy_freebufs(struct drm_device *dev, void *data,
 				  idx, dma->buf_count - 1);
 			return -EINVAL;
 		}
+		idx = array_index_nospec(idx, dma->buf_count);
 		buf = dma->buflist[idx];
 		if (buf->file_priv != file_priv) {
 			DRM_ERROR("Process %d freeing buffer not owned\n",
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +1 -1
index 14fc7c2a6bb7..c9962a36b86b 100644
@@ -331,7 +331,7 @@ static void dpu_encoder_phys_vid_vblank_irq(void *arg, int irq_idx)
 	if (hw_ctl && hw_ctl->ops.get_flush_register)
 		flush_register = hw_ctl->ops.get_flush_register(hw_ctl);
 
-	if (flush_register == 0)
+	if (!(flush_register & hw_ctl->ops.get_pending_flush(hw_ctl)))
 		new_cnt = atomic_add_unless(&phys_enc->pending_kickoff_cnt,
 				-1, 0);
 	spin_unlock_irqrestore(phys_enc->enc_spinlock, lock_flags);
drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c +4 -4
index 41bec570c518..31205625c734 100644
@@ -17,7 +17,7 @@
  *                              |                |
  *                              |                |
  *                 +---------+  |  +----------+  |  +----+
- *  dsi0vco_clk ---| out_div |--o--| divl_3_0 |--o--| /8 |-- dsi0pllbyte
+ *  dsi0vco_clk ---| out_div |--o--| divl_3_0 |--o--| /8 |-- dsi0_phy_pll_out_byteclk
  *                 +---------+  |  +----------+  |  +----+
  *                              |                |
  *                              |                |         dsi0_pll_by_2_bit_clk
@@ -25,7 +25,7 @@
  *                              |                |  +----+  |  |\  dsi0_pclk_mux
  *                              |                |--| /2 |--o--| \   |
  *                              |                |  +----+     |  \  |  +---------+
- *                              |                --------------|  |--o--| div_7_4 |-- dsi0pll
+ *                              |                --------------|  |--o--| div_7_4 |-- dsi0_phy_pll_out_dsiclk
  *                              |------------------------------|  /     +---------+
  *                              |          +-----+             | /
  *                              -----------| /4? |--o----------|/
@@ -690,7 +690,7 @@ static int pll_10nm_register(struct dsi_pll_10nm *pll_10nm)
 
 	hws[num++] = hw;
 
-	snprintf(clk_name, 32, "dsi%dpllbyte", pll_10nm->id);
+	snprintf(clk_name, 32, "dsi%d_phy_pll_out_byteclk", pll_10nm->id);
 	snprintf(parent, 32, "dsi%d_pll_bit_clk", pll_10nm->id);
 
 	/* DSI Byte clock = VCO_CLK / OUT_DIV / BIT_DIV / 8 */
@@ -739,7 +739,7 @@ static int pll_10nm_register(struct dsi_pll_10nm *pll_10nm)
 
 	hws[num++] = hw;
 
-	snprintf(clk_name, 32, "dsi%dpll", pll_10nm->id);
+	snprintf(clk_name, 32, "dsi%d_phy_pll_out_dsiclk", pll_10nm->id);
 	snprintf(parent, 32, "dsi%d_pclk_mux", pll_10nm->id);
 
 	/* PIX CLK DIV : DIV_CTRL_7_4*/
drivers/gpu/drm/rockchip/cdn-dp-reg.c +1 -1
index 3105965fc260..5a485489a1e2 100644
@@ -147,7 +147,7 @@ static int cdn_dp_mailbox_validate_receive(struct cdn_dp_device *dp,
 }
 
 static int cdn_dp_mailbox_read_receive(struct cdn_dp_device *dp,
-				       u8 *buff, u8 buff_size)
+				       u8 *buff, u16 buff_size)
 {
 	u32 i;
 	int ret;
drivers/gpu/drm/sun4i/sun8i_tcon_top.c +7 -0
index d5240b777a8f..adcdf946c365 100644
@@ -168,6 +168,13 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master,
 		goto err_assert_reset;
 	}
 
+	/*
+	 * At least on H6, some registers have some bits set by default
+	 * which may cause issues. Clear them here.
+	 */
+	writel(0, regs + TCON_TOP_PORT_SEL_REG);
+	writel(0, regs + TCON_TOP_GATE_SRC_REG);
+
 	/*
 	 * TCON TOP has two muxes, which select parent clock for each TCON TV
 	 * channel clock. Parent could be either TCON TV or TVE clock. For now
drivers/gpu/drm/v3d/v3d_bo.c +1 -0
index 54d96518a131..a08766d39eab 100644
@@ -293,6 +293,7 @@ v3d_prime_import_sg_table(struct drm_device *dev,
 	bo->resv = attach->dmabuf->resv;
 
 	bo->sgt = sgt;
+	obj->import_attach = attach;
 	v3d_bo_get_pages(bo);
 
 	v3d_mmu_insert_ptes(bo);
drivers/gpu/drm/vc4/vc4_plane.c +7 -5
index 629f40424bba..ab39315c9078 100644
@@ -315,12 +315,14 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
 			vc4_get_scaling_mode(vc4_state->src_h[1],
 					     vc4_state->crtc_h);
 
-		/* YUV conversion requires that horizontal scaling be enabled,
-		 * even on a plane that's otherwise 1:1. Looks like only PPF
-		 * works in that case, so let's pick that one.
+		/* YUV conversion requires that horizontal scaling be enabled
+		 * on the UV plane even if vc4_get_scaling_mode() returned
+		 * VC4_SCALING_NONE (which can happen when the down-scaling
+		 * ratio is 0.5). Let's force it to VC4_SCALING_PPF in this
+		 * case.
 		 */
-		if (vc4_state->is_unity)
-			vc4_state->x_scaling[0] = VC4_SCALING_PPF;
+		if (vc4_state->x_scaling[1] == VC4_SCALING_NONE)
+			vc4_state->x_scaling[1] = VC4_SCALING_PPF;
 	} else {
 		vc4_state->is_yuv = false;
 		vc4_state->x_scaling[1] = VC4_SCALING_NONE;
drivers/gpu/drm/vgem/vgem_drv.c +8 -8
index 0e5620f76ee0..6887db878b38 100644
@@ -471,31 +471,31 @@ static int __init vgem_init(void)
 	if (!vgem_device)
 		return -ENOMEM;
 
-	ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
-	if (ret)
-		goto out_free;
-
 	vgem_device->platform =
 		platform_device_register_simple("vgem", -1, NULL, 0);
 	if (IS_ERR(vgem_device->platform)) {
 		ret = PTR_ERR(vgem_device->platform);
-		goto out_fini;
+		goto out_free;
 	}
 
 	dma_coerce_mask_and_coherent(&vgem_device->platform->dev,
 				     DMA_BIT_MASK(64));
+	ret = drm_dev_init(&vgem_device->drm, &vgem_driver,
+			   &vgem_device->platform->dev);
+	if (ret)
+		goto out_unregister;
 
 	/* Final step: expose the device/driver to userspace */
 	ret  = drm_dev_register(&vgem_device->drm, 0);
 	if (ret)
-		goto out_unregister;
+		goto out_fini;
 
 	return 0;
 
-out_unregister:
-	platform_device_unregister(vgem_device->platform);
 out_fini:
 	drm_dev_fini(&vgem_device->drm);
+out_unregister:
+	platform_device_unregister(vgem_device->platform);
 out_free:
 	kfree(vgem_device);
 	return ret;
drivers/gpu/ipu-v3/ipu-image-convert.c +7 -3
index f4081962784c..91653adc41cc 100644
@@ -1524,7 +1524,7 @@ int ipu_image_convert_queue(struct ipu_image_convert_run *run)
 EXPORT_SYMBOL_GPL(ipu_image_convert_queue);
 
 /* Abort any active or pending conversions for this context */
-void ipu_image_convert_abort(struct ipu_image_convert_ctx *ctx)
+static void __ipu_image_convert_abort(struct ipu_image_convert_ctx *ctx)
 {
 	struct ipu_image_convert_chan *chan = ctx->chan;
 	struct ipu_image_convert_priv *priv = chan->priv;
@@ -1551,7 +1551,7 @@ void ipu_image_convert_abort(struct ipu_image_convert_ctx *ctx)
 
 	need_abort = (run_count || active_run);
 
-	ctx->aborting = need_abort;
+	ctx->aborting = true;
 
 	spin_unlock_irqrestore(&chan->irqlock, flags);
 
@@ -1572,7 +1572,11 @@ void ipu_image_convert_abort(struct ipu_image_convert_ctx *ctx)
 		dev_warn(priv->ipu->dev, "%s: timeout\n", __func__);
 		force_abort(ctx);
 	}
+}
 
+void ipu_image_convert_abort(struct ipu_image_convert_ctx *ctx)
+{
+	__ipu_image_convert_abort(ctx);
 	ctx->aborting = false;
 }
 EXPORT_SYMBOL_GPL(ipu_image_convert_abort);
@@ -1586,7 +1590,7 @@ void ipu_image_convert_unprepare(struct ipu_image_convert_ctx *ctx)
 	bool put_res;
 
 	/* make sure no runs are hanging around */
-	ipu_image_convert_abort(ctx);
+	__ipu_image_convert_abort(ctx);
 
 	dev_dbg(priv->ipu->dev, "%s: task %u: removing ctx %p\n", __func__,
 		chan->ic_task, ctx);
drivers/hid/hid-debug.c +47 -73

181 lines not on this page · raw message

drivers/hid/hid-lenovo.c +8 -2
index 643b6eb54442..eacc76d2ab96 100644
@@ -743,7 +743,9 @@ static int lenovo_probe_tpkbd(struct hid_device *hdev)
 	data_pointer->led_mute.brightness_get = lenovo_led_brightness_get_tpkbd;
 	data_pointer->led_mute.brightness_set = lenovo_led_brightness_set_tpkbd;
 	data_pointer->led_mute.dev = dev;
-	led_classdev_register(dev, &data_pointer->led_mute);
+	ret = led_classdev_register(dev, &data_pointer->led_mute);
+	if (ret < 0)
+		goto err;
 
 	data_pointer->led_micmute.name = name_micmute;
 	data_pointer->led_micmute.brightness_get =
@@ -751,7 +753,11 @@ static int lenovo_probe_tpkbd(struct hid_device *hdev)
 	data_pointer->led_micmute.brightness_set =
 		lenovo_led_brightness_set_tpkbd;
 	data_pointer->led_micmute.dev = dev;
-	led_classdev_register(dev, &data_pointer->led_micmute);
+	ret = led_classdev_register(dev, &data_pointer->led_micmute);
+	if (ret < 0) {
+		led_classdev_unregister(&data_pointer->led_mute);
+		goto err;
+	}
 
 	lenovo_features_set_tpkbd(hdev);
 
drivers/hwmon/lm80.c +19 -7
index 08e3945a6fbf..0e30fa00204c 100644
@@ -360,9 +360,11 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr,
 	struct i2c_client *client = data->client;
 	unsigned long min, val;
 	u8 reg;
-	int err = kstrtoul(buf, 10, &val);
-	if (err < 0)
-		return err;
+	int rv;
+
+	rv = kstrtoul(buf, 10, &val);
+	if (rv < 0)
+		return rv;
 
 	/* Save fan_min */
 	mutex_lock(&data->update_lock);
@@ -390,8 +392,11 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr,
 		return -EINVAL;
 	}
 
-	reg = (lm80_read_value(client, LM80_REG_FANDIV) &
-	       ~(3 << (2 * (nr + 1)))) | (data->fan_div[nr] << (2 * (nr + 1)));
+	rv = lm80_read_value(client, LM80_REG_FANDIV);
+	if (rv < 0)
+		return rv;
+	reg = (rv & ~(3 << (2 * (nr + 1))))
+	    | (data->fan_div[nr] << (2 * (nr + 1)));
 	lm80_write_value(client, LM80_REG_FANDIV, reg);
 
 	/* Restore fan_min */
@@ -623,6 +628,7 @@ static int lm80_probe(struct i2c_client *client,
 	struct device *dev = &client->dev;
 	struct device *hwmon_dev;
 	struct lm80_data *data;
+	int rv;
 
 	data = devm_kzalloc(dev, sizeof(struct lm80_data), GFP_KERNEL);
 	if (!data)
@@ -635,8 +641,14 @@ static int lm80_probe(struct i2c_client *client,
 	lm80_init_client(client);
 
 	/* A few vars need to be filled upon startup */
-	data->fan[f_min][0] = lm80_read_value(client, LM80_REG_FAN_MIN(1));
-	data->fan[f_min][1] = lm80_read_value(client, LM80_REG_FAN_MIN(2));
+	rv = lm80_read_value(client, LM80_REG_FAN_MIN(1));
+	if (rv < 0)
+		return rv;
+	data->fan[f_min][0] = rv;
+	rv = lm80_read_value(client, LM80_REG_FAN_MIN(2));
+	if (rv < 0)
+		return rv;
+	data->fan[f_min][1] = rv;
 
 	hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name,
 							   data, lm80_groups);
drivers/i2c/busses/i2c-axxia.c +16 -16
index 51d34959709b..fb5bac079e83 100644
@@ -296,22 +296,7 @@ static irqreturn_t axxia_i2c_isr(int irq, void *_dev)
 			i2c_int_disable(idev, MST_STATUS_TFL);
 	}
 
-	if (status & MST_STATUS_SCC) {
-		/* Stop completed */
-		i2c_int_disable(idev, ~MST_STATUS_TSS);
-		complete(&idev->msg_complete);
-	} else if (status & MST_STATUS_SNS) {
-		/* Transfer done */
-		i2c_int_disable(idev, ~MST_STATUS_TSS);
-		if (i2c_m_rd(idev->msg) && idev->msg_xfrd < idev->msg->len)
-			axxia_i2c_empty_rx_fifo(idev);
-		complete(&idev->msg_complete);
-	} else if (status & MST_STATUS_TSS) {
-		/* Transfer timeout */
-		idev->msg_err = -ETIMEDOUT;
-		i2c_int_disable(idev, ~MST_STATUS_TSS);
-		complete(&idev->msg_complete);
-	} else if (unlikely(status & MST_STATUS_ERR)) {
+	if (unlikely(status & MST_STATUS_ERR)) {
 		/* Transfer error */
 		i2c_int_disable(idev, ~0);
 		if (status & MST_STATUS_AL)
@@ -328,6 +313,21 @@ static irqreturn_t axxia_i2c_isr(int irq, void *_dev)
 			readl(idev->base + MST_TX_BYTES_XFRD),
 			readl(idev->base + MST_TX_XFER));
 		complete(&idev->msg_complete);
+	} else if (status & MST_STATUS_SCC) {
+		/* Stop completed */
+		i2c_int_disable(idev, ~MST_STATUS_TSS);
+		complete(&idev->msg_complete);
+	} else if (status & MST_STATUS_SNS) {
+		/* Transfer done */
+		i2c_int_disable(idev, ~MST_STATUS_TSS);
+		if (i2c_m_rd(idev->msg) && idev->msg_xfrd < idev->msg->len)
+			axxia_i2c_empty_rx_fifo(idev);
+		complete(&idev->msg_complete);
+	} else if (status & MST_STATUS_TSS) {
+		/* Transfer timeout */
+		idev->msg_err = -ETIMEDOUT;
+		i2c_int_disable(idev, ~MST_STATUS_TSS);
+		complete(&idev->msg_complete);
 	}
 
 out:
drivers/i2c/busses/i2c-sh_mobile.c +2 -0
index 818cab14e87c..ddcfb6d349d1 100644
@@ -800,6 +800,7 @@ static const struct sh_mobile_dt_config r8a7740_dt_config = {
 static const struct of_device_id sh_mobile_i2c_dt_ids[] = {
 	{ .compatible = "renesas,iic-r8a73a4", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,iic-r8a7740", .data = &r8a7740_dt_config },
+	{ .compatible = "renesas,iic-r8a774c0", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,iic-r8a7790", .data = &v2_freq_calc_dt_config },
 	{ .compatible = "renesas,iic-r8a7791", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,iic-r8a7792", .data = &fast_clock_dt_config },
@@ -808,6 +809,7 @@ static const struct of_device_id sh_mobile_i2c_dt_ids[] = {
 	{ .compatible = "renesas,rcar-gen2-iic", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,iic-r8a7795", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,rcar-gen3-iic", .data = &fast_clock_dt_config },
+	{ .compatible = "renesas,iic-r8a77990", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,iic-sh73a0", .data = &fast_clock_dt_config },
 	{ .compatible = "renesas,rmobile-iic", .data = &default_dt_config },
 	{},
drivers/iio/accel/kxcjk-1013.c +1 -0
index af53a1084ee5..471caa5323e4 100644
@@ -1490,6 +1490,7 @@ static const struct acpi_device_id kx_acpi_match[] = {
 	{"KXCJ1008", KXCJ91008},
 	{"KXCJ9000", KXCJ91008},
 	{"KIOX000A", KXCJ91008},
+	{"KIOX010A", KXCJ91008}, /* KXCJ91008 inside the display of a 2-in-1 */
 	{"KXTJ1009", KXTJ21009},
 	{"SMO8500",  KXCJ91008},
 	{ },
drivers/iio/adc/meson_saradc.c +10 -4
index da2d16dfa63e..5dd104cf0939 100644
@@ -587,8 +587,11 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
 	struct clk_init_data init;
 	const char *clk_parents[1];
 
-	init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_div",
-				   indio_dev->dev.of_node);
+	init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_div",
+				   dev_name(indio_dev->dev.parent));
+	if (!init.name)
+		return -ENOMEM;
+
 	init.flags = 0;
 	init.ops = &clk_divider_ops;
 	clk_parents[0] = __clk_get_name(priv->clkin);
@@ -606,8 +609,11 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev,
 	if (WARN_ON(IS_ERR(priv->adc_div_clk)))
 		return PTR_ERR(priv->adc_div_clk);
 
-	init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%pOF#adc_en",
-				   indio_dev->dev.of_node);
+	init.name = devm_kasprintf(&indio_dev->dev, GFP_KERNEL, "%s#adc_en",
+				   dev_name(indio_dev->dev.parent));
+	if (!init.name)
+		return -ENOMEM;
+
 	init.flags = CLK_SET_RATE_PARENT;
 	init.ops = &clk_gate_ops;
 	clk_parents[0] = __clk_get_name(priv->adc_div_clk);
drivers/infiniband/hw/hfi1/rc.c +2 -0
index 9bd63abb2dfe..6f013a565353 100644
@@ -1157,6 +1157,7 @@ void hfi1_rc_send_complete(struct rvt_qp *qp, struct hfi1_opa_header *opah)
 		if (cmp_psn(wqe->lpsn, qp->s_sending_psn) >= 0 &&
 		    cmp_psn(qp->s_sending_psn, qp->s_sending_hpsn) <= 0)
 			break;
+		rvt_qp_wqe_unreserve(qp, wqe);
 		s_last = qp->s_last;
 		trace_hfi1_qp_send_completion(qp, wqe, s_last);
 		if (++s_last >= qp->s_size)
@@ -1209,6 +1210,7 @@ static struct rvt_swqe *do_rc_completion(struct rvt_qp *qp,
 		u32 s_last;
 
 		rvt_put_swqe(wqe);
+		rvt_qp_wqe_unreserve(qp, wqe);
 		s_last = qp->s_last;
 		trace_hfi1_qp_send_completion(qp, wqe, s_last);
 		if (++s_last >= qp->s_size)
drivers/infiniband/hw/hfi1/ruc.c +6 -1
index 5f56f3c1b4c4..62a3832a1ebb 100644
@@ -278,6 +278,8 @@ static void ruc_loopback(struct rvt_qp *sqp)
 			goto op_err;
 		if (!ret)
 			goto rnr_nak;
+		if (wqe->length > qp->r_len)
+			goto inv_err;
 		break;
 
 	case IB_WR_RDMA_WRITE_WITH_IMM:
@@ -445,7 +447,10 @@ static void ruc_loopback(struct rvt_qp *sqp)
 	goto err;
 
 inv_err:
-	send_status = IB_WC_REM_INV_REQ_ERR;
+	send_status =
+		sqp->ibqp.qp_type == IB_QPT_RC ?
+			IB_WC_REM_INV_REQ_ERR :
+			IB_WC_SUCCESS;
 	wc.status = IB_WC_LOC_QP_OP_ERR;
 	goto err;
 
drivers/infiniband/hw/qib/qib_ruc.c +6 -1
index f8a7de795beb..563f71e6d1d3 100644
@@ -274,6 +274,8 @@ static void qib_ruc_loopback(struct rvt_qp *sqp)
 			goto op_err;
 		if (!ret)
 			goto rnr_nak;
+		if (wqe->length > qp->r_len)
+			goto inv_err;
 		break;
 
 	case IB_WR_RDMA_WRITE_WITH_IMM:
@@ -434,7 +436,10 @@ static void qib_ruc_loopback(struct rvt_qp *sqp)
 	goto err;
 
 inv_err:
-	send_status = IB_WC_REM_INV_REQ_ERR;
+	send_status =
+		sqp->ibqp.qp_type == IB_QPT_RC ?
+			IB_WC_REM_INV_REQ_ERR :
+			IB_WC_SUCCESS;
 	wc.status = IB_WC_LOC_QP_OP_ERR;
 	goto err;
 
drivers/iommu/amd_iommu.c +8 -1
index bee0dfb7b93b..34c9aa76a7bd 100644
@@ -438,7 +438,14 @@ static int iommu_init_device(struct device *dev)
 
 	dev_data->alias = get_alias(dev);
 
-	if (dev_is_pci(dev) && pci_iommuv2_capable(to_pci_dev(dev))) {
+	/*
+	 * By default we use passthrough mode for IOMMUv2 capable device.
+	 * But if amd_iommu=force_isolation is set (e.g. to debug DMA to
+	 * invalid address), we ignore the capability for the device so
+	 * it'll be forced to go into translation mode.
+	 */
+	if ((iommu_pass_through || !amd_iommu_force_isolation) &&
+	    dev_is_pci(dev) && pci_iommuv2_capable(to_pci_dev(dev))) {
 		struct amd_iommu *iommu;
 
 		iommu = amd_iommu_rlookup_table[dev_data->devid];
drivers/iommu/arm-smmu-v3.c +12 -2
index 3e02aace38b1..9ae3678844eb 100644
@@ -586,7 +586,11 @@ struct arm_smmu_device {
 
 	struct arm_smmu_strtab_cfg	strtab_cfg;
 
-	u32				sync_count;
+	/* Hi16xx adds an extra 32 bits of goodness to its MSI payload */
+	union {
+		u32			sync_count;
+		u64			padding;
+	};
 
 	/* IOMMU core code handle */
 	struct iommu_device		iommu;
@@ -684,7 +688,13 @@ static void queue_inc_cons(struct arm_smmu_queue *q)
 	u32 cons = (Q_WRP(q, q->cons) | Q_IDX(q, q->cons)) + 1;
 
 	q->cons = Q_OVF(q, q->cons) | Q_WRP(q, cons) | Q_IDX(q, cons);
-	writel(q->cons, q->cons_reg);
+
+	/*
+	 * Ensure that all CPU accesses (reads and writes) to the queue
+	 * are complete before we update the cons pointer.
+	 */
+	mb();
+	writel_relaxed(q->cons, q->cons_reg);
 }
 
 static int queue_sync_prod(struct arm_smmu_queue *q)
drivers/iommu/arm-smmu.c +3 -0
index e7cbf4fcf61d..ce119cb279c3 100644
@@ -118,6 +118,7 @@ enum arm_smmu_implementation {
 	GENERIC_SMMU,
 	ARM_MMU500,
 	CAVIUM_SMMUV2,
+	QCOM_SMMUV2,
 };
 
 struct arm_smmu_s2cr {
@@ -1912,6 +1913,7 @@ ARM_SMMU_MATCH_DATA(smmu_generic_v2, ARM_SMMU_V2, GENERIC_SMMU);
 ARM_SMMU_MATCH_DATA(arm_mmu401, ARM_SMMU_V1_64K, GENERIC_SMMU);
 ARM_SMMU_MATCH_DATA(arm_mmu500, ARM_SMMU_V2, ARM_MMU500);
 ARM_SMMU_MATCH_DATA(cavium_smmuv2, ARM_SMMU_V2, CAVIUM_SMMUV2);
+ARM_SMMU_MATCH_DATA(qcom_smmuv2, ARM_SMMU_V2, QCOM_SMMUV2);
 
 static const struct of_device_id arm_smmu_of_match[] = {
 	{ .compatible = "arm,smmu-v1", .data = &smmu_generic_v1 },
@@ -1920,6 +1922,7 @@ static const struct of_device_id arm_smmu_of_match[] = {
 	{ .compatible = "arm,mmu-401", .data = &arm_mmu401 },
 	{ .compatible = "arm,mmu-500", .data = &arm_mmu500 },
 	{ .compatible = "cavium,smmu-v2", .data = &cavium_smmuv2 },
+	{ .compatible = "qcom,smmu-v2", .data = &qcom_smmuv2 },
 	{ },
 };
 MODULE_DEVICE_TABLE(of, arm_smmu_of_match);
drivers/irqchip/irq-gic-v3-its.c +27 -5
index cf3abb8d284f..4c2246fe5dbe 100644
@@ -93,9 +93,14 @@ struct its_device;
  * The ITS structure - contains most of the infrastructure, with the
  * top-level MSI domain, the command queue, the collections, and the
  * list of devices writing to it.
+ *
+ * dev_alloc_lock has to be taken for device allocations, while the
+ * spinlock must be taken to parse data structures such as the device
+ * list.
  */
 struct its_node {
 	raw_spinlock_t		lock;
+	struct mutex		dev_alloc_lock;
 	struct list_head	entry;
 	void __iomem		*base;
 	phys_addr_t		phys_base;
@@ -152,6 +157,7 @@ struct its_device {
 	void			*itt;
 	u32			nr_ites;
 	u32			device_id;
+	bool			shared;
 };
 
 static struct {
@@ -2290,6 +2296,7 @@ static int its_msi_prepare(struct irq_domain *domain, struct device *dev,
 	struct its_device *its_dev;
 	struct msi_domain_info *msi_info;
 	u32 dev_id;
+	int err = 0;
 
 	/*
 	 * We ignore "dev" entierely, and rely on the dev_id that has
@@ -2312,6 +2319,7 @@ static int its_msi_prepare(struct irq_domain *domain, struct device *dev,
 		return -EINVAL;
 	}
 
+	mutex_lock(&its->dev_alloc_lock);
 	its_dev = its_find_device(its, dev_id);
 	if (its_dev) {
 		/*
@@ -2319,18 +2327,22 @@ static int its_msi_prepare(struct irq_domain *domain, struct device *dev,
 		 * another alias (PCI bridge of some sort). No need to
 		 * create the device.
 		 */
+		its_dev->shared = true;
 		pr_debug("Reusing ITT for devID %x\n", dev_id);
 		goto out;
 	}
 
 	its_dev = its_create_device(its, dev_id, nvec, true);
-	if (!its_dev)
-		return -ENOMEM;
+	if (!its_dev) {
+		err = -ENOMEM;
+		goto out;
+	}
 
 	pr_debug("ITT %d entries, %d bits\n", nvec, ilog2(nvec));
 out:
+	mutex_unlock(&its->dev_alloc_lock);
 	info->scratchpad[0].ptr = its_dev;
-	return 0;
+	return err;
 }
 
 static struct msi_domain_ops its_msi_domain_ops = {
@@ -2434,6 +2446,7 @@ static void its_irq_domain_free(struct irq_domain *domain, unsigned int virq,
 {
 	struct irq_data *d = irq_domain_get_irq_data(domain, virq);
 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
+	struct its_node *its = its_dev->its;
 	int i;
 
 	for (i = 0; i < nr_irqs; i++) {
@@ -2448,8 +2461,14 @@ static void its_irq_domain_free(struct irq_domain *domain, unsigned int virq,
 		irq_domain_reset_irq_data(data);
 	}
 
-	/* If all interrupts have been freed, start mopping the floor */
-	if (bitmap_empty(its_dev->event_map.lpi_map,
+	mutex_lock(&its->dev_alloc_lock);
+
+	/*
+	 * If all interrupts have been freed, start mopping the
+	 * floor. This is conditionned on the device not being shared.
+	 */
+	if (!its_dev->shared &&
+	    bitmap_empty(its_dev->event_map.lpi_map,
 			 its_dev->event_map.nr_lpis)) {
 		its_lpi_free(its_dev->event_map.lpi_map,
 			     its_dev->event_map.lpi_base,
@@ -2461,6 +2480,8 @@ static void its_irq_domain_free(struct irq_domain *domain, unsigned int virq,
 		its_free_device(its_dev);
 	}
 
+	mutex_unlock(&its->dev_alloc_lock);
+
 	irq_domain_free_irqs_parent(domain, virq, nr_irqs);
 }
 
@@ -3385,6 +3406,7 @@ static int __init its_probe_one(struct resource *res,
 	}
 
 	raw_spin_lock_init(&its->lock);
+	mutex_init(&its->dev_alloc_lock);
 	INIT_LIST_HEAD(&its->entry);
 	INIT_LIST_HEAD(&its->its_device_list);
 	typer = gic_read_typer(its_base + GITS_TYPER);
drivers/isdn/hisax/hfc_pci.c +2 -0
index 8e5b03161b2f..64a63711fd95 100644
@@ -1170,11 +1170,13 @@ HFCPCI_l1hw(struct PStack *st, int pr, void *arg)
 		if (cs->debug & L1_DEB_LAPD)
 			debugl1(cs, "-> PH_REQUEST_PULL");
 #endif
+		spin_lock_irqsave(&cs->lock, flags);
 		if (!cs->tx_skb) {
 			test_and_clear_bit(FLG_L1_PULL_REQ, &st->l1.Flags);
 			st->l1.l1l2(st, PH_PULL | CONFIRM, NULL);
 		} else
 			test_and_set_bit(FLG_L1_PULL_REQ, &st->l1.Flags);
+		spin_unlock_irqrestore(&cs->lock, flags);
 		break;
 	case (HW_RESET | REQUEST):
 		spin_lock_irqsave(&cs->lock, flags);
drivers/lightnvm/pblk-core.c +10 -3
index 2940cdc87af1..95be6e36c7dd 100644
@@ -1252,15 +1252,22 @@ int pblk_line_recov_alloc(struct pblk *pblk, struct pblk_line *line)
 
 	ret = pblk_line_alloc_bitmaps(pblk, line);
 	if (ret)
-		return ret;
+		goto fail;
 
 	if (!pblk_line_init_bb(pblk, line, 0)) {
-		list_add(&line->list, &l_mg->free_list);
-		return -EINTR;
+		ret = -EINTR;
+		goto fail;
 	}
 
 	pblk_rl_free_lines_dec(&pblk->rl, line, true);
 	return 0;
+
+fail:
+	spin_lock(&l_mg->free_lock);
+	list_add(&line->list, &l_mg->free_list);
+	spin_unlock(&l_mg->free_lock);
+
+	return ret;
 }
 
 void pblk_line_recov_close(struct pblk *pblk, struct pblk_line *line)
drivers/lightnvm/pblk-write.c +5 -3
index 879227d584e7..c3e038d4b22e 100644
@@ -158,9 +158,11 @@ static void pblk_prepare_resubmit(struct pblk *pblk, unsigned int sentry,
 		w_ctx = &entry->w_ctx;
 
 		/* Check if the lba has been overwritten */
-		ppa_l2p = pblk_trans_map_get(pblk, w_ctx->lba);
-		if (!pblk_ppa_comp(ppa_l2p, entry->cacheline))
-			w_ctx->lba = ADDR_EMPTY;
+		if (w_ctx->lba != ADDR_EMPTY) {
+			ppa_l2p = pblk_trans_map_get(pblk, w_ctx->lba);
+			if (!pblk_ppa_comp(ppa_l2p, entry->cacheline))
+				w_ctx->lba = ADDR_EMPTY;
+		}
 
 		/* Mark up the entry as submittable again */
 		flags = READ_ONCE(w_ctx->flags);
drivers/md/raid10.c +4 -0
index 811427e53126..7033a2880771 100644
@@ -1208,7 +1208,9 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio,
 		struct bio *split = bio_split(bio, max_sectors,
 					      gfp, &conf->bio_split);
 		bio_chain(split, bio);
+		allow_barrier(conf);
 		generic_make_request(bio);
+		wait_barrier(conf);
 		bio = split;
 		r10_bio->master_bio = bio;
 		r10_bio->sectors = max_sectors;
@@ -1513,7 +1515,9 @@ static void raid10_write_request(struct mddev *mddev, struct bio *bio,
 		struct bio *split = bio_split(bio, r10_bio->sectors,
 					      GFP_NOIO, &conf->bio_split);
 		bio_chain(split, bio);
+		allow_barrier(conf);
 		generic_make_request(bio);
+		wait_barrier(conf);
 		bio = split;
 		r10_bio->master_bio = bio;
 	}
drivers/media/i2c/Kconfig +2 -0
index 82af97430e5b..63c9ac2c6a5f 100644
@@ -61,6 +61,7 @@ config VIDEO_TDA1997X
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
 	depends on SND_SOC
 	select SND_PCM
+	select HDMI
 	---help---
 	  V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.
 
@@ -610,6 +611,7 @@ config VIDEO_IMX274
 	tristate "Sony IMX274 sensor support"
 	depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
 	depends on MEDIA_CAMERA_SUPPORT
+	select REGMAP_I2C
 	---help---
 	  This is a V4L2 sensor driver for the Sony IMX274
 	  CMOS image sensor.
drivers/media/i2c/ad9389b.c +1 -1
index 5b008b0002c0..aa8b04cfed0f 100644
@@ -578,7 +578,7 @@ static const struct v4l2_dv_timings_cap ad9389b_timings_cap = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1200, 25000000, 170000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 25000000, 170000000,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 		V4L2_DV_BT_CAP_PROGRESSIVE | V4L2_DV_BT_CAP_REDUCED_BLANKING |
drivers/media/i2c/adv7511.c +1 -1
index f3899cc84e27..88349b5053cc 100644
@@ -130,7 +130,7 @@ static const struct v4l2_dv_timings_cap adv7511_timings_cap = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, ADV7511_MAX_WIDTH, 0, ADV7511_MAX_HEIGHT,
+	V4L2_INIT_BT_TIMINGS(640, ADV7511_MAX_WIDTH, 350, ADV7511_MAX_HEIGHT,
 		ADV7511_MIN_PIXELCLOCK, ADV7511_MAX_PIXELCLOCK,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
drivers/media/i2c/adv7604.c +2 -2
index c78698199ac5..f01964c36ad5 100644
@@ -766,7 +766,7 @@ static const struct v4l2_dv_timings_cap adv7604_timings_cap_analog = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1200, 25000000, 170000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 25000000, 170000000,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 		V4L2_DV_BT_CAP_PROGRESSIVE | V4L2_DV_BT_CAP_REDUCED_BLANKING |
@@ -777,7 +777,7 @@ static const struct v4l2_dv_timings_cap adv76xx_timings_cap_digital = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1200, 25000000, 225000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 25000000, 225000000,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 		V4L2_DV_BT_CAP_PROGRESSIVE | V4L2_DV_BT_CAP_REDUCED_BLANKING |
drivers/media/i2c/adv7842.c +2 -2
index 71fe56565f75..bb43a75ed6d0 100644
@@ -663,7 +663,7 @@ static const struct v4l2_dv_timings_cap adv7842_timings_cap_analog = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1200, 25000000, 170000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 25000000, 170000000,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 		V4L2_DV_BT_CAP_PROGRESSIVE | V4L2_DV_BT_CAP_REDUCED_BLANKING |
@@ -674,7 +674,7 @@ static const struct v4l2_dv_timings_cap adv7842_timings_cap_digital = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1200, 25000000, 225000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 25000000, 225000000,
 		V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 		V4L2_DV_BT_CAP_PROGRESSIVE | V4L2_DV_BT_CAP_REDUCED_BLANKING |
drivers/media/i2c/tc358743.c +1 -1
index ff25ea9aca48..26070fb6ce4e 100644
@@ -59,7 +59,7 @@ static const struct v4l2_dv_timings_cap tc358743_timings_cap = {
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
 	/* Pixel clock from REF_01 p. 20. Min/max height/width are unknown */
-	V4L2_INIT_BT_TIMINGS(1, 10000, 1, 10000, 0, 165000000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1200, 13000000, 165000000,
 			V4L2_DV_BT_STD_CEA861 | V4L2_DV_BT_STD_DMT |
 			V4L2_DV_BT_STD_GTF | V4L2_DV_BT_STD_CVT,
 			V4L2_DV_BT_CAP_PROGRESSIVE |
drivers/media/i2c/ths8200.c +1 -1
index 498ad2368cbc..f5ee28058ea2 100644
@@ -49,7 +49,7 @@ static const struct v4l2_dv_timings_cap ths8200_timings_cap = {
 	.type = V4L2_DV_BT_656_1120,
 	/* keep this initialization for compatibility with GCC < 4.4.6 */
 	.reserved = { 0 },
-	V4L2_INIT_BT_TIMINGS(0, 1920, 0, 1080, 25000000, 148500000,
+	V4L2_INIT_BT_TIMINGS(640, 1920, 350, 1080, 25000000, 148500000,
 		V4L2_DV_BT_STD_CEA861, V4L2_DV_BT_CAP_PROGRESSIVE)
 };
 
drivers/media/i2c/video-i2c.c +6 -5
index 06d29d8f6be8..f27d294dcbef 100644
@@ -510,7 +510,12 @@ static const struct v4l2_ioctl_ops video_i2c_ioctl_ops = {
 
 static void video_i2c_release(struct video_device *vdev)
 {
-	kfree(video_get_drvdata(vdev));
+	struct video_i2c_data *data = video_get_drvdata(vdev);
+
+	v4l2_device_unregister(&data->v4l2_dev);
+	mutex_destroy(&data->lock);
+	mutex_destroy(&data->queue_lock);
+	kfree(data);
 }
 
 static int video_i2c_probe(struct i2c_client *client,
@@ -608,10 +613,6 @@ static int video_i2c_remove(struct i2c_client *client)
 	struct video_i2c_data *data = i2c_get_clientdata(client);
 
 	video_unregister_device(&data->vdev);
-	v4l2_device_unregister(&data->v4l2_dev);
-
-	mutex_destroy(&data->lock);
-	mutex_destroy(&data->queue_lock);
 
 	return 0;
 }
drivers/media/platform/coda/coda-bit.c +9 -10
index d26c2d85a009..d20d3df5778b 100644
@@ -991,16 +991,15 @@ static int coda_start_encoding(struct coda_ctx *ctx)
 		else
 			coda_write(dev, CODA_STD_H264,
 				   CODA_CMD_ENC_SEQ_COD_STD);
-		if (ctx->params.h264_deblk_enabled) {
-			value = ((ctx->params.h264_deblk_alpha &
-				  CODA_264PARAM_DEBLKFILTEROFFSETALPHA_MASK) <<
-				 CODA_264PARAM_DEBLKFILTEROFFSETALPHA_OFFSET) |
-				((ctx->params.h264_deblk_beta &
-				  CODA_264PARAM_DEBLKFILTEROFFSETBETA_MASK) <<
-				 CODA_264PARAM_DEBLKFILTEROFFSETBETA_OFFSET);
-		} else {
-			value = 1 << CODA_264PARAM_DISABLEDEBLK_OFFSET;
-		}
+		value = ((ctx->params.h264_disable_deblocking_filter_idc &
+			  CODA_264PARAM_DISABLEDEBLK_MASK) <<
+			 CODA_264PARAM_DISABLEDEBLK_OFFSET) |
+			((ctx->params.h264_slice_alpha_c0_offset_div2 &
+			  CODA_264PARAM_DEBLKFILTEROFFSETALPHA_MASK) <<
+			 CODA_264PARAM_DEBLKFILTEROFFSETALPHA_OFFSET) |
+			((ctx->params.h264_slice_beta_offset_div2 &
+			  CODA_264PARAM_DEBLKFILTEROFFSETBETA_MASK) <<
+			 CODA_264PARAM_DEBLKFILTEROFFSETBETA_OFFSET);
 		coda_write(dev, value, CODA_CMD_ENC_SEQ_264_PARA);
 		break;
 	case V4L2_PIX_FMT_JPEG:
drivers/media/platform/coda/coda-common.c +7 -8
index bf7b8417c27f..19d92edcc981 100644
@@ -1793,14 +1793,13 @@ static int coda_s_ctrl(struct v4l2_ctrl *ctrl)
 		ctx->params.h264_max_qp = ctrl->val;
 		break;
 	case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA:
-		ctx->params.h264_deblk_alpha = ctrl->val;
+		ctx->params.h264_slice_alpha_c0_offset_div2 = ctrl->val;
 		break;
 	case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA:
-		ctx->params.h264_deblk_beta = ctrl->val;
+		ctx->params.h264_slice_beta_offset_div2 = ctrl->val;
 		break;
 	case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE:
-		ctx->params.h264_deblk_enabled = (ctrl->val ==
-				V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED);
+		ctx->params.h264_disable_deblocking_filter_idc = ctrl->val;
 		break;
 	case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
 		/* TODO: switch between baseline and constrained baseline */
@@ -1882,13 +1881,13 @@ static void coda_encode_ctrls(struct coda_ctx *ctx)
 	v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,
 		V4L2_CID_MPEG_VIDEO_H264_MAX_QP, 0, 51, 1, 51);
 	v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA, 0, 15, 1, 0);
+		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA, -6, 6, 1, 0);
 	v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA, 0, 15, 1, 0);
+		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA, -6, 6, 1, 0);
 	v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
 		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED, 0x0,
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED);
+		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY,
+		0x0, V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED);
 	v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
 		V4L2_CID_MPEG_VIDEO_H264_PROFILE,
 		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, 0x0,
drivers/media/platform/coda/coda.h +3 -3
index 19ac0b9dc6eb..2469ca1dc598 100644
@@ -115,9 +115,9 @@ struct coda_params {
 	u8			h264_inter_qp;
 	u8			h264_min_qp;
 	u8			h264_max_qp;
-	u8			h264_deblk_enabled;
-	u8			h264_deblk_alpha;
-	u8			h264_deblk_beta;
+	u8			h264_disable_deblocking_filter_idc;
+	s8			h264_slice_alpha_c0_offset_div2;
+	s8			h264_slice_beta_offset_div2;
 	u8			h264_profile_idc;
 	u8			h264_level_idc;
 	u8			mpeg4_intra_qp;
drivers/media/platform/coda/coda_regs.h +1 -1
index 5e7b00a97671..e675e38f3475 100644
@@ -292,7 +292,7 @@
 #define		CODA_264PARAM_DEBLKFILTEROFFSETALPHA_OFFSET	8
 #define		CODA_264PARAM_DEBLKFILTEROFFSETALPHA_MASK	0x0f
 #define		CODA_264PARAM_DISABLEDEBLK_OFFSET		6
-#define		CODA_264PARAM_DISABLEDEBLK_MASK		0x01
+#define		CODA_264PARAM_DISABLEDEBLK_MASK		0x03
 #define		CODA_264PARAM_CONSTRAINEDINTRAPREDFLAG_OFFSET	5
 #define		CODA_264PARAM_CONSTRAINEDINTRAPREDFLAG_MASK	0x01
 #define		CODA_264PARAM_CHROMAQPOFFSET_OFFSET		0
drivers/media/platform/davinci/vpbe.c +5 -2
index 18c035ef84cf..df1ae6b5c854 100644
@@ -740,7 +740,7 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev)
 	if (ret) {
 		v4l2_err(&vpbe_dev->v4l2_dev, "Failed to set default output %s",
 			 def_output);
-		return ret;
+		goto fail_kfree_amp;
 	}
 
 	printk(KERN_NOTICE "Setting default mode to %s\n", def_mode);
@@ -748,12 +748,15 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev)
 	if (ret) {
 		v4l2_err(&vpbe_dev->v4l2_dev, "Failed to set default mode %s",
 			 def_mode);
-		return ret;
+		goto fail_kfree_amp;
 	}
 	vpbe_dev->initialized = 1;
 	/* TBD handling of bootargs for default output and mode */
 	return 0;
 
+fail_kfree_amp:
+	mutex_lock(&vpbe_dev->lock);
+	kfree(vpbe_dev->amp);
 fail_kfree_encoders:
 	kfree(vpbe_dev->encoders);
 fail_dev_unregister:
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c +6 -4
index 3e73e9db781f..7c025045ea90 100644
@@ -41,25 +41,27 @@ int mtk_vcodec_init_enc_pm(struct mtk_vcodec_dev *mtkdev)
 	node = of_parse_phandle(dev->of_node, "mediatek,larb", 0);
 	if (!node) {
 		mtk_v4l2_err("no mediatek,larb found");
-		return -1;
+		return -ENODEV;
 	}
 	pdev = of_find_device_by_node(node);
+	of_node_put(node);
 	if (!pdev) {
 		mtk_v4l2_err("no mediatek,larb device found");
-		return -1;
+		return -ENODEV;
 	}
 	pm->larbvenc = &pdev->dev;
 
 	node = of_parse_phandle(dev->of_node, "mediatek,larb", 1);
 	if (!node) {
 		mtk_v4l2_err("no mediatek,larb found");
-		return -1;
+		return -ENODEV;
 	}
 
 	pdev = of_find_device_by_node(node);
+	of_node_put(node);
 	if (!pdev) {
 		mtk_v4l2_err("no mediatek,larb device found");
-		return -1;
+		return -ENODEV;
 	}
 
 	pm->larbvenclt = &pdev->dev;
drivers/media/rc/rc-main.c +2 -0
index 8b2c16dd58bd..0f218afdadaa 100644
@@ -1956,6 +1956,8 @@ void rc_unregister_device(struct rc_dev *dev)
 	rc_free_rx_device(dev);
 
 	mutex_lock(&dev->lock);
+	if (dev->users && dev->close)
+		dev->close(dev);
 	dev->registered = false;
 	mutex_unlock(&dev->lock);
 
drivers/memstick/core/memstick.c +3 -0
index 76382c858c35..1246d69ba187 100644
@@ -18,6 +18,7 @@
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/module.h>
+#include <linux/pm_runtime.h>
 
 #define DRIVER_NAME "memstick"
 
@@ -436,6 +437,7 @@ static void memstick_check(struct work_struct *work)
 	struct memstick_dev *card;
 
 	dev_dbg(&host->dev, "memstick_check started\n");
+	pm_runtime_get_noresume(host->dev.parent);
 	mutex_lock(&host->lock);
 	if (!host->card) {
 		if (memstick_power_on(host))
@@ -479,6 +481,7 @@ static void memstick_check(struct work_struct *work)
 		host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_OFF);
 
 	mutex_unlock(&host->lock);
+	pm_runtime_put(host->dev.parent);
 	dev_dbg(&host->dev, "memstick_check finished\n");
 }
 
drivers/mmc/host/bcm2835.c +12 -0
index 0d3b7473bc21..5301302fb531 100644
@@ -286,6 +286,7 @@ static void bcm2835_reset(struct mmc_host *mmc)
 
 	if (host->dma_chan)
 		dmaengine_terminate_sync(host->dma_chan);
+	host->dma_chan = NULL;
 	bcm2835_reset_internal(host);
 }
 
@@ -772,6 +773,8 @@ static void bcm2835_finish_command(struct bcm2835_host *host)
 
 		if (!(sdhsts & SDHSTS_CRC7_ERROR) ||
 		    (host->cmd->opcode != MMC_SEND_OP_COND)) {
+			u32 edm, fsm;
+
 			if (sdhsts & SDHSTS_CMD_TIME_OUT) {
 				host->cmd->error = -ETIMEDOUT;
 			} else {
@@ -780,6 +783,13 @@ static void bcm2835_finish_command(struct bcm2835_host *host)
 				bcm2835_dumpregs(host);
 				host->cmd->error = -EILSEQ;
 			}
+			edm = readl(host->ioaddr + SDEDM);
+			fsm = edm & SDEDM_FSM_MASK;
+			if (fsm == SDEDM_FSM_READWAIT ||
+			    fsm == SDEDM_FSM_WRITESTART1)
+				/* Kick the FSM out of its wait */
+				writel(edm | SDEDM_FORCE_DATA_MODE,
+				       host->ioaddr + SDEDM);
 			bcm2835_finish_request(host);
 			return;
 		}
@@ -837,6 +847,8 @@ static void bcm2835_timeout(struct work_struct *work)
 		dev_err(dev, "timeout waiting for hardware interrupt.\n");
 		bcm2835_dumpregs(host);
 
+		bcm2835_reset(host->mmc);
+
 		if (host->data) {
 			host->data->error = -ETIMEDOUT;
 			bcm2835_finish_data(host);
drivers/mmc/host/jz4740_mmc.c +10 -10
index 993386c9ea50..864338e308e2 100644
@@ -983,17 +983,17 @@ static int jz4740_mmc_request_gpios(struct mmc_host *mmc,
 	if (!pdata->read_only_active_low)
 		mmc->caps2 |= MMC_CAP2_RO_ACTIVE_HIGH;
 
-	if (gpio_is_valid(pdata->gpio_card_detect)) {
-		ret = mmc_gpio_request_cd(mmc, pdata->gpio_card_detect, 0);
-		if (ret)
-			return ret;
-	}
+	/*
+	 * Get optional card detect and write protect GPIOs,
+	 * only back out on probe deferral.
+	 */
+	ret = mmc_gpiod_request_cd(mmc, "cd", 0, false, 0, NULL);
+	if (ret == -EPROBE_DEFER)
+		return ret;
 
-	if (gpio_is_valid(pdata->gpio_read_only)) {
-		ret = mmc_gpio_request_ro(mmc, pdata->gpio_read_only);
-		if (ret)
-			return ret;
-	}
+	ret = mmc_gpiod_request_ro(mmc, "wp", 0, false, 0, NULL);
+	if (ret == -EPROBE_DEFER)
+		return ret;
 
 	return jz4740_mmc_request_gpio(&pdev->dev, pdata->gpio_power,
 			"MMC read only", true, pdata->power_active_low);
drivers/mmc/host/meson-mx-sdio.c +6 -0
index 2cfec33178c1..9841b447ccde 100644
@@ -596,6 +596,9 @@ static int meson_mx_mmc_register_clks(struct meson_mx_mmc_host *host)
 	init.name = devm_kasprintf(host->controller_dev, GFP_KERNEL,
 				   "%s#fixed_factor",
 				   dev_name(host->controller_dev));
+	if (!init.name)
+		return -ENOMEM;
+
 	init.ops = &clk_fixed_factor_ops;
 	init.flags = 0;
 	init.parent_names = &clk_fixed_factor_parent;
@@ -612,6 +615,9 @@ static int meson_mx_mmc_register_clks(struct meson_mx_mmc_host *host)
 	clk_div_parent = __clk_get_name(host->fixed_factor_clk);
 	init.name = devm_kasprintf(host->controller_dev, GFP_KERNEL,
 				   "%s#div", dev_name(host->controller_dev));
+	if (!init.name)
+		return -ENOMEM;
+
 	init.ops = &clk_divider_ops;
 	init.flags = CLK_SET_RATE_PARENT;
 	init.parent_names = &clk_div_parent;
drivers/mmc/host/sdhci-of-esdhc.c +12 -4
index 9cb7554a463d..a7bf8515116f 100644
@@ -526,8 +526,12 @@ static void esdhc_clock_enable(struct sdhci_host *host, bool enable)
 	/* Wait max 20 ms */
 	timeout = ktime_add_ms(ktime_get(), 20);
 	val = ESDHC_CLOCK_STABLE;
-	while (!(sdhci_readl(host, ESDHC_PRSSTAT) & val)) {
-		if (ktime_after(ktime_get(), timeout)) {
+	while  (1) {
+		bool timedout = ktime_after(ktime_get(), timeout);
+
+		if (sdhci_readl(host, ESDHC_PRSSTAT) & val)
+			break;
+		if (timedout) {
 			pr_err("%s: Internal clock never stabilised.\n",
 				mmc_hostname(host->mmc));
 			break;
@@ -591,8 +595,12 @@ static void esdhc_of_set_clock(struct sdhci_host *host, unsigned int clock)
 
 	/* Wait max 20 ms */
[… more lines in the raw message]

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

drivers/mmc/host/sdhci-omap.c +12 -4
index d264391616f9..d02f5cf76b3d 100644

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

drivers/mmc/host/sdhci-xenon-phy.c +7 -3
index c335052d0c02..caccedc836dc 100644

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

drivers/mmc/host/sdhci-xenon.c +7 -3
index 4d0791f6ec23..a0b5089b3274 100644

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

drivers/net/dsa/mv88e6xxx/global1_atu.c +12 -9
index 5200e4bdce93..ea243840ee0f 100644

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

drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +2 -0
index c965e65d07db..9939ccaeb125 100644

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

drivers/net/ethernet/broadcom/bcmsysport.c +10 -15
index 7b6859e4924e..fc16b2b0d0e9 100644

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

drivers/net/ethernet/broadcom/bcmsysport.h +2 -0
index 046c6c1d97fd..36e0adf5c9b8 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +11 -8
index e2d92548226a..034f57500f00 100644

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

drivers/net/ethernet/cisco/enic/enic_main.c +2 -1
index 60641e202534..9a7f70db20c7 100644

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

drivers/net/ethernet/freescale/fman/fman_memac.c +1 -1
index bc6eb30aa20f..41c6fa200e74 100644

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

drivers/net/ethernet/freescale/fman/fman_tgec.c +1 -1
index 40705938eecc..f75b9c11b2d2 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +10 -6
index b7b2f8254ce1..0ccfa6a84535 100644

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

drivers/net/ethernet/intel/i40e/i40e.h +1 -0
index 7a80652e2500..f84e2c2d02c0 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +8 -0
index ed9d3fc4aaba..41fa22c562c1 100644

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

drivers/net/ethernet/intel/ice/ice_main.c +12 -4
index 3f047bb43348..db1543bca701 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +5 -3
index 0796cef96fa3..ffaa6e031632 100644

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

drivers/net/ethernet/marvell/skge.c +4 -2
index 9c08c3650c02..15dea48e0195 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +1 -1
index 7365899c3ac9..944f21f99d43 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +14 -0
index 8262f093fec4..d3f794d4fb96 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +6 -0
index 6dacaeba2fbf..0b03d65474e9 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +2 -2
index 3f767cde4c1d..54f1a40a68ed 100644

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

drivers/net/ethernet/mellanox/mlx5/core/main.c +8 -6
index b5e9f664fc66..563ce3fedab4 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum.c +23 -0
index de821a9fdfaf..d64cd8d44d83 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +3 -2
index e171513bb32a..30931a2c025b 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +1 -26
index 0d9ea37c5d21..cdec48bcc6ad 100644

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

drivers/net/ethernet/sun/niu.c +8 -2
index 9319d84bf49f..d84501441edd 100644

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

drivers/net/phy/dp83640.c +10 -3
index 29aa8d772b0c..59b3f1fbabd4 100644

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

drivers/net/phy/marvell.c +0 -12
index d71be15c8c69..73813c7afa49 100644

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

drivers/net/usb/smsc95xx.c +1 -0
index f2d01cb6f958..6e971628bb50 100644

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

drivers/net/virtio_net.c +16 -4
index 42feaa4d2916..c88ee376a2eb 100644

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

drivers/net/wireless/ath/ath10k/core.c +1 -0
index c40cd129afe7..5210cffb5344 100644

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

drivers/net/wireless/ath/ath9k/ath9k.h +1 -1
index 21ba20981a80..0fca44e91a71 100644

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

drivers/net/wireless/ath/ath9k/dynack.c +25 -10
index 7334c9b09e82..6e236a485431 100644

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

drivers/net/wireless/ath/ath9k/dynack.h +4 -2
index 6d7bef976742..cf60224d40df 100644

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

drivers/net/wireless/ath/ath9k/xmit.c +3 -2
index 43b6c8508e49..4b7a7fc2a0fe 100644

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

drivers/net/wireless/ath/wil6210/main.c +7 -4
index 7debed6bec06..a0fe8cbad104 100644

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

drivers/net/wireless/ath/wil6210/txrx.c +2 -0
index 6a7943e487fb..75c8aa297107 100644

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

drivers/net/wireless/intel/iwlwifi/fw/api/mac.h +1 -1
index 55594c93b014..47dbd2d3e3b4 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +7 -1
index 9a764af30f36..0f357e8c4f94 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c +4 -0
index 8169d1450b3b..d1c1a8069c7e 100644

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

drivers/net/wireless/mediatek/mt76/mt76x2_dfs.c +6 -2
index 374cc655c11d..16e6b6970e28 100644

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

drivers/net/wireless/st/cw1200/scan.c +6 -7
index 67213f11acbd..0a9eac93dd01 100644

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

drivers/opp/core.c +7 -4
index 31ff03dbeb83..f3433bf47b10 100644

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

drivers/pci/controller/dwc/pci-imx6.c +10 -0
index 975050a69494..3826b444298c 100644

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

drivers/pci/switch/switchtec.c +3 -0
index 54a8b30dda38..37d0c15c9eeb 100644

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

drivers/perf/arm_spe_pmu.c +5 -0
index 54ec278d2fc4..e1a77b2de78a 100644

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

drivers/phy/allwinner/phy-sun4i-usb.c +7 -0
index d4dcd39b8d76..881078ff73f6 100644

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

drivers/pinctrl/bcm/pinctrl-bcm2835.c +8 -8
index fa530913a2c8..08925d24180b 100644

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

drivers/pinctrl/meson/pinctrl-meson8.c +3 -0
index 86466173114d..e482672e833a 100644

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

drivers/pinctrl/meson/pinctrl-meson8b.c +8 -5
index 647ad15d5c3c..91cffc051055 100644

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

drivers/pinctrl/pinctrl-sx150x.c +8 -3
index cbf58a10113d..4d87d75b9c6e 100644

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

drivers/platform/chrome/cros_ec_proto.c +15 -3
index b6fd4838f60f..e5d5b1adb5a9 100644

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

drivers/platform/x86/mlx-platform.c +6 -6
index d89936c93ba0..78b4aa4410fb 100644

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

drivers/ptp/ptp_chardev.c +4 -1
index 2012551d93e0..796eeffdf93b 100644

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

drivers/ptp/ptp_clock.c +4 -1
index 7eacc1c4b3b1..c64903a5978f 100644

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

drivers/s390/crypto/zcrypt_error.h +2 -0
index 6f7ebc1dbe10..2e1a27bd97d1 100644

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

drivers/scsi/aic94xx/aic94xx_init.c +4 -4
index 1391e5f35918..702da909cee5 100644

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

drivers/scsi/cxlflash/main.c +2 -0
index 6637116529aa..f987c40c47a1 100644

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

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +1 -1
index 687ff61bba9f..3922b17e2ea3 100644

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

drivers/scsi/lpfc/lpfc_els.c +24 -28

52 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_nportdisc.c +5 -0
index bd9bce9d9974..a6619fd8238c 100644

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

drivers/scsi/mpt3sas/mpt3sas_scsih.c +1 -1
index 53133cfd420f..622832e55211 100644

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

drivers/scsi/mpt3sas/mpt3sas_transport.c +5 -2
index f8cc2677c1cd..20d36061c217 100644

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

drivers/scsi/smartpqi/smartpqi_init.c +6 -0
index 8c1a232ac6bf..3781e8109dd7 100644

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

drivers/scsi/smartpqi/smartpqi_sis.c +1 -1
index 5141bd4c9f06..ca7dfb3a520f 100644

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

drivers/soc/bcm/brcmstb/common.c +5 -1
index 14185451901d..bf9123f727e8 100644

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

drivers/soc/tegra/common.c +5 -1
index cd8f41351add..7bfb154d6fa5 100644

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

drivers/staging/erofs/internal.h +1 -1
index 367b39fe46e5..e6313c54e3ad 100644

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

drivers/staging/fsl-dpaa2/rtc/rtc.c +4 -1
index 0d52cb85441f..318a33c2f7a7 100644

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

drivers/staging/iio/adc/ad7280a.c +13 -4
index b736275c10f5..6a48ad067a8b 100644

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

drivers/staging/iio/adc/ad7780.c +5 -1
index 16d72072c076..8bcb5d5de749 100644

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

drivers/staging/iio/resolver/ad2s90.c +6 -1
index 59586947a936..51cda9151412 100644

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

drivers/staging/pi433/pi433_if.c +4 -0
index c85a805a1243..a497ec197872 100644

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

drivers/staging/speakup/spk_ttyio.c +4 -2
index eac63aab8162..93742dbdee77 100644

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

drivers/tee/optee/supp.c +7 -6
index df35fc01fd3e..43626e15703a 100644

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

drivers/thermal/broadcom/bcm2835_thermal.c +11 -0
index 23ad4f9f2143..24b006a95142 100644

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

drivers/thermal/thermal-generic-adc.c +8 -4
index bf1c628d4a7a..e22fc60ad36d 100644

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

drivers/thermal/thermal_core.c +8 -4
index 441778100887..bf9721fc2824 100644

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

drivers/thermal/thermal_hwmon.h +2 -2
index 019f6f88224e..a160b9d62dd0 100644

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

drivers/thermal/thermal_sysfs.c +7 -4
index 2241ceae7d7f..aa99edb4dff7 100644

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

drivers/tty/serial/8250/8250_pci.c +5 -4
index f80a300b5d68..48bd694a5fa1 100644

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

drivers/tty/serial/fsl_lpuart.c +4 -0
index 3f8d1274fc85..7d030c2e42ff 100644

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

drivers/tty/serial/samsung.c +3 -0
index 2f8fa184aafa..c6058b52d5d5 100644

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

drivers/tty/serial/serial_core.c +6 -0
index 7fe679413188..f0b354b65a0e 100644

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

drivers/tty/serial/sh-sci.c +23 -9
index effba6ce0caa..859b173e3b82 100644

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

drivers/usb/core/hub.c +10 -0
index cc62707c0251..3adff4da2ee1 100644

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

drivers/usb/dwc2/params.c +9 -1
index ef2c199e6059..dff2c6e8d797 100644

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

drivers/usb/dwc3/gadget.c +10 -6
index d8bf9307901e..0db90f6f4aa8 100644

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

drivers/usb/dwc3/trace.h +2 -0
index f22714cce070..f27c5cbe285c 100644

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

drivers/usb/gadget/udc/net2272.c +1 -1
index 660878a19505..b77f3126580e 100644

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

drivers/usb/mtu3/mtu3_core.c +3 -1
index d045d8458f81..48d10a61e271 100644

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

drivers/usb/mtu3/mtu3_gadget_ep0.c +4 -4
index 25216e79cd6e..3c464d8ae023 100644

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

drivers/usb/musb/musb_dsps.c +16 -5
index 23a0df79ef21..403eb97915f8 100644

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

drivers/usb/musb/musb_gadget.c +1 -12
index eae8b1b1b45b..ffe462a657b1 100644

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

drivers/usb/musb/musbhsdma.c +11 -10
index a688f7f87829..5fc6825745f2 100644

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

drivers/usb/phy/phy-am335x.c +1 -4
index 27bdb7222527..f5f0568d8533 100644

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

drivers/usb/renesas_usbhs/common.c +4 -0
index 4310df46639d..b0792585d5bc 100644

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

drivers/video/fbdev/clps711x-fb.c +4 -1
index ff561073ee4e..42f909618f04 100644

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

drivers/video/fbdev/core/fbcon.c +1 -1
index 75ebbbf0a1fb..5d961e3ac66e 100644

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

drivers/video/fbdev/core/fbmem.c +6 -2
index 20405421a5ed..77cee99fc36c 100644

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

drivers/virt/vboxguest/vboxguest_core.c +1 -1
index 3093655c7b92..1475ed5ffcde 100644

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

drivers/watchdog/renesas_wdt.c +7 -2
index 88d81feba4e6..d01efd342dc0 100644

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

fs/binfmt_script.c +7 -3
index 7cde3f46ad26..d0078cbb718b 100644

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

fs/btrfs/btrfs_inode.h +1 -0
index 7177d1d33584..45f5cf9cd203 100644

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

fs/btrfs/ctree.h +1 -1
index 2cddfe7806a4..82682da5a40d 100644

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

fs/btrfs/extent_io.c +15 -2
index 4dd6faab02bb..79f82f2ec4d5 100644

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

fs/btrfs/inode.c +7 -4
index 83b3a626c796..59f361f7d0c1 100644

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

fs/btrfs/ioctl.c +1 -1
index c9152155fcbf..8bf9cce11213 100644

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

fs/btrfs/volumes.c +29 -0
index 0ee1cd4b56fb..285f64f2de5f 100644

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

fs/cifs/readdir.c +8 -1
index e169e1a5fd35..3925a7bfc74d 100644

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

fs/dlm/ast.c +10 -0
index 562fa8c3edff..47ee66d70109 100644

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

fs/eventpoll.c +1 -1
index 42bbe6824b4b..58f48ea0db23 100644

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

fs/f2fs/acl.c +8 -6
index 111824199a88..b9fe937a3c70 100644

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

fs/f2fs/data.c +10 -2
index 11f28342f641..08314fb42652 100644

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

fs/f2fs/f2fs.h +10 -1
index ecb735142276..42aef5c94927 100644

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

fs/f2fs/file.c +3 -0
index 5474aaa274b9..fd36aa6569dc 100644

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

fs/f2fs/shrinker.c +1 -1
index 36cfd816c160..29042e6d5126 100644

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

fs/f2fs/super.c +15 -12
index 338138b34993..c9639ef0e8d5 100644

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

fs/fuse/dev.c +3 -1
index bf0da0382c9e..baaed4d05b22 100644

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

fs/fuse/file.c +1 -1
index fbd6978479cb..bd500c3b7858 100644

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

fs/nfs/super.c +1 -2
index ac4b2f005778..5ef2c71348bd 100644

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

fs/nfsd/nfsctl.c +2 -0
index 7fb9f7c667b1..899174c7a8ae 100644

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

fs/ocfs2/Makefile +1 -1
index 99ee093182cb..cc9b32b9db7c 100644

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

fs/ocfs2/buffer_head_io.c +0 -2
index 1d098c3c00e0..9f8250df99f1 100644

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

fs/ocfs2/dlm/Makefile +1 -1
index bd1aab1f49a4..ef2854422a6e 100644

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

fs/ocfs2/dlmfs/Makefile +1 -1
index eed3db8c5b49..33431a0296a3 100644

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

fs/udf/inode.c +6 -0
index 5df554a9f9c9..ae796e10f68b 100644

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

fs/xfs/libxfs/xfs_attr_leaf.c +9 -2
index 6fc5425b1474..2652d00842d6 100644

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

fs/xfs/libxfs/xfs_bmap.c +4 -1
index a47670332326..3a496ffe6551 100644

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

fs/xfs/libxfs/xfs_btree.c +1 -1
index 34c6d7bd4d18..bbdae2b4559f 100644

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

fs/xfs/xfs_aops.c +2 -0
index 49f5f5896a43..b697866946d2 100644

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

fs/xfs/xfs_bmap_util.c +8 -2
index 6de8d90041ff..211b06e4702e 100644

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

fs/xfs/xfs_buf_item.c +21 -7
index 12d8455bfbb2..010db5f8fb00 100644

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

fs/xfs/xfs_ioctl.c +1 -1
index 0ef5ece5634c..bad90479ade2 100644

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

fs/xfs/xfs_qm_bhv.c +1 -1
index 73a1d77ec187..3091e4bc04ef 100644

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

fs/xfs/xfs_reflink.c +1 -0
index 42ea7bab9144..7088f44c0c59 100644

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

fs/xfs/xfs_stats.c +1 -1
index 4e4423153071..740ac9674848 100644

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

include/linux/cpu.h +0 -2
index 218df7f4d3e1..5041357d0297 100644

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

include/linux/genl_magic_struct.h +4 -1
index 5972e4969197..eeae59d3ceb7 100644

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

include/linux/gpio/consumer.h +4 -2
index 21ddbe440030..acc4279ad5e3 100644

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

include/linux/hid-debug.h +4 -5
index 8663f216c563..2d6100edf204 100644

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

include/linux/kvm_host.h +2 -1
index c926698040e0..a03d5e264e5e 100644

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

include/linux/mlx5/driver.h +1 -1
index 88a041b73abf..bbcfe2e5fd91 100644

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

include/sound/compress_driver.h +5 -1
index ea8c93bbb0e0..e87f2d5b3cc6 100644

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

kernel/cgroup/cgroup.c +1 -1
index 1aa517908561..e578c3999970 100644

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

kernel/cpu.c +4 -29
index 1699ff68c412..56f657adcf03 100644

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

kernel/debug/debug_core.c +4 -0
index 65c0f1363788..94aa9ae0007a 100644

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

kernel/debug/kdb/kdb_bt.c +10 -1
index 7921ae4fca8d..7e2379aa0a1e 100644

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

kernel/debug/kdb/kdb_debugger.c +0 -7
index 15e1a7af5dd0..53a0df6e4d92 100644

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

kernel/events/ring_buffer.c +3 -0
index 5d3cf407e374..51386d9105fa 100644

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

kernel/futex.c +18 -10
index f89abca89513..d7c465fd687c 100644

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

kernel/hung_task.c +9 -11
index b9132d1269ef..9eca2371f189 100644

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

kernel/irq/affinity.c +2 -3
index f4f29b9d90ee..e12cdf637c71 100644

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

kernel/kcov.c +1 -1
index 97959d7b77e2..c2277dbdbfb1 100644

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

kernel/locking/rtmutex.c +32 -5
index 2823d4163a37..9562aaa2afdc 100644

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

kernel/module.c +4 -2
index 6746c85511fe..38bf28b5cc20 100644

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

kernel/sched/fair.c +1 -0
index 7137bc343b4a..f7c375d1e601 100644

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

kernel/smp.c +0 -2
index d86eec5f51c1..084c8b3a2681 100644

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

kernel/sysctl.c +2 -0
index cc02050fd0c4..32dea29d05a0 100644

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

kernel/time/timekeeping.c +3 -1
index f3b22f456fac..7846ce24ecc0 100644

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

lib/seq_buf.c +5 -1
index 11f2ae0f9099..6aabb609dd87 100644

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

lib/test_rhashtable.c +15 -8
index 82ac39ce5310..aecc0996628f 100644

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

mm/page_alloc.c +29 -8
index 9e45553cabd6..a9de1dbb9a6c 100644

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

mm/percpu-km.c +3 -2
index 38de70ab1a0d..0f643dc2dc65 100644

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

net/dccp/ccid.h +2 -2
index 6eb837a47b5c..baaaeb2b2c42 100644

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

net/dsa/master.c +4 -0
index c90ee3227dea..aae478d61101 100644

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

net/dsa/slave.c +10 -7
index 1c45c1d6d241..b39720d0995d 100644

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

net/ipv6/xfrm6_tunnel.c +3 -0
index 4a46df8441c9..f5b4febeaa25 100644

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

net/mac80211/rx.c +3 -2
index 5e2b4a41acf1..51ad330bf8e8 100644

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

net/rds/bind.c +3 -3
index 762d2c6788a3..17c9d9f0c848 100644

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

net/rxrpc/recvmsg.c +2 -1
index 816b19a78809..0374b0623c8b 100644

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

net/sctp/socket.c +2 -2
index 876393cf5ed6..e5e70cff5bb3 100644

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

net/sctp/stream.c +20 -0
index 80e0ae5534ec..f24633114dfd 100644

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

net/tipc/node.c +6 -0
index 488019766433..32556f480a60 100644

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

samples/livepatch/livepatch-shadow-fix1.c +5 -0
index 49b13553eaae..e8f1bd6b29b1 100644

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

samples/livepatch/livepatch-shadow-mod.c +4 -0
index 4c54b250332d..4aa8a88d3cd6 100644

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

scripts/decode_stacktrace.sh +1 -1
index 64220e36ce3b..98a7d63a723e 100755

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

scripts/gdb/linux/proc.py +1 -1
index 086d27223c0c..0aebd7565b03 100644

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

scripts/mod/modpost.c +26 -24

50 lines not on this page · raw message

security/smack/smack_lsm.c +9 -3
index 70d3066e69fe..017c47eb795e 100644

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

sound/pci/hda/hda_bind.c +2 -1
index d361bb77ca00..8db1890605f6 100644

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

sound/pci/hda/hda_codec.h +1 -0
index 0d98bb9068b1..acacc1900265 100644

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

sound/pci/hda/hda_intel.c +2 -0
index 1ddeebc373b3..1bb7613701ac 100644

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

sound/pci/hda/patch_realtek.c +35 -27

62 lines not on this page · raw message

sound/soc/fsl/Kconfig +1 -1
index 6ec19fb4a934..2e75b5bc5f1d 100644

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

sound/soc/intel/atom/sst/sst_loader.c +4 -4
index 27413ebae956..b8c456753f01 100644

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

sound/usb/quirks.c +1 -0
index 7e93686a430a..d71e01954975 100644

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

tools/build/Makefile.feature +2 -2
index f216b2f5c3d7..42a787856cd8 100644

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

tools/build/feature/Makefile +5 -5
index 0516259be70f..bf8a8ebcca1e 100644

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

tools/hv/hv_kvp_daemon.c +13 -2
index bbb2a8ef367c..d7e06fe0270e 100644

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

tools/lib/bpf/bpf.c +10 -1
index 60aa4ca8b2c5..7a0014794bff 100644

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

tools/perf/Makefile.config +23 -21

44 lines not on this page · raw message

tools/perf/arch/x86/util/kvm-stat.c +1 -1
index b32409a0e546..081353d7b095 100644

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

tools/perf/tests/attr.py +1 -1
index ff9b60b99f52..44090a9a19f3 100644

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

tools/perf/tests/evsel-tp-sched.c +1 -1
index 699561fa512c..67bcbf876776 100644

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

tools/perf/util/dso.c +1 -1
index bbed90e5d9bb..cee717a3794f 100644

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

tools/perf/util/header.c +4 -2
index 3cadc252dd89..bd9226bc5945 100644

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

tools/perf/util/probe-file.c +1 -1
index b76088fadf3d..6a6548890d5a 100644

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

tools/perf/util/python.c +2 -1
index ce501ba14b08..69f5f6142dcf 100644

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

tools/perf/util/s390-cpumsf.c +1 -1
index d2c78ffd9fee..aa7f8c11fbb7 100644

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

tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py +2 -2
index 84e2b648e622..2fa3c5757bcb 100755

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

tools/testing/selftests/bpf/test_progs.c +4 -4
index 0ef68204c84b..d029cad08cbd 100644

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

virt/kvm/arm/mmio.c +6 -5
index dac7ceb1a677..08443a15e6be 100644

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

virt/kvm/kvm_main.c +4 -2
index f986e31fa68c..0ffb02ff5234 100644

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

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

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