Skip to contentSkip to conversation

Linux 5.4.53

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 22, 2020 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.53 kernel.

All users of the 5.4 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt |    2 
 Documentation/devicetree/bindings/usb/dwc3.txt                        |    2 
 Makefile                                                              |    2 
 arch/alpha/configs/defconfig                                          |    1 
 arch/arm/boot/dts/am437x-l4.dtsi                                      |   14 
 arch/arm/boot/dts/mt7623n-rfb-emmc.dts                                |    1 
 arch/arm/boot/dts/socfpga.dtsi                                        |    2 
 arch/arm/boot/dts/socfpga_arria10.dtsi                                |    2 
 arch/arm/configs/rpc_defconfig                                        |    1 
 arch/arm/configs/s3c2410_defconfig                                    |    1 
 arch/arm/include/asm/clocksource.h                                    |   11 
 arch/arm/kernel/vdso.c                                                |    2 
 arch/arm/mach-at91/pm_suspend.S                                       |    4 
 arch/arm/mach-omap2/omap-iommu.c                                      |   43 +
 arch/arm/mach-omap2/pdata-quirks.c                                    |   35 -
 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi                     |    8 
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi                     |    1 
 arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts          |    2 
 arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts                  |    2 
 arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi                      |   24 
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi                            |    5 
 arch/arm64/include/asm/alternative.h                                  |   16 
 arch/arm64/include/asm/arch_timer.h                                   |    1 
 arch/arm64/include/asm/clocksource.h                                  |    5 
 arch/arm64/include/asm/debug-monitors.h                               |    2 
 arch/arm64/include/asm/syscall.h                                      |   12 
 arch/arm64/include/asm/thread_info.h                                  |    1 
 arch/arm64/include/asm/vdso/clocksource.h                             |   14 
 arch/arm64/include/asm/vdso/compat_gettimeofday.h                     |    5 
 arch/arm64/include/asm/vdso/gettimeofday.h                            |    6 
 arch/arm64/include/asm/vdso/vsyscall.h                                |    4 
 arch/arm64/kernel/alternative.c                                       |   16 
 arch/arm64/kernel/debug-monitors.c                                    |   20 
 arch/arm64/kernel/ptrace.c                                            |   29 
 arch/arm64/kernel/signal.c                                            |   11 
 arch/arm64/kernel/syscall.c                                           |    5 
 arch/arm64/kernel/vmlinux.lds.S                                       |    3 
 arch/ia64/configs/zx1_defconfig                                       |    1 
 arch/m68k/configs/amiga_defconfig                                     |    1 
 arch/m68k/configs/apollo_defconfig                                    |    1 
 arch/m68k/configs/atari_defconfig                                     |    1 
 arch/m68k/configs/bvme6000_defconfig                                  |    1 
 arch/m68k/configs/hp300_defconfig                                     |    1 
 arch/m68k/configs/mac_defconfig                                       |    1 
 arch/m68k/configs/multi_defconfig                                     |    1 
 arch/m68k/configs/mvme147_defconfig                                   |    1 
 arch/m68k/configs/mvme16x_defconfig                                   |    1 
 arch/m68k/configs/q40_defconfig                                       |    1 
 arch/m68k/configs/sun3_defconfig                                      |    1 
 arch/m68k/configs/sun3x_defconfig                                     |    1 
 arch/m68k/kernel/setup_no.c                                           |    3 
 arch/m68k/mm/mcfmmu.c                                                 |    2 
 arch/mips/configs/bigsur_defconfig                                    |    1 
 arch/mips/configs/fuloong2e_defconfig                                 |    1 
 arch/mips/configs/ip27_defconfig                                      |    1 
 arch/mips/configs/ip32_defconfig                                      |    1 
 arch/mips/configs/jazz_defconfig                                      |    1 
 arch/mips/configs/malta_defconfig                                     |    1 
 arch/mips/configs/malta_kvm_defconfig                                 |    1 
 arch/mips/configs/malta_kvm_guest_defconfig                           |    1 
 arch/mips/configs/maltaup_xpa_defconfig                               |    1 
 arch/mips/configs/rm200_defconfig                                     |    1 
 arch/powerpc/configs/85xx-hw.config                                   |    1 
 arch/powerpc/configs/amigaone_defconfig                               |    1 
 arch/powerpc/configs/chrp32_defconfig                                 |    1 
 arch/powerpc/configs/g5_defconfig                                     |    1 
 arch/powerpc/configs/maple_defconfig                                  |    1 
 arch/powerpc/configs/pasemi_defconfig                                 |    1 
 arch/powerpc/configs/pmac32_defconfig                                 |    1 
 arch/powerpc/configs/powernv_defconfig                                |    1 
 arch/powerpc/configs/ppc64_defconfig                                  |    1 
 arch/powerpc/configs/ppc64e_defconfig                                 |    1 
 arch/powerpc/configs/ppc6xx_defconfig                                 |    1 
 arch/powerpc/configs/pseries_defconfig                                |    1 
 arch/powerpc/configs/skiroot_defconfig                                |    1 
 arch/powerpc/kernel/paca.c                                            |    2 
 arch/powerpc/mm/book3s64/pkeys.c                                      |   12 
 arch/riscv/include/asm/thread_info.h                                  |    4 
 arch/sh/configs/sh03_defconfig                                        |    1 
 arch/sparc/configs/sparc64_defconfig                                  |    1 
 arch/x86/configs/i386_defconfig                                       |    1 
 arch/x86/configs/x86_64_defconfig                                     |    1 
 arch/x86/include/asm/fpu/internal.h                                   |    5 
 arch/x86/kernel/apic/vector.c                                         |   22 
 arch/x86/kernel/fpu/core.c                                            |    6 
 arch/x86/kernel/fpu/xstate.c                                          |    2 
 block/blk-merge.c                                                     |   23 
 block/blk-mq-debugfs.c                                                |    3 
 crypto/asymmetric_keys/public_key.c                                   |    1 
 drivers/acpi/video_detect.c                                           |   19 
 drivers/base/regmap/regmap-debugfs.c                                  |   52 -
 drivers/block/zram/zram_drv.c                                         |    3 
 drivers/bus/ti-sysc.c                                                 |  331 ++++++----
 drivers/char/tpm/tpm_tis_core.c                                       |    2 
 drivers/char/virtio_console.c                                         |    3 
 drivers/clk/clk-ast2600.c                                             |   49 +
 drivers/clk/mvebu/Kconfig                                             |    1 
 drivers/clk/qcom/gcc-sm8150.c                                         |  148 ++++
 drivers/clocksource/arm_arch_timer.c                                  |   19 
 drivers/crypto/Kconfig                                                |    8 
 drivers/dma/dmatest.c                                                 |    2 
 drivers/dma/dw/core.c                                                 |   12 
 drivers/dma/fsl-edma-common.h                                         |    2 
 drivers/dma/fsl-edma.c                                                |    7 
 drivers/dma/mcf-edma.c                                                |    7 
 drivers/dma/sh/usb-dmac.c                                             |    2 
 drivers/gpio/gpio-pca953x.c                                           |    1 
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c                                |   26 
 drivers/gpu/drm/exynos/exynos_drm_dma.c                               |    4 
 drivers/gpu/drm/exynos/exynos_drm_mic.c                               |    4 
 drivers/gpu/drm/i915/gt/intel_lrc.c                                   |    1 
 drivers/gpu/drm/i915/gvt/handlers.c                                   |    4 
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c                           |    4 
 drivers/gpu/drm/msm/msm_submitqueue.c                                 |    4 
 drivers/gpu/drm/sun4i/sun4i_tcon.c                                    |    2 
 drivers/hid/hid-ids.h                                                 |    3 
 drivers/hid/hid-logitech-hidpp.c                                      |    2 
 drivers/hid/hid-magicmouse.c                                          |    6 
 drivers/hid/hid-quirks.c                                              |    5 
 drivers/hwmon/emc2103.c                                               |    2 
 drivers/hwtracing/intel_th/core.c                                     |   21 
 drivers/hwtracing/intel_th/pci.c                                      |   15 
 drivers/hwtracing/intel_th/sth.c                                      |    4 
 drivers/i2c/busses/i2c-eg20t.c                                        |    1 
 drivers/iio/accel/mma8452.c                                           |    5 
 drivers/iio/adc/ad7780.c                                              |    2 
 drivers/iio/health/afe4403.c                                          |   13 
 drivers/iio/health/afe4404.c                                          |    8 
 drivers/iio/humidity/hdc100x.c                                        |   10 
 drivers/iio/humidity/hts221.h                                         |    7 
 drivers/iio/humidity/hts221_buffer.c                                  |    9 
 drivers/iio/industrialio-core.c                                       |    2 
 drivers/iio/magnetometer/ak8974.c                                     |   29 
 drivers/iio/pressure/ms5611_core.c                                    |   11 
 drivers/iio/pressure/zpa2326.c                                        |    4 
 drivers/infiniband/hw/mlx5/qp.c                                       |    2 
 drivers/input/serio/i8042-x86ia64io.h                                 |    7 
 drivers/input/touchscreen/goodix.c                                    |   22 
 drivers/input/touchscreen/mms114.c                                    |   17 
 drivers/iommu/Kconfig                                                 |    2 
 drivers/misc/atmel-ssc.c                                              |   24 
 drivers/misc/habanalabs/goya/goya_security.c                          |   99 ++
 drivers/misc/mei/bus.c                                                |    3 
 drivers/mmc/host/mmci.c                                               |   34 -
 drivers/mmc/host/mmci.h                                               |    8 
 drivers/mmc/host/sdhci.c                                              |    2 
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                              |   24 
 drivers/mtd/nand/raw/marvell_nand.c                                   |   27 
 drivers/mtd/nand/raw/nand_timings.c                                   |    5 
 drivers/mtd/nand/raw/oxnas_nand.c                                     |   24 
 drivers/net/dsa/bcm_sf2.c                                             |    2 
 drivers/net/dsa/microchip/ksz8795.c                                   |    3 
 drivers/net/dsa/microchip/ksz9477.c                                   |    3 
 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c            |    4 
 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh_internal.h   |    2 
 drivers/net/ethernet/cadence/macb_main.c                              |    6 
 drivers/net/ethernet/marvell/mvneta.c                                 |   24 
 drivers/net/ethernet/pensando/ionic/ionic_lif.c                       |    1 
 drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c                    |   19 
 drivers/net/phy/sfp-bus.c                                             |   79 ++
 drivers/net/usb/qmi_wwan.c                                            |    1 
 drivers/of/of_mdio.c                                                  |    9 
 drivers/pci/pci.c                                                     |    4 
 drivers/phy/allwinner/phy-sun4i-usb.c                                 |    5 
 drivers/scsi/Kconfig                                                  |    9 
 drivers/scsi/megaraid/megaraid_sas_fusion.c                           |    2 
 drivers/scsi/sr_vendor.c                                              |    8 
 drivers/slimbus/core.c                                                |    1 
 drivers/soc/qcom/rpmh-rsc.c                                           |   98 +-
 drivers/soc/qcom/rpmh.c                                               |   56 -
 drivers/soc/qcom/socinfo.c                                            |    2 
 drivers/soundwire/intel.c                                             |    5 
 drivers/spi/spi-fsl-dspi.c                                            |   15 
 drivers/spi/spi-sprd-adi.c                                            |    2 
 drivers/spi/spi-sun6i.c                                               |   14 
 drivers/staging/comedi/drivers/addi_apci_1500.c                       |   10 
 drivers/thermal/cpu_cooling.c                                         |    6 
 drivers/thermal/imx_thermal.c                                         |    7 
 drivers/thermal/intel/int340x_thermal/int3403_thermal.c               |    2 
 drivers/thermal/mtk_thermal.c                                         |    6 
 drivers/tty/serial/mxs-auart.c                                        |   12 
 drivers/tty/serial/xilinx_uartps.c                                    |    1 
 drivers/uio/uio_pdrv_genirq.c                                         |    4 
 drivers/usb/c67x00/c67x00-sched.c                                     |    2 
 drivers/usb/chipidea/core.c                                           |   24 
 drivers/usb/dwc2/platform.c                                           |    3 
 drivers/usb/gadget/function/f_uac1_legacy.c                           |    2 
 drivers/usb/gadget/udc/atmel_usba_udc.c                               |    2 
 drivers/usb/host/ehci-platform.c                                      |    4 
 drivers/usb/host/ohci-platform.c                                      |    5 
 drivers/usb/host/xhci-plat.c                                          |   10 
 drivers/usb/serial/ch341.c                                            |    1 
 drivers/usb/serial/cypress_m8.c                                       |    2 
 drivers/usb/serial/cypress_m8.h                                       |    3 
 drivers/usb/serial/iuu_phoenix.c                                      |    8 
 drivers/usb/serial/option.c                                           |    6 
 drivers/virt/vboxguest/vboxguest_core.c                               |    6 
 drivers/virt/vboxguest/vboxguest_core.h                               |   15 
 drivers/virt/vboxguest/vboxguest_linux.c                              |    3 
 drivers/virt/vboxguest/vmmdev.h                                       |    2 
 fs/cifs/transport.c                                                   |    2 
 fs/fuse/file.c                                                        |   14 
 fs/fuse/inode.c                                                       |   15 
 fs/gfs2/ops_fstype.c                                                  |   12 
 fs/nfs/nfs4proc.c                                                     |   20 
 fs/overlayfs/export.c                                                 |    2 
 fs/overlayfs/file.c                                                   |   10 
 fs/overlayfs/super.c                                                  |   23 
 include/linux/blkdev.h                                                |    1 
 include/linux/cgroup-defs.h                                           |    8 
 include/linux/cgroup.h                                                |    4 
 include/linux/if_vlan.h                                               |   29 
 include/linux/input/elan-i2c-ids.h                                    |    7 
 include/linux/platform_data/ti-sysc.h                                 |    1 
 include/net/dst.h                                                     |   10 
 include/net/genetlink.h                                               |    8 
 include/net/inet_ecn.h                                                |   25 
 include/net/pkt_sched.h                                               |   11 
 include/trace/events/rxrpc.h                                          |    2 
 include/uapi/linux/vboxguest.h                                        |    4 
 kernel/cgroup/cgroup.c                                                |   31 
 kernel/irq/manage.c                                                   |   37 +
 kernel/sched/core.c                                                   |    2 
 kernel/sched/fair.c                                                   |   16 
 kernel/time/timer.c                                                   |   21 
 net/bridge/br_multicast.c                                             |    2 
 net/ceph/osd_client.c                                                 |    1 
 net/core/filter.c                                                     |   10 
 net/core/sock.c                                                       |    2 
 net/ipv4/icmp.c                                                       |    4 
 net/ipv4/ip_output.c                                                  |    2 
 net/ipv4/ping.c                                                       |    3 
 net/ipv4/tcp.c                                                        |   15 
 net/ipv4/tcp_cong.c                                                   |    2 
 net/ipv4/tcp_input.c                                                  |    2 
 net/ipv4/tcp_ipv4.c                                                   |   15 
 net/ipv4/tcp_output.c                                                 |    8 
 net/ipv6/icmp.c                                                       |    4 
 net/ipv6/route.c                                                      |    7 
 net/l2tp/l2tp_core.c                                                  |    5 
 net/llc/af_llc.c                                                      |   10 
 net/netlink/genetlink.c                                               |   49 -
 net/sched/act_connmark.c                                              |    9 
 net/sched/act_csum.c                                                  |    2 
 net/sched/act_ct.c                                                    |    9 
 net/sched/act_ctinfo.c                                                |    9 
 net/sched/act_mpls.c                                                  |    2 
 net/sched/act_skbedit.c                                               |    2 
 net/sched/cls_api.c                                                   |    2 
 net/sched/cls_flow.c                                                  |    8 
 net/sched/cls_flower.c                                                |    2 
 net/sched/em_ipset.c                                                  |    2 
 net/sched/em_ipt.c                                                    |    2 
 net/sched/em_meta.c                                                   |    2 
 net/sched/sch_atm.c                                                   |    8 
 net/sched/sch_cake.c                                                  |    4 
 net/sched/sch_dsmark.c                                                |    6 
 net/sched/sch_teql.c                                                  |    2 
 net/sunrpc/xprtrdma/rpc_rdma.c                                        |    4 
 security/apparmor/match.c                                             |    5 
 sound/pci/hda/patch_realtek.c                                         |   27 
 sound/usb/card.c                                                      |   12 
 sound/usb/clock.c                                                     |   59 +
 sound/usb/line6/capture.c                                             |    2 
 sound/usb/line6/driver.c                                              |    2 
 sound/usb/line6/playback.c                                            |    2 
 sound/usb/midi.c                                                      |   17 
 sound/usb/pcm.c                                                       |    7 
 sound/usb/quirks-table.h                                              |   86 --
 sound/usb/quirks.c                                                    |   67 +-
 sound/usb/quirks.h                                                    |    2 
 tools/perf/util/stat.c                                                |    6 
 tools/testing/selftests/net/fib_nexthops.sh                           |   13 
 273 files changed, 2040 insertions(+), 934 deletions(-)

AceLan Kao (2):
net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
USB: serial: option: add Quectel EG95 LTE modem

Aharon Landau (1):
RDMA/mlx5: Verify that QP is created with RQ or SQ

Alex Hung (1):
thermal: int3403_thermal: Downgrade error message

Alexander Lobakin (1):
virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial

Alexander Shishkin (4):
intel_th: pci: Add Jasper Lake CPU support
intel_th: pci: Add Tiger Lake PCH-H support
intel_th: pci: Add Emmitsburg PCH support
intel_th: Fix a NULL dereference when hub driver is not loaded

Alexander Tsoy (1):
ALSA: usb-audio: Add support for MOTU MicroBook IIc

Alexander Usyskin (1):
mei: bus: don't clean driver pointer

Amir Goldstein (3):
ovl: fix regression with re-formatted lower squashfs
ovl: relax WARN_ON() when decoding lower directory file handle
ovl: fix unneeded call to ovl_change_flags()

Andreas Schwab (1):
riscv: use 16KB kernel stack on 64-bit

Andrey Lebedev (1):
drm/sun4i: tcon: Separate quirks for tcon0 and tcon1 on A20

Andy Shevchenko (3):
i2c: eg20t: Load module automatically if ID matches
dmaengine: dw: Initialize channel before each transfer
gpio: pca953x: disable regmap locking for automatic address incrementing

Aneesh Kumar K.V (1):
powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey

Angelo Dureghello (1):
m68k: mm: fix node memblock init

Anna Schumaker (1):
NFS: Fix interrupted slots by sending a solo SEQUENCE operation

Anson Huang (1):
thermal/drivers: imx: Fix missing of_node_put() at probe time

Ard Biesheuvel (2):
arm64/alternatives: use subsections for replacement sequences arm64/alternatives: don't patch up internal branches

Armas Spann (1):
ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289

Bernard Zhao (1):
drm/msm: fix potential memleak in error branch

Bjorn Helgaas (1):
PCI/PM: Call .bridge_d3() hook only if non-NULL

Bob Peterson (1):
gfs2: read-only mounts should grab the sd_freeze_gl glock

Chandrakanth Patil (1):
scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro

Chirantan Ekbote (1):
fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS

Chris Wilson (1):
drm/i915/gt: Ignore irq enabling on the virtual engines

Chris Wulff (1):
ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)

Christoffer Nielsen (1):
ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S

Christoph Paasch (1):
tcp: make sure listeners don't initialize congestion-control state

Christophe JAILLET (1):
iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()'

Chuhong Yuan (2):
iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
serial: mxs-auart: add missed iounmap() in probe failure and remove

Claudiu Beznea (1):
ARM: at91: pm: add quirk for sam9x60's ulp1

Codrin Ciubotariu (1):
net: dsa: microchip: set the correct number of ports

Colin Ian King (2):
phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
xprtrdma: fix incorrect header size calculations

Colin Xu (1):
drm/i915/gvt: Fix two CFL MMIO handling caused by regression.

Cong Wang (3):
net_sched: fix a memory leak in atm_tc_init()
cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
cgroup: Fix sock_cgroup_data on big-endian.

Dan Carpenter (1):
staging: comedi: verify array index is correct before using it

Dave Wang (1):
Input: elan_i2c - add more hardware ID for Lenovo laptops

David Ahern (2):
ipv6: fib6_select_path can not use out path for nexthop objects
ipv6: Fix use of anycast address with loopback

David Howells (1):
rxrpc: Fix trace string

David Pedersen (1):
Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list

Diego Elio Pettenò (1):
scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled

Dinghao Liu (1):
iio: magnetometer: ak8974: Fix runtime PM imbalance on error

Dmitry Bogdanov (1):
net: atlantic: fix ip dst and ipv6 address filters

Dmitry Torokhov (1):
HID: magicmouse: do not set up autorepeat

Douglas Anderson (1):
regmap: debugfs: Don't sleep while atomic for fast_io regmaps

Eddie James (1):
clk: AST2600: Add mux for EMMC clock

Emmanuel Pescosta (1):
ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S

Enric Balletbo i Serra (1):
Revert "thermal: mediatek: fix register index error"

Eric Dumazet (6):
llc: make sure applications use ARPHRD_ETHER
tcp: fix SO_RCVLOWAT possible hangs under high mem pressure
tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
tcp: md5: do not send silly options in SYNCOOKIES
tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
tcp: md5: allow changing MD5 keys in all socket states

Esben Haabendal (2):
uio_pdrv_genirq: Remove warning when irq is not specified
uio_pdrv_genirq: fix use without device tree and no interrupt

Finley Xiao (1):
thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power

Florian Fainelli (2):
net: dsa: bcm_sf2: Fix node reference count
of: of_mdio: Correct loop scanning logic

Frederic Weisbecker (2):
timer: Prevent base->clk from moving backward
timer: Fix wheel index calculation on last level

Greg Kroah-Hartman (1):

      Linux 5.4.53

Gregor Pintar (1):
ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2

Haibo Chen (1):
mmc: sdhci: do not enable card detect interrupt for gpio cd type

Hans de Goede (4):
HID: quirks: Remove ITE 8595 entry from hid_have_special_driver
ACPI: video: Use native backlight on Acer Aspire 5783z
virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
virt: vbox: Fix guest capabilities mask check

Hou Tao (1):

      blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags

Igor Moura (1):
USB: serial: ch341: add new Product ID for CH340

Ilya Dryomov (1):
libceph: don't omit recovery_deletes in target_copy()

James Hilliard (2):
HID: quirks: Ignore Simply Automated UPB PIM
USB: serial: cypress_m8: enable Simply Automated UPB PIM

Jan Kiszka (1):
Revert "tty: xilinx_uartps: Fix missing id assignment to the console"

Jerome Brunet (1):
arm64: dts: meson: add missing gxl rng clock

Jian-Hong Pan (1):
ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256

Jin Yao (1):
perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode

Johan Hovold (1):
USB: serial: iuu_phoenix: fix memory corruption

John Johansen (1):
apparmor: ensure that dfa state tables have entries

Jonathan Cameron (6):
iio:magnetometer:ak8974: Fix alignment and data leak issues iio:humidity:hdc100x Fix alignment and data leak issues iio:humidity:hts221 Fix alignment and data leak issues iio:pressure:ms5611 Fix buffer element alignment iio:health:afe4403 Fix timestamp alignment and prevent data leak. iio:health:afe4404 Fix timestamp alignment and prevent data leak.

Jörgen Storvist (1):
USB: serial: option: add GosunCn GM500 series

Kailang Yang (3):
ALSA: hda/realtek - change to suitable link model for ASUS platform
ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
ALSA: hda/realtek - Enable Speaker for ASUS UX563

Kangmin Park (1):
dt-bindings: mailbox: zynqmp_ipi: fix unit address

Kevin Buettner (1):
copy_xstate_to_kernel: Fix typo which caused GDB regression

Krishna Manikandan (1):
drm/msm/dpu: allow initialization of encoder locks during encoder init

Krzysztof Kozlowski (5):
spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema
dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler

Lingling Xu (1):
spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH

Linus Lüssing (1):
bridge: mcast: Fix MLD2 Report IPv6 payload length check

Linus Walleij (1):
mmc: mmci: Support any block sizes for ux500v2 and qcom variant

Lu Baolu (1):
iommu/vt-d: Make Intel SVM code 64-bit only

Maciej S. Szmigiero (1):
HID: logitech-hidpp: avoid repeated "multiplier = " log messages

Marc Kleine-Budde (1):
spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate

Marc Zyngier (3):
arm64: Introduce a way to disable the 32bit vdso
arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040

Marek Szyprowski (1):
drm/exynos: Properly propagate return value in drm_iommu_attach_device()

Martin Varghese (1):

      net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb

Mathieu Desnoyers (1):
sched: Fix unreliable rseq cpu_id for new tasks

Matt Ranostay (1):
iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers

Maulik Shah (3):
soc: qcom: rpmh: Update dirty flag only when data changes
soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data
soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request

Michał Mirosław (2):
usb: gadget: udc: atmel: fix uninitialized read in debug printk
misc: atmel-ssc: lock with mutex instead of spinlock

Mike Rapoport (1):
m68k: nommu: register start of the memory with memblock

Miklos Szeredi (2):
fuse: ignore 'data' argument of mount(..., MS_REMOUNT)
fuse: use ->reconfigure() instead of ->remount_fs()

Minas Harutyunyan (1):
usb: dwc2: Fix shutdown callback in platform

Ming Lei (2):
block: fix splitting segments on boundary masks
block: fix get_max_segment_size() overflow on 32bit arch

Miquel Raynal (7):
mtd: rawnand: marvell: Fix the condition on a return code
mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
mtd: rawnand: marvell: Fix probe error path
mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
mtd: rawnand: oxnas: Keep track of registered devices
mtd: rawnand: oxnas: Unregister all devices on error
mtd: rawnand: oxnas: Release all devices in the _remove() path

Nathan Chancellor (1):
clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER

Navid Emamdoost (2):
drm/exynos: fix ref count leak in mic_pre_enable
iio: pressure: zpa2326: handle pm_runtime_get_sync failure

Neil Armstrong (3):
arm64: dts: g12-common: add parkmode_disable_ss_quirk on DWC3 controller
doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode
arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency

Paul Menzel (1):
ACPI: video: Use native backlight on Acer TravelMate 5735Z

Peter Chen (1):
usb: chipidea: core: add wakeup support for extcon

Peter Ujfalusi (1):
dmaengine: dmatest: stop completed threads when running without set channel

Petteri Aimonen (1):
x86/fpu: Reset MXCSR to default in kernel_fpu_begin()

Pierre-Louis Bossart (1):
soundwire: intel: fix memory leak with devm_kasprintf

Raju P.L.S.S.S.N (1):
soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS

Robin Gong (1):
dmaengine: fsl-edma-common: correct DSIZE_32BYTE

Ronnie Sahlberg (1):
cifs: prevent truncation from long to int in wait_for_free_credits

Russell King (2):
net: sfp: add support for module quirks
net: sfp: add some quirks for GPON modules

Sabrina Dubroca (1):
ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg

Saravana Kannan (1):
slimbus: core: Fix mismatch in of_node_get/put

Sascha Hauer (2):
net: ethernet: mvneta: Do not error out in non serdes modes
net: ethernet: mvneta: Add back interface mode validation

Sasha Levin (4):
net: macb: call pm_runtime_put_sync on failure path Revert "usb/ohci-platform: Fix a warning when hibernating" Revert "usb/ehci-platform: Set PM runtime as active on resume" Revert "usb/xhci-plat: Set PM runtime as active on resume"

Satheesh Rajendran (1):
powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size

Sean Tranchetti (1):
genetlink: remove genl_bind

Sean Wang (1):
arm: dts: mt7623: add phy-mode property for gmac2

Sebastian Parschauer (1):
HID: quirks: Always poll Obins Anne Pro 2 keyboard

Sergei A. Trusov (1):
Input: goodix - fix touch coordinates on Cube I15-TC

Shannon Nelson (1):
ionic: export features for vlans to use

Srinivas Kandagatla (1):
soc: qcom: socinfo: add missing soc_id sysfs entry

Stephan Gerhold (1):
Input: mms114 - add extra compatible for mms345l

Suman Anna (2):
ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879
ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot

Taehee Yoo (1):
net: rmnet: fix lower interface leak

Takashi Iwai (4):
ALSA: usb-audio: Rewrite registration quirk handling
ALSA: line6: Perform sanity check for each URB creation
ALSA: line6: Sync the pending work cancel at disconnection
ALSA: usb-audio: Fix race against the error recovery URB submission

Tero Kristo (1):
ARM: OMAP4+: remove pdata quirks for omap4+ iommus

Thomas Gleixner (1):
genirq/affinity: Handle affinity setting on inactive interrupts correctly

Toke Høiland-Jørgensen (2):
sched: consistently handle layer3 header accesses in the presence of VLANs
vlan: consolidate VLAN parsing code and limit max parsing depth

Tom Rix (1):
USB: c67x00: fix use after free in c67x00_giveback_urb

Tomer Tayar (1):
habanalabs: Align protection bits configuration of all TPCs

Tony Lindgren (9):
bus: ti-sysc: Rename clk related quirks to pre_reset and post_reset quirks
bus: ti-sysc: Consider non-existing registers too when matching quirks
bus: ti-sysc: Handle module unlock quirk needed for some RTC
bus: ti-sysc: Detect display subsystem related devices
bus: ti-sysc: Detect EDMA and set quirk flags for tptc
bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit
bus: ti-sysc: Fix wakeirq sleeping function called from invalid context
bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk
bus: ti-sysc: Do not disable on suspend for no-idle

Tudor Ambarus (1):
crypto: atmel - Fix selection of CRYPTO_AUTHENC

Vasily Averin (2):
tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
fuse: don't ignore errors from fuse_writepages_fill()

Vincent Guittot (1):
sched/fair: handle case of task_h_load() returning 0

Vinod Koul (2):
clk: qcom: gcc: Add GPU and NPU clocks for SM8150
clk: qcom: gcc: Add missing UFS clocks for SM8150

Vishwas M (1):
hwmon: (emc2103) fix unable to change fan pwm1_enable attribute

Wade Mealing (1):
Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"

Wei Yongjun (1):
keys: asymmetric: fix error return code in software_key_query()

Will Deacon (3):
arm64: ptrace: Override SPSR.SS when single-stepping is enabled
arm64: ptrace: Consistently use pseudo-singlestep exceptions
arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return

Willem de Bruijn (1):
ip: Fix SO_MARK in RST, ACK and ICMP packets

Xiaojie Yuan (1):

      drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr()

Xin Long (1):
l2tp: remove skb_dst_set() from l2tp_xmit_skb()

Yoshihiro Shimoda (1):
dmaengine: sh: usb-dmac: set tx_result parameters

YueHaibing (1):
crypto: atmel - Fix build error of CRYPTO_AUTHENC

Zhang Qiang (1):
usb: gadget: function: fix missing spinlock in f_uac1_legacy

dillon min (1):
ARM: dts: Fix dcan driver probe failed on am437x platform

youngjun (1):
ovl: inode reference leak in ovl_is_inuse true case.

Álvaro Fernández Rojas (2):
mtd: rawnand: brcmnand: correctly verify erased pages
mtd: rawnand: brcmnand: fix CS0 layout

author maintainer
#1 lore raw
Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt +1 -1
index 4438432bfe9b..ad76edccf881 100644
@@ -87,7 +87,7 @@ Example:
 		ranges;
 
 		/* APU<->RPU0 IPI mailbox controller */
-		ipi_mailbox_rpu0: mailbox@ff90400 {
+		ipi_mailbox_rpu0: mailbox@ff990400 {
 			reg = <0xff990400 0x20>,
 			      <0xff990420 0x20>,
 			      <0xff990080 0x20>,
Documentation/devicetree/bindings/usb/dwc3.txt +2 -0
index 66780a47ad85..c977a3ba2f35 100644
@@ -75,6 +75,8 @@ Optional properties:
 			from P0 to P1/P2/P3 without delay.
  - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
 			during HS transmit.
+ - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
+			park mode are disabled.
  - snps,dis_metastability_quirk: when set, disable metastability workaround.
 			CAUTION: use only if you are absolutely sure of it.
  - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
Makefile +1 -1
index 435d27be54c9..d33b312a14e3 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 52
+SUBLEVEL = 53
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/alpha/configs/defconfig +0 -1
index f4ec420d7f2d..3a132c91d45b 100644
@@ -36,7 +36,6 @@ CONFIG_BLK_DEV_CY82C693=y
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_SCSI_AIC7XXX=m
 CONFIG_AIC7XXX_CMDS_PER_DEVICE=253
 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set
arch/arm/boot/dts/am437x-l4.dtsi +10 -4
index 59770dd3785e..bbe15775fccd 100644
@@ -1576,8 +1576,9 @@
 			reg-names = "rev";
 			ti,hwmods = "d_can0";
 			/* Domains (P, C): per_pwrdm, l4ls_clkdm */
-			clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>;
-			clock-names = "fck";
+			clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>,
+			<&dcan0_fck>;
+			clock-names = "fck", "osc";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x0 0xcc000 0x2000>;
@@ -1585,6 +1586,8 @@
 			dcan0: can@0 {
 				compatible = "ti,am4372-d_can", "ti,am3352-d_can";
 				reg = <0x0 0x2000>;
+				clocks = <&dcan0_fck>;
+				clock-names = "fck";
 				syscon-raminit = <&scm_conf 0x644 0>;
 				interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
@@ -1597,8 +1600,9 @@
 			reg-names = "rev";
 			ti,hwmods = "d_can1";
 			/* Domains (P, C): per_pwrdm, l4ls_clkdm */
-			clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>;
-			clock-names = "fck";
+			clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>,
+			<&dcan1_fck>;
+			clock-names = "fck", "osc";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x0 0xd0000 0x2000>;
@@ -1606,6 +1610,8 @@
 			dcan1: can@0 {
 				compatible = "ti,am4372-d_can", "ti,am3352-d_can";
 				reg = <0x0 0x2000>;
+				clocks = <&dcan1_fck>;
+				clock-name = "fck";
 				syscon-raminit = <&scm_conf 0x644 1>;
 				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
arch/arm/boot/dts/mt7623n-rfb-emmc.dts +1 -0
index b7606130ade9..0447748f9fa0 100644
@@ -138,6 +138,7 @@
 	mac@1 {
 		compatible = "mediatek,eth-mac";
 		reg = <1>;
+		phy-mode = "rgmii";
 		phy-handle = <&phy5>;
 	};
 
arch/arm/boot/dts/socfpga.dtsi +1 -1
index 4f3993cc0227..451030897220 100644
@@ -710,7 +710,7 @@
 			};
 		};
 
-		L2: l2-cache@fffef000 {
+		L2: cache-controller@fffef000 {
 			compatible = "arm,pl310-cache";
 			reg = <0xfffef000 0x1000>;
 			interrupts = <0 38 0x04>;
arch/arm/boot/dts/socfpga_arria10.dtsi +1 -1
index 2a86e72d9791..906bfb580e9e 100644
@@ -636,7 +636,7 @@
 			reg = <0xffcfb100 0x80>;
 		};
 
-		L2: l2-cache@fffff000 {
+		L2: cache-controller@fffff000 {
 			compatible = "arm,pl310-cache";
 			reg = <0xfffff000 0x1000>;
 			interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
arch/arm/configs/rpc_defconfig +0 -1
index 3b82b64950d9..c090643b1ecb 100644
@@ -32,7 +32,6 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/arm/configs/s3c2410_defconfig +0 -1
index 73ed73a8785a..153009130dab 100644
@@ -202,7 +202,6 @@ CONFIG_EEPROM_AT24=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_CONSTANTS=y
arch/arm/include/asm/clocksource.h +10 -1
index 0b350a7e26f3..afb7a59828fe 100644
@@ -1,8 +1,17 @@
 #ifndef _ASM_CLOCKSOURCE_H
 #define _ASM_CLOCKSOURCE_H
 
+enum vdso_arch_clockmode {
+	/* vdso clocksource not usable */
+	VDSO_CLOCKMODE_NONE,
+	/* vdso clocksource usable */
+	VDSO_CLOCKMODE_ARCHTIMER,
+	VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT = VDSO_CLOCKMODE_ARCHTIMER,
+};
+
 struct arch_clocksource_data {
-	bool vdso_direct;	/* Usable for direct VDSO access? */
+	/* Usable for direct VDSO access? */
+	enum vdso_arch_clockmode clock_mode;
 };
 
 #endif
arch/arm/kernel/vdso.c +1 -1
index f00e45fa62c4..6c69a5548ba2 100644
@@ -281,7 +281,7 @@ static bool tk_is_cntvct(const struct timekeeper *tk)
 	if (!IS_ENABLED(CONFIG_ARM_ARCH_TIMER))
 		return false;
 
-	if (!tk->tkr_mono.clock->archdata.vdso_direct)
+	if (tk->tkr_mono.clock->archdata.clock_mode != VDSO_CLOCKMODE_ARCHTIMER)
 		return false;
 
 	return true;
arch/arm/mach-at91/pm_suspend.S +4 -0
index ed57c879d4e1..2591cba61937 100644
@@ -268,6 +268,10 @@ ENDPROC(at91_backup_mode)
 	orr	tmp1, tmp1, #AT91_PMC_KEY
 	str	tmp1, [pmc, #AT91_CKGR_MOR]
 
+	/* Quirk for SAM9X60's PMC */
+	nop
+	nop
+
 	wait_mckrdy
 
 	/* Enable the crystal oscillator */
arch/arm/mach-omap2/omap-iommu.c +40 -3

67 lines not on this page · raw message

arch/arm/mach-omap2/pdata-quirks.c +21 -14
index 247e3f8acffe..ca07e310d9ed 100644
@@ -44,6 +44,17 @@ struct pdata_init {
 static struct of_dev_auxdata omap_auxdata_lookup[];
 static struct twl4030_gpio_platform_data twl_gpio_auxdata;
 
+#if IS_ENABLED(CONFIG_OMAP_IOMMU)
+int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev, bool request,
+				    u8 *pwrst);
+#else
+static inline int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev,
+						  bool request, u8 *pwrst)
+{
+	return 0;
+}
+#endif
+
 #ifdef CONFIG_MACH_NOKIA_N8X0
 static void __init omap2420_n8x0_legacy_init(void)
 {
@@ -311,16 +322,6 @@ static void __init omap3_pandora_legacy_init(void)
 }
 #endif /* CONFIG_ARCH_OMAP3 */
 
-#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
-static struct iommu_platform_data omap4_iommu_pdata = {
-	.reset_name = "mmu_cache",
-	.assert_reset = omap_device_assert_hardreset,
-	.deassert_reset = omap_device_deassert_hardreset,
-	.device_enable = omap_device_enable,
-	.device_idle = omap_device_idle,
-};
-#endif
-
 #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX)
 static struct wkup_m3_platform_data wkup_m3_data = {
 	.reset_name = "wkup_m3",
@@ -336,6 +337,10 @@ static void __init omap5_uevm_legacy_init(void)
 #endif
 
 #ifdef CONFIG_SOC_DRA7XX
+static struct iommu_platform_data dra7_ipu1_dsp_iommu_pdata = {
+	.set_pwrdm_constraint = omap_iommu_set_pwrdm_constraint,
+};
+
 static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc1;
 static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc2;
 static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc3;
@@ -543,10 +548,6 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
 		       &wkup_m3_data),
 #endif
 #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
-	OF_DEV_AUXDATA("ti,omap4-iommu", 0x4a066000, "4a066000.mmu",
-		       &omap4_iommu_pdata),
-	OF_DEV_AUXDATA("ti,omap4-iommu", 0x55082000, "55082000.mmu",
-		       &omap4_iommu_pdata),
 	OF_DEV_AUXDATA("ti,omap4-smartreflex-iva", 0x4a0db000,
 		       "4a0db000.smartreflex", &omap_sr_pdata[OMAP_SR_IVA]),
 	OF_DEV_AUXDATA("ti,omap4-smartreflex-core", 0x4a0dd000,
@@ -561,6 +562,12 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
 		       &dra7_hsmmc_data_mmc2),
 	OF_DEV_AUXDATA("ti,dra7-hsmmc", 0x480ad000, "480ad000.mmc",
 		       &dra7_hsmmc_data_mmc3),
+	OF_DEV_AUXDATA("ti,dra7-dsp-iommu", 0x40d01000, "40d01000.mmu",
+		       &dra7_ipu1_dsp_iommu_pdata),
+	OF_DEV_AUXDATA("ti,dra7-dsp-iommu", 0x41501000, "41501000.mmu",
+		       &dra7_ipu1_dsp_iommu_pdata),
+	OF_DEV_AUXDATA("ti,dra7-iommu", 0x58882000, "58882000.mmu",
+		       &dra7_ipu1_dsp_iommu_pdata),
 #endif
 	/* Common auxdata */
 	OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata),
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +4 -4
index d1fc9c2055f4..9498d1de730c 100644
@@ -77,7 +77,7 @@
 		method = "smc";
 	};
 
-	intc: intc@fffc1000 {
+	intc: interrupt-controller@fffc1000 {
 		compatible = "arm,gic-400", "arm,cortex-a15-gic";
 		#interrupt-cells = <3>;
 		interrupt-controller;
@@ -302,7 +302,7 @@
 			status = "disabled";
 		};
 
-		nand: nand@ffb90000 {
+		nand: nand-controller@ffb90000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 			compatible = "altr,socfpga-denali-nand";
@@ -445,7 +445,7 @@
 			clock-names = "timer";
 		};
 
-		uart0: serial0@ffc02000 {
+		uart0: serial@ffc02000 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0xffc02000 0x100>;
 			interrupts = <0 108 4>;
@@ -456,7 +456,7 @@
 			status = "disabled";
 		};
 
-		uart1: serial1@ffc02100 {
+		uart1: serial@ffc02100 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0xffc02100 0x100>;
 			interrupts = <0 109 4>;
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +1 -0
index 2199a54c720c..1234bc797429 100644
@@ -2381,6 +2381,7 @@
 				dr_mode = "host";
 				snps,dis_u2_susphy_quirk;
 				snps,quirk-frame-length-adjustment;
+				snps,parkmode-disable-ss-quirk;
 			};
 		};
 
arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +1 -1
index 82b1c4851147..e034bbff8e66 100644
@@ -9,7 +9,7 @@
 
 #include <dt-bindings/input/input.h>
 
-#include "meson-gxl-s905x.dtsi"
+#include "meson-gxl-s805x.dtsi"
 
 / {
 	compatible = "libretech,aml-s805x-ac", "amlogic,s805x",
arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts +1 -1
index 3a1484e5b8e1..fbc687c9ff83 100644
@@ -9,7 +9,7 @@
 
 #include <dt-bindings/input/input.h>
 
-#include "meson-gxl-s905x.dtsi"
+#include "meson-gxl-s805x.dtsi"
 
 / {
 	compatible = "amlogic,p241", "amlogic,s805x", "amlogic,meson-gxl";
arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi new file +24 -0
new file mode 100644
index 000000000000..f9d705648426
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 BayLibre SAS
+ * Author: Neil Armstrong <[email protected]>
+ */
+
+#include "meson-gxl-s905x.dtsi"
+
+/ {
+	compatible = "amlogic,s805x", "amlogic,meson-gxl";
+};
+
+/* The S805X Package doesn't seem to handle the 744MHz OPP correctly */
+&mali {
+	assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
+			  <&clkc CLKID_MALI_0>,
+			  <&clkc CLKID_MALI>; /* Glitch free mux */
+	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
+				 <0>, /* Do Nothing */
+				 <&clkc CLKID_MALI_0>;
+	assigned-clock-rates = <0>, /* Do Nothing */
+			       <666666666>,
+			       <0>; /* Do Nothing */
+};
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +5 -0
index 49ff0a7d0210..e3cfa24dca5a 100644
@@ -288,6 +288,11 @@
 	};
 };
 
+&hwrng {
+	clocks = <&clkc CLKID_RNG0>;
+	clock-names = "core";
+};
+
 &i2c_A {
 	clocks = <&clkc CLKID_I2C>;
 };
arch/arm64/include/asm/alternative.h +8 -8
index 5e5dc05d63a0..12f0eb56a1cc 100644
@@ -73,11 +73,11 @@ static inline void apply_alternatives_module(void *start, size_t length) { }
 	".pushsection .altinstructions,\"a\"\n"				\
 	ALTINSTR_ENTRY(feature)						\
 	".popsection\n"							\
-	".pushsection .altinstr_replacement, \"a\"\n"			\
+	".subsection 1\n"						\
 	"663:\n\t"							\
 	newinstr "\n"							\
 	"664:\n\t"							\
-	".popsection\n\t"						\
+	".previous\n\t"							\
 	".org	. - (664b-663b) + (662b-661b)\n\t"			\
 	".org	. - (662b-661b) + (664b-663b)\n"			\
 	".endif\n"
@@ -117,9 +117,9 @@ static inline void apply_alternatives_module(void *start, size_t length) { }
 662:	.pushsection .altinstructions, "a"
 	altinstruction_entry 661b, 663f, \cap, 662b-661b, 664f-663f
 	.popsection
-	.pushsection .altinstr_replacement, "ax"
+	.subsection 1
 663:	\insn2
-664:	.popsection
+664:	.previous
 	.org	. - (664b-663b) + (662b-661b)
 	.org	. - (662b-661b) + (664b-663b)
 	.endif
@@ -160,7 +160,7 @@ static inline void apply_alternatives_module(void *start, size_t length) { }
 	.pushsection .altinstructions, "a"
 	altinstruction_entry 663f, 661f, \cap, 664f-663f, 662f-661f
 	.popsection
-	.pushsection .altinstr_replacement, "ax"
+	.subsection 1
 	.align 2	/* So GAS knows label 661 is suitably aligned */
 661:
 .endm
@@ -179,9 +179,9 @@ static inline void apply_alternatives_module(void *start, size_t length) { }
 .macro alternative_else
 662:
 	.if .Lasm_alt_mode==0
-	.pushsection .altinstr_replacement, "ax"
+	.subsection 1
 	.else
-	.popsection
+	.previous
 	.endif
 663:
 .endm
@@ -192,7 +192,7 @@ static inline void apply_alternatives_module(void *start, size_t length) { }
 .macro alternative_endif
 664:
 	.if .Lasm_alt_mode==0
-	.popsection
+	.previous
 	.endif
 	.org	. - (664b-663b) + (662b-661b)
 	.org	. - (662b-661b) + (664b-663b)
arch/arm64/include/asm/arch_timer.h +1 -0
index 7ae54d7d333a..9f0ec21d6327 100644
@@ -58,6 +58,7 @@ struct arch_timer_erratum_workaround {
 	u64 (*read_cntvct_el0)(void);
 	int (*set_next_event_phys)(unsigned long, struct clock_event_device *);
 	int (*set_next_event_virt)(unsigned long, struct clock_event_device *);
+	bool disable_compat_vdso;
 };
 
 DECLARE_PER_CPU(const struct arch_timer_erratum_workaround *,
arch/arm64/include/asm/clocksource.h +4 -1
index 0ece64a26c8c..0c7910447235 100644
@@ -2,8 +2,11 @@
 #ifndef _ASM_CLOCKSOURCE_H
 #define _ASM_CLOCKSOURCE_H
 
+#include <asm/vdso/clocksource.h>
+
 struct arch_clocksource_data {
-	bool vdso_direct;	/* Usable for direct VDSO access? */
+	/* Usable for direct VDSO access? */
+	enum vdso_arch_clockmode clock_mode;
 };
 
 #endif
arch/arm64/include/asm/debug-monitors.h +2 -0
index 7619f473155f..d825e3585e28 100644
@@ -109,6 +109,8 @@ void disable_debug_monitors(enum dbg_active_el el);
 
 void user_rewind_single_step(struct task_struct *task);
 void user_fastforward_single_step(struct task_struct *task);
+void user_regs_reset_single_step(struct user_pt_regs *regs,
+				 struct task_struct *task);
 
 void kernel_enable_single_step(struct pt_regs *regs);
 void kernel_disable_single_step(void);
arch/arm64/include/asm/syscall.h +11 -1
index 65299a2dcf9c..cfc0672013f6 100644
@@ -34,6 +34,10 @@ static inline long syscall_get_error(struct task_struct *task,
 				     struct pt_regs *regs)
 {
 	unsigned long error = regs->regs[0];
+
+	if (is_compat_thread(task_thread_info(task)))
+		error = sign_extend64(error, 31);
+
 	return IS_ERR_VALUE(error) ? error : 0;
 }
 
@@ -47,7 +51,13 @@ static inline void syscall_set_return_value(struct task_struct *task,
 					    struct pt_regs *regs,
 					    int error, long val)
 {
-	regs->regs[0] = (long) error ? error : val;
+	if (error)
+		val = error;
+
+	if (is_compat_thread(task_thread_info(task)))
+		val = lower_32_bits(val);
+
+	regs->regs[0] = val;
 }
 
 #define SYSCALL_MAX_ARGS 6
arch/arm64/include/asm/thread_info.h +1 -0
index f0cec4160136..4e3ed702bec7 100644
@@ -91,6 +91,7 @@ void arch_release_task_struct(struct task_struct *tsk);
 #define _TIF_SYSCALL_EMU	(1 << TIF_SYSCALL_EMU)
 #define _TIF_UPROBE		(1 << TIF_UPROBE)
 #define _TIF_FSCHECK		(1 << TIF_FSCHECK)
+#define _TIF_SINGLESTEP		(1 << TIF_SINGLESTEP)
 #define _TIF_32BIT		(1 << TIF_32BIT)
 #define _TIF_SVE		(1 << TIF_SVE)
 
arch/arm64/include/asm/vdso/clocksource.h new file +14 -0
new file mode 100644
index 000000000000..8019f616e1f7
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_VDSOCLOCKSOURCE_H
+#define __ASM_VDSOCLOCKSOURCE_H
+
+enum vdso_arch_clockmode {
+	/* vdso clocksource not usable */
+	VDSO_CLOCKMODE_NONE,
+	/* vdso clocksource for both 32 and 64bit tasks */
+	VDSO_CLOCKMODE_ARCHTIMER,
+	/* vdso clocksource for 64bit tasks only */
+	VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT,
+};
+
+#endif
arch/arm64/include/asm/vdso/compat_gettimeofday.h +3 -2
index c50ee1b7d5cd..413d42e197c7 100644
@@ -10,6 +10,7 @@
 #include <asm/unistd.h>
 #include <uapi/linux/time.h>
 
+#include <asm/vdso/clocksource.h>
 #include <asm/vdso/compat_barrier.h>
 
 #define __VDSO_USE_SYSCALL		ULLONG_MAX
@@ -117,10 +118,10 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode)
 	u64 res;
 
 	/*
-	 * clock_mode == 0 implies that vDSO are enabled otherwise
+	 * clock_mode == ARCHTIMER implies that vDSO are enabled otherwise
 	 * fallback on syscall.
 	 */
-	if (clock_mode)
+	if (clock_mode != VDSO_CLOCKMODE_ARCHTIMER)
 		return __VDSO_USE_SYSCALL;
 
 	/*
arch/arm64/include/asm/vdso/gettimeofday.h +4 -2
index b08f476b72b4..ff83b8b574fc 100644
@@ -10,6 +10,8 @@
 #include <asm/unistd.h>
 #include <uapi/linux/time.h>
 
+#include <asm/vdso/clocksource.h>
+
 #define __VDSO_USE_SYSCALL		ULLONG_MAX
 
 #define VDSO_HAS_CLOCK_GETRES		1
@@ -71,10 +73,10 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode)
 	u64 res;
 
 	/*
-	 * clock_mode == 0 implies that vDSO are enabled otherwise
+	 * clock_mode != NONE implies that vDSO are enabled otherwise
 	 * fallback on syscall.
 	 */
-	if (clock_mode)
+	if (clock_mode == VDSO_CLOCKMODE_NONE)
 		return __VDSO_USE_SYSCALL;
 
 	/*
arch/arm64/include/asm/vdso/vsyscall.h +1 -3
index 0c20a7c1bee5..e50f26741946 100644
@@ -24,9 +24,7 @@ struct vdso_data *__arm64_get_k_vdso_data(void)
 static __always_inline
 int __arm64_get_clock_mode(struct timekeeper *tk)
 {
-	u32 use_syscall = !tk->tkr_mono.clock->archdata.vdso_direct;
-
-	return use_syscall;
+	return tk->tkr_mono.clock->archdata.clock_mode;
 }
 #define __arch_get_clock_mode __arm64_get_clock_mode
 
arch/arm64/kernel/alternative.c +2 -14
index d1757ef1b1e7..73039949b5ce 100644
@@ -43,20 +43,8 @@ bool alternative_is_applied(u16 cpufeature)
  */
 static bool branch_insn_requires_update(struct alt_instr *alt, unsigned long pc)
 {
-	unsigned long replptr;
-
-	if (kernel_text_address(pc))
-		return true;
-
-	replptr = (unsigned long)ALT_REPL_PTR(alt);
-	if (pc >= replptr && pc <= (replptr + alt->alt_len))
-		return false;
-
-	/*
-	 * Branching into *another* alternate sequence is doomed, and
-	 * we're not even trying to fix it up.
-	 */
-	BUG();
+	unsigned long replptr = (unsigned long)ALT_REPL_PTR(alt);
+	return !(pc >= replptr && pc <= (replptr + alt->alt_len));
 }
 
 #define align_down(x, a)	((unsigned long)(x) & ~(((unsigned long)(a)) - 1))
arch/arm64/kernel/debug-monitors.c +16 -4
index 48222a4760c2..7569deb1eac1 100644
@@ -141,17 +141,20 @@ postcore_initcall(debug_monitors_init);
 /*
  * Single step API and exception handling.
  */
-static void set_regs_spsr_ss(struct pt_regs *regs)
+static void set_user_regs_spsr_ss(struct user_pt_regs *regs)
 {
 	regs->pstate |= DBG_SPSR_SS;
 }
-NOKPROBE_SYMBOL(set_regs_spsr_ss);
+NOKPROBE_SYMBOL(set_user_regs_spsr_ss);
 
-static void clear_regs_spsr_ss(struct pt_regs *regs)
+static void clear_user_regs_spsr_ss(struct user_pt_regs *regs)
 {
 	regs->pstate &= ~DBG_SPSR_SS;
 }
-NOKPROBE_SYMBOL(clear_regs_spsr_ss);
+NOKPROBE_SYMBOL(clear_user_regs_spsr_ss);
+
+#define set_regs_spsr_ss(r)	set_user_regs_spsr_ss(&(r)->user_regs)
+#define clear_regs_spsr_ss(r)	clear_user_regs_spsr_ss(&(r)->user_regs)
 
 static DEFINE_SPINLOCK(debug_hook_lock);
 static LIST_HEAD(user_step_hook);
@@ -404,6 +407,15 @@ void user_fastforward_single_step(struct task_struct *task)
 		clear_regs_spsr_ss(task_pt_regs(task));
 }
 
+void user_regs_reset_single_step(struct user_pt_regs *regs,
+				 struct task_struct *task)
+{
+	if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
+		set_user_regs_spsr_ss(regs);
+	else
+		clear_user_regs_spsr_ss(regs);
+}
+
 /* Kernel API */
 void kernel_enable_single_step(struct pt_regs *regs)
 {
arch/arm64/kernel/ptrace.c +21 -8
index 8d2d9d5b418f..30b877f8b85e 100644
@@ -1819,12 +1819,23 @@ static void tracehook_report_syscall(struct pt_regs *regs,
 	saved_reg = regs->regs[regno];
 	regs->regs[regno] = dir;
 
-	if (dir == PTRACE_SYSCALL_EXIT)
+	if (dir == PTRACE_SYSCALL_ENTER) {
+		if (tracehook_report_syscall_entry(regs))
+			forget_syscall(regs);
+		regs->regs[regno] = saved_reg;
+	} else if (!test_thread_flag(TIF_SINGLESTEP)) {
 		tracehook_report_syscall_exit(regs, 0);
-	else if (tracehook_report_syscall_entry(regs))
-		forget_syscall(regs);
+		regs->regs[regno] = saved_reg;
+	} else {
+		regs->regs[regno] = saved_reg;
 
-	regs->regs[regno] = saved_reg;
+		/*
+		 * Signal a pseudo-step exception since we are stepping but
+		 * tracer modifications to the registers may have rewound the
+		 * state machine.
+		 */
+		tracehook_report_syscall_exit(regs, 1);
+	}
 }
 
 int syscall_trace_enter(struct pt_regs *regs)
@@ -1852,12 +1863,14 @@ int syscall_trace_enter(struct pt_regs *regs)
 
 void syscall_trace_exit(struct pt_regs *regs)
 {
+	unsigned long flags = READ_ONCE(current_thread_info()->flags);
+
 	audit_syscall_exit(regs);
 
-	if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
+	if (flags & _TIF_SYSCALL_TRACEPOINT)
 		trace_sys_exit(regs, regs_return_value(regs));
 
-	if (test_thread_flag(TIF_SYSCALL_TRACE))
+	if (flags & (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP))
 		tracehook_report_syscall(regs, PTRACE_SYSCALL_EXIT);
 
 	rseq_syscall(regs);
@@ -1935,8 +1948,8 @@ static int valid_native_regs(struct user_pt_regs *regs)
  */
 int valid_user_regs(struct user_pt_regs *regs, struct task_struct *task)
 {
-	if (!test_tsk_thread_flag(task, TIF_SINGLESTEP))
-		regs->pstate &= ~DBG_SPSR_SS;
+	/* https://lore.kernel.org/lkml/20191118131525.GA4180@willie-the-truck */
+	user_regs_reset_single_step(regs, task);
 
 	if (is_compat_thread(task_thread_info(task)))
 		return valid_compat_regs(regs);
arch/arm64/kernel/signal.c +2 -9
index dd2cdc0d5be2..ddb757b2c3e5 100644
@@ -782,7 +782,6 @@ static void setup_restart_syscall(struct pt_regs *regs)
  */
 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
 {
-	struct task_struct *tsk = current;
 	sigset_t *oldset = sigmask_to_save();
 	int usig = ksig->sig;
 	int ret;
@@ -806,14 +805,8 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
 	 */
 	ret |= !valid_user_regs(&regs->user_regs, current);
 
-	/*
-	 * Fast forward the stepping logic so we step into the signal
-	 * handler.
-	 */
-	if (!ret)
-		user_fastforward_single_step(tsk);
-
-	signal_setup_done(ret, ksig, 0);
+	/* Step into the signal handler if we are stepping */
+	signal_setup_done(ret, ksig, test_thread_flag(TIF_SINGLESTEP));
 }
 
 /*
arch/arm64/kernel/syscall.c +4 -1
index 871c739f060a..1457a0ba83db 100644
@@ -50,6 +50,9 @@ static void invoke_syscall(struct pt_regs *regs, unsigned int scno,
 		ret = do_ni_syscall(regs, scno);
 	}
 
+	if (is_compat_task())
+		ret = lower_32_bits(ret);
+
 	regs->regs[0] = ret;
 }
 
@@ -121,7 +124,7 @@ static void el0_svc_common(struct pt_regs *regs, int scno, int sc_nr,
 	if (!has_syscall_work(flags) && !IS_ENABLED(CONFIG_DEBUG_RSEQ)) {
 		local_daif_mask();
 		flags = current_thread_info()->flags;
-		if (!has_syscall_work(flags)) {
+		if (!has_syscall_work(flags) && !(flags & _TIF_SINGLESTEP)) {
 			/*
 			 * We're off to userspace, where interrupts are
 			 * always enabled after we restore the flags from
arch/arm64/kernel/vmlinux.lds.S +0 -3
index e1af25dbc57e..8d0374ffdd2d 100644
@@ -172,9 +172,6 @@ SECTIONS
 		*(.altinstructions)
 		__alt_instructions_end = .;
 	}
-	.altinstr_replacement : {
-		*(.altinstr_replacement)
-	}
 
 	. = ALIGN(PAGE_SIZE);
 	__inittext_end = .;
arch/ia64/configs/zx1_defconfig +0 -1
index 8c92e095f8bb..d42f79a33e91 100644
@@ -35,7 +35,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_CHR_DEV_OSST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/m68k/configs/amiga_defconfig +0 -1
index 9a33c1c006a1..cf8103fa2f34 100644
@@ -334,7 +334,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/apollo_defconfig +0 -1
index 7fdbc797a05d..5636288a4b45 100644
@@ -319,7 +319,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/atari_defconfig +0 -1
index f1763405a539..015a7f401ffd 100644
@@ -334,7 +334,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/bvme6000_defconfig +0 -1
index 91154d6acb31..1209430e61e1 100644
@@ -316,7 +316,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/hp300_defconfig +0 -1
index c398c4a94d95..a41b16067f5c 100644
@@ -318,7 +318,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/mac_defconfig +0 -1
index 350d004559be..8af104a8c000 100644
@@ -325,7 +325,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/multi_defconfig +0 -1
index b838dd820348..354ff30e22c9 100644
@@ -358,7 +358,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/mvme147_defconfig +0 -1
index 3f8dd61559cf..eac7685cea42 100644
@@ -315,7 +315,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/mvme16x_defconfig +0 -1
index ae3b2d4f636c..0f38c4a3c87a 100644
@@ -316,7 +316,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/q40_defconfig +0 -1
index cd61ef14b582..6ede6869db1c 100644
@@ -324,7 +324,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/sun3_defconfig +0 -1
index 151f5371cd3d..8644c4789938 100644
@@ -313,7 +313,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/configs/sun3x_defconfig +0 -1
index 1dcb0ee1fe98..f2fd0da2346e 100644
@@ -313,7 +313,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SAS_ATTRS=m
arch/m68k/kernel/setup_no.c +2 -1
index 3c5def10d486..caa260f877f2 100644
@@ -139,7 +139,8 @@ void __init setup_arch(char **cmdline_p)
 	pr_debug("MEMORY -> ROMFS=0x%p-0x%06lx MEM=0x%06lx-0x%06lx\n ",
 		 __bss_stop, memory_start, memory_start, memory_end);
 
-	memblock_add(memory_start, memory_end - memory_start);
+	memblock_add(_rambase, memory_end - _rambase);
+	memblock_reserve(_rambase, memory_start - _rambase);
 
 	/* Keep a copy of command line */
 	*cmdline_p = &command_line[0];
arch/m68k/mm/mcfmmu.c +1 -1
index 6cb1e41d58d0..70a5f55ea664 100644
@@ -164,7 +164,7 @@ void __init cf_bootmem_alloc(void)
 	m68k_memory[0].addr = _rambase;
 	m68k_memory[0].size = _ramend - _rambase;
 
-	memblock_add(m68k_memory[0].addr, m68k_memory[0].size);
+	memblock_add_node(m68k_memory[0].addr, m68k_memory[0].size, 0);
 
 	/* compute total pages in system */
 	num_pages = PFN_DOWN(_ramend - _rambase);
arch/mips/configs/bigsur_defconfig +0 -1
index f14ad0538f4e..eea9b613bb74 100644
@@ -112,7 +112,6 @@ CONFIG_BLK_DEV_TC86C001=m
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_CHR_DEV_SCH=m
 CONFIG_ATA=y
arch/mips/configs/fuloong2e_defconfig +0 -1
index 7a7af706e898..c5f66b7f2b22 100644
@@ -99,7 +99,6 @@ CONFIG_CDROM_PKTCDVD=m
 CONFIG_ATA_OVER_ETH=m
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 # CONFIG_SCSI_LOWLEVEL is not set
arch/mips/configs/ip27_defconfig +0 -1
index 82d942a6026e..638d7cf5ef01 100644
@@ -99,7 +99,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_CONSTANTS=y
arch/mips/configs/ip32_defconfig +0 -1
index 370884018aad..7b1fab518317 100644
@@ -50,7 +50,6 @@ CONFIG_RAID_ATTRS=y
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/mips/configs/jazz_defconfig +0 -1
index 328d4dfeb4cb..982b990469af 100644
@@ -191,7 +191,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SCAN_ASYNC=y
 CONFIG_SCSI_FC_ATTRS=y
arch/mips/configs/malta_defconfig +0 -1
index 59eedf55419d..211bd3d6e6cb 100644
@@ -239,7 +239,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/mips/configs/malta_kvm_defconfig +0 -1
index 8ef612552a19..62b1969b4f55 100644
@@ -247,7 +247,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/mips/configs/malta_kvm_guest_defconfig +0 -1
index d2a008c9907c..9185e0a0aa45 100644
@@ -245,7 +245,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/mips/configs/maltaup_xpa_defconfig +0 -1
index 970df6d42728..636311d67a53 100644
@@ -245,7 +245,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
arch/mips/configs/rm200_defconfig +0 -1
index 2c7adea7638f..30d7c3db884e 100644
@@ -203,7 +203,6 @@ CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SCAN_ASYNC=y
 CONFIG_SCSI_FC_ATTRS=y
arch/powerpc/configs/85xx-hw.config +0 -1
index 9575a38c9155..b507df6ac69f 100644
@@ -2,7 +2,6 @@ CONFIG_AQUANTIA_PHY=y
 CONFIG_AT803X_PHY=y
 CONFIG_ATA=y
 CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_BLK_DEV_SR=y
 CONFIG_BROADCOM_PHY=y
 CONFIG_C293_PCIE=y
arch/powerpc/configs/amigaone_defconfig +0 -1
index cf94d28d0e31..340140160c7b 100644
@@ -47,7 +47,6 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SYM53C8XX_2=y
arch/powerpc/configs/chrp32_defconfig +0 -1
index 9ff493dd8439..6c5a4414e9ee 100644
@@ -45,7 +45,6 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SYM53C8XX_2=y
arch/powerpc/configs/g5_defconfig +0 -1
index fbfcc85e4dc0..a68c7f3af10e 100644
@@ -62,7 +62,6 @@ CONFIG_CDROM_PKTCDVD=m
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SPI_ATTRS=y
arch/powerpc/configs/maple_defconfig +0 -1
index 2975e64629aa..161351a18517 100644
@@ -41,7 +41,6 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
 # CONFIG_SCSI_PROC_FS is not set
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_IPR=y
 CONFIG_ATA=y
arch/powerpc/configs/pasemi_defconfig +0 -1
index 4b6d31d4474e..08b7f4cef243 100644
@@ -60,7 +60,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_CHR_DEV_OSST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_CHR_DEV_SCH=y
 CONFIG_SCSI_CONSTANTS=y
arch/powerpc/configs/pmac32_defconfig +0 -1
index 4e6e95f92646..5cad09f93562 100644
@@ -119,7 +119,6 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_FC_ATTRS=y
arch/powerpc/configs/powernv_defconfig +0 -1
index 6658cceb928c..2a7c53cc2f83 100644
@@ -111,7 +111,6 @@ CONFIG_BLK_DEV_NVME=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SCAN_ASYNC=y
arch/powerpc/configs/ppc64_defconfig +0 -1
index b250e6f5a7ca..5569d36066dc 100644
@@ -110,7 +110,6 @@ CONFIG_VIRTIO_BLK=m
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_FC_ATTRS=y
arch/powerpc/configs/ppc64e_defconfig +0 -1
index 0d746774c2bd..33a01a9e86be 100644
@@ -60,7 +60,6 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_FC_ATTRS=y
arch/powerpc/configs/ppc6xx_defconfig +0 -1
index 9dca4cffa623..1372a1a7517a 100644
@@ -372,7 +372,6 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_CHR_DEV_OSST=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_ENCLOSURE=m
arch/powerpc/configs/pseries_defconfig +0 -1
index 26126b4d4de3..d58686a66388 100644
@@ -97,7 +97,6 @@ CONFIG_VIRTIO_BLK=m
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_FC_ATTRS=y
arch/powerpc/configs/skiroot_defconfig +0 -1
index 1253482a67c0..2e25b264f70f 100644
@@ -83,7 +83,6 @@ CONFIG_EEPROM_AT24=m
 # CONFIG_OCXL is not set
 CONFIG_BLK_DEV_SD=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SCAN_ASYNC=y
arch/powerpc/kernel/paca.c +1 -1
index 3f91ccaa9c74..4ea0cca52e16 100644
@@ -86,7 +86,7 @@ static void *__init alloc_shared_lppaca(unsigned long size, unsigned long align,
 	 * This is very early in boot, so no harm done if the kernel crashes at
 	 * this point.
 	 */
-	BUG_ON(shared_lppaca_size >= shared_lppaca_total_size);
+	BUG_ON(shared_lppaca_size > shared_lppaca_total_size);
 
 	return ptr;
 }
arch/powerpc/mm/book3s64/pkeys.c +7 -5
index ae7fca40e5b3..66f307e873dc 100644
@@ -367,12 +367,14 @@ static bool pkey_access_permitted(int pkey, bool write, bool execute)
 		return true;
 
 	pkey_shift = pkeyshift(pkey);
-	if (execute && !(read_iamr() & (IAMR_EX_BIT << pkey_shift)))
-		return true;
+	if (execute)
+		return !(read_iamr() & (IAMR_EX_BIT << pkey_shift));
+
+	amr = read_amr();
+	if (write)
+		return !(amr & (AMR_WR_BIT << pkey_shift));
 
-	amr = read_amr(); /* Delay reading amr until absolutely needed */
-	return ((!write && !(amr & (AMR_RD_BIT << pkey_shift))) ||
-		(write &&  !(amr & (AMR_WR_BIT << pkey_shift))));
+	return !(amr & (AMR_RD_BIT << pkey_shift));
 }
 
 bool arch_pte_access_permitted(u64 pte, bool write, bool execute)
arch/riscv/include/asm/thread_info.h +4 -0
index 905372d7eeb8..3df9a82bdbfd 100644
@@ -12,7 +12,11 @@
 #include <linux/const.h>
 
 /* thread information allocation */
+#ifdef CONFIG_64BIT
+#define THREAD_SIZE_ORDER	(2)
+#else
 #define THREAD_SIZE_ORDER	(1)
+#endif
 #define THREAD_SIZE		(PAGE_SIZE << THREAD_SIZE_ORDER)
 
 #ifndef __ASSEMBLY__
arch/sh/configs/sh03_defconfig +0 -1
index e5beb625ab88..87db9a84b5ec 100644
@@ -46,7 +46,6 @@ CONFIG_BLK_DEV_IDETAPE=m
 CONFIG_SCSI=m
 CONFIG_BLK_DEV_SD=m
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_NETDEVICES=y
 CONFIG_NET_ETHERNET=y
arch/sparc/configs/sparc64_defconfig +0 -1
index 6c325d53a20a..bde4d21a8ac8 100644
@@ -73,7 +73,6 @@ CONFIG_RAID_ATTRS=m
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=m
 CONFIG_SCSI_MULTI_LUN=y
 CONFIG_SCSI_CONSTANTS=y
arch/x86/configs/i386_defconfig +0 -1
index 59ce9ed58430..18806b4fb26a 100644
@@ -137,7 +137,6 @@ CONFIG_CONNECTOR=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SPI_ATTRS=y
arch/x86/configs/x86_64_defconfig +0 -1
index d0a5ffeae8df..3087c5e351e7 100644
@@ -136,7 +136,6 @@ CONFIG_CONNECTOR=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_SPI_ATTRS=y
arch/x86/include/asm/fpu/internal.h +5 -0
index 44c48e34d799..00eac7f1529b 100644
@@ -619,6 +619,11 @@ static inline void switch_fpu_finish(struct fpu *new_fpu)
  * MXCSR and XCR definitions:
  */
 
+static inline void ldmxcsr(u32 mxcsr)
+{
+	asm volatile("ldmxcsr %0" :: "m" (mxcsr));
+}
+
 extern unsigned int mxcsr_feature_mask;
 
 #define XCR_XFEATURE_ENABLED_MASK	0x00000000
arch/x86/kernel/apic/vector.c +5 -17
index 2c5676b0a6e7..18c0dca08163 100644
@@ -446,12 +446,10 @@ static int x86_vector_activate(struct irq_domain *dom, struct irq_data *irqd,
 	trace_vector_activate(irqd->irq, apicd->is_managed,
 			      apicd->can_reserve, reserve);
 
-	/* Nothing to do for fixed assigned vectors */
-	if (!apicd->can_reserve && !apicd->is_managed)
-		return 0;
-
 	raw_spin_lock_irqsave(&vector_lock, flags);
-	if (reserve || irqd_is_managed_and_shutdown(irqd))
+	if (!apicd->can_reserve && !apicd->is_managed)
+		assign_irq_vector_any_locked(irqd);
+	else if (reserve || irqd_is_managed_and_shutdown(irqd))
 		vector_assign_managed_shutdown(irqd);
 	else if (apicd->is_managed)
 		ret = activate_managed(irqd);
@@ -769,20 +767,10 @@ void lapic_offline(void)
 static int apic_set_affinity(struct irq_data *irqd,
 			     const struct cpumask *dest, bool force)
 {
-	struct apic_chip_data *apicd = apic_chip_data(irqd);
 	int err;
 
-	/*
-	 * Core code can call here for inactive interrupts. For inactive
-	 * interrupts which use managed or reservation mode there is no
-	 * point in going through the vector assignment right now as the
-	 * activation will assign a vector which fits the destination
-	 * cpumask. Let the core code store the destination mask and be
-	 * done with it.
-	 */
-	if (!irqd_is_activated(irqd) &&
-	    (apicd->is_managed || apicd->can_reserve))
-		return IRQ_SET_MASK_OK;
+	if (WARN_ON_ONCE(!irqd_is_activated(irqd)))
+		return -EIO;
 
 	raw_spin_lock(&vector_lock);
 	cpumask_and(vector_searchmask, dest, cpu_online_mask);
arch/x86/kernel/fpu/core.c +6 -0
index 12c70840980e..cd8839027f66 100644
@@ -101,6 +101,12 @@ void kernel_fpu_begin(void)
 		copy_fpregs_to_fpstate(&current->thread.fpu);
 	}
 	__cpu_invalidate_fpregs_state();
+
+	if (boot_cpu_has(X86_FEATURE_XMM))
+		ldmxcsr(MXCSR_DEFAULT);
+
+	if (boot_cpu_has(X86_FEATURE_FPU))
+		asm volatile ("fninit");
 }
 EXPORT_SYMBOL_GPL(kernel_fpu_begin);
 
arch/x86/kernel/fpu/xstate.c +1 -1
index c94fec268ef2..755eb26cbec0 100644
@@ -1017,7 +1017,7 @@ int copy_xstate_to_kernel(void *kbuf, struct xregs_state *xsave, unsigned int of
 		copy_part(offsetof(struct fxregs_state, st_space), 128,
 			  &xsave->i387.st_space, &kbuf, &offset_start, &count);
 	if (header.xfeatures & XFEATURE_MASK_SSE)
-		copy_part(xstate_offsets[XFEATURE_MASK_SSE], 256,
+		copy_part(xstate_offsets[XFEATURE_SSE], 256,
 			  &xsave->i387.xmm_space, &kbuf, &offset_start, &count);
 	/*
 	 * Fill xsave->i387.sw_reserved value for ptrace frame:
block/blk-merge.c +14 -9
index 48e6725b32ee..93cff719b066 100644
@@ -157,17 +157,20 @@ static inline unsigned get_max_io_size(struct request_queue *q,
 	return sectors & (lbs - 1);
 }
 
-static unsigned get_max_segment_size(const struct request_queue *q,
-				     unsigned offset)
+static inline unsigned get_max_segment_size(const struct request_queue *q,
+					    struct page *start_page,
+					    unsigned long offset)
 {
 	unsigned long mask = queue_segment_boundary(q);
 
-	/* default segment boundary mask means no boundary limit */
-	if (mask == BLK_SEG_BOUNDARY_MASK)
-		return queue_max_segment_size(q);
+	offset = mask & (page_to_phys(start_page) + offset);
 
-	return min_t(unsigned long, mask - (mask & offset) + 1,
-		     queue_max_segment_size(q));
+	/*
+	 * overflow may be triggered in case of zero page physical address
+	 * on 32bit arch, use queue's max segment size when that happens.
+	 */
+	return min_not_zero(mask - offset + 1,
+			(unsigned long)queue_max_segment_size(q));
 }
 
 /**
@@ -201,7 +204,8 @@ static bool bvec_split_segs(const struct request_queue *q,
 	unsigned seg_size = 0;
 
 	while (len && *nsegs < max_segs) {
-		seg_size = get_max_segment_size(q, bv->bv_offset + total_len);
+		seg_size = get_max_segment_size(q, bv->bv_page,
+						bv->bv_offset + total_len);
 		seg_size = min(seg_size, len);
 
 		(*nsegs)++;
@@ -404,7 +408,8 @@ static unsigned blk_bvec_map_sg(struct request_queue *q,
 
 	while (nbytes > 0) {
 		unsigned offset = bvec->bv_offset + total;
-		unsigned len = min(get_max_segment_size(q, offset), nbytes);
+		unsigned len = min(get_max_segment_size(q, bvec->bv_page,
+					offset), nbytes);
 		struct page *page = bvec->bv_page;
 
 		/*
block/blk-mq-debugfs.c +3 -0
index b3f2ba483992..121f4c1e0697 100644
@@ -125,6 +125,9 @@ static const char *const blk_queue_flag_name[] = {
 	QUEUE_FLAG_NAME(REGISTERED),
 	QUEUE_FLAG_NAME(SCSI_PASSTHROUGH),
 	QUEUE_FLAG_NAME(QUIESCED),
+	QUEUE_FLAG_NAME(PCI_P2PDMA),
+	QUEUE_FLAG_NAME(ZONE_RESETALL),
+	QUEUE_FLAG_NAME(RQ_ALLOC_TIME),
 };
 #undef QUEUE_FLAG_NAME
 
crypto/asymmetric_keys/public_key.c +1 -0
index d7f43d4ea925..e5fae4e838c0 100644
@@ -119,6 +119,7 @@ static int software_key_query(const struct kernel_pkey_params *params,
 	if (IS_ERR(tfm))
 		return PTR_ERR(tfm);
 
+	ret = -ENOMEM;
 	key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen,
 		      GFP_KERNEL);
 	if (!key)
drivers/acpi/video_detect.c +19 -0
index e63fd7bfd3a5..5bcb4c01ec5f 100644
@@ -336,6 +336,25 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "Precision 7510"),
 		},
 	},
+	{
+	 .callback = video_detect_force_native,
+	 .ident = "Acer Aspire 5738z",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"),
+		DMI_MATCH(DMI_BOARD_NAME, "JV50"),
+		},
+	},
+	{
+	 /* https://bugzilla.kernel.org/show_bug.cgi?id=207835 */
+	 .callback = video_detect_force_native,
+	 .ident = "Acer TravelMate 5735Z",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5735Z"),
+		DMI_MATCH(DMI_BOARD_NAME, "BA51_MV"),
+		},
+	},
 
 	/*
 	 * Desktops which falsely report a backlight and which our heuristics
drivers/base/regmap/regmap-debugfs.c +29 -23

93 lines not on this page · raw message

drivers/block/zram/zram_drv.c +2 -1
index 1bf4a908a0bd..36d49159140f 100644
@@ -2023,7 +2023,8 @@ static ssize_t hot_add_show(struct class *class,
 		return ret;
 	return scnprintf(buf, PAGE_SIZE, "%d\n", ret);
 }
-static CLASS_ATTR_RO(hot_add);
+static struct class_attribute class_attr_hot_add =
+	__ATTR(hot_add, 0400, hot_add_show, NULL);
 
 static ssize_t hot_remove_store(struct class *class,
 			struct class_attribute *attr,
drivers/bus/ti-sysc.c +226 -105

539 lines not on this page · raw message

drivers/char/tpm/tpm_tis_core.c +1 -1
index bdcf8f25cd0d..63f6bed78d89 100644
@@ -1006,7 +1006,7 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
 
 	return 0;
 out_err:
-	if ((chip->ops != NULL) && (chip->ops->clk_enable != NULL))
+	if (chip->ops->clk_enable != NULL)
 		chip->ops->clk_enable(chip, false);
 
 	tpm_tis_remove(chip);
drivers/char/virtio_console.c +2 -1
index 3259426f01dc..9ebce2c12c43 100644
@@ -2118,6 +2118,7 @@ static struct virtio_device_id id_table[] = {
 	{ VIRTIO_ID_CONSOLE, VIRTIO_DEV_ANY_ID },
 	{ 0 },
 };
+MODULE_DEVICE_TABLE(virtio, id_table);
 
 static unsigned int features[] = {
 	VIRTIO_CONSOLE_F_SIZE,
@@ -2130,6 +2131,7 @@ static struct virtio_device_id rproc_serial_id_table[] = {
 #endif
 	{ 0 },
 };
+MODULE_DEVICE_TABLE(virtio, rproc_serial_id_table);
 
 static unsigned int rproc_serial_features[] = {
 };
@@ -2282,6 +2284,5 @@ static void __exit fini(void)
 module_init(init);
 module_exit(fini);
 
-MODULE_DEVICE_TABLE(virtio, id_table);
 MODULE_DESCRIPTION("Virtio console driver");
 MODULE_LICENSE("GPL");
drivers/clk/clk-ast2600.c +41 -8

69 lines not on this page · raw message

drivers/clk/mvebu/Kconfig +1 -0
index 415e6906a113..76cd06f4ed62 100644
@@ -42,6 +42,7 @@ config ARMADA_AP806_SYSCON
 
 config ARMADA_AP_CPU_CLK
 	bool
+	select ARMADA_AP_CP_HELPER
 
 config ARMADA_CP110_SYSCON
 	bool
drivers/clk/qcom/gcc-sm8150.c +148 -0

196 lines not on this page · raw message

drivers/clocksource/arm_arch_timer.c +15 -4
index 9a5464c625b4..4be83b4de2a0 100644
@@ -69,7 +69,7 @@ static enum arch_timer_ppi_nr arch_timer_uses_ppi = ARCH_TIMER_VIRT_PPI;
 static bool arch_timer_c3stop;
 static bool arch_timer_mem_use_virtual;
 static bool arch_counter_suspend_stop;
-static bool vdso_default = true;
+static enum vdso_arch_clockmode vdso_default = VDSO_CLOCKMODE_ARCHTIMER;
 
 static cpumask_t evtstrm_available = CPU_MASK_NONE;
 static bool evtstrm_enable = IS_ENABLED(CONFIG_ARM_ARCH_TIMER_EVTSTREAM);
@@ -476,6 +476,14 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = {
 		.set_next_event_virt = erratum_set_next_event_tval_virt,
 	},
 #endif
+#ifdef CONFIG_ARM64_ERRATUM_1418040
+	{
+		.match_type = ate_match_local_cap_id,
+		.id = (void *)ARM64_WORKAROUND_1418040,
+		.desc = "ARM erratum 1418040",
+		.disable_compat_vdso = true,
+	},
+#endif
 };
 
 typedef bool (*ate_match_fn_t)(const struct arch_timer_erratum_workaround *,
@@ -560,8 +568,11 @@ void arch_timer_enable_workaround(const struct arch_timer_erratum_workaround *wa
 	 * change both the default value and the vdso itself.
 	 */
 	if (wa->read_cntvct_el0) {
-		clocksource_counter.archdata.vdso_direct = false;
-		vdso_default = false;
+		clocksource_counter.archdata.clock_mode = VDSO_CLOCKMODE_NONE;
+		vdso_default = VDSO_CLOCKMODE_NONE;
+	} else if (wa->disable_compat_vdso && vdso_default != VDSO_CLOCKMODE_NONE) {
+		vdso_default = VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT;
+		clocksource_counter.archdata.clock_mode = vdso_default;
 	}
 }
 
@@ -979,7 +990,7 @@ static void __init arch_counter_register(unsigned type)
 		}
 
 		arch_timer_read_counter = rd;
-		clocksource_counter.archdata.vdso_direct = vdso_default;
+		clocksource_counter.archdata.clock_mode = vdso_default;
 	} else {
 		arch_timer_read_counter = arch_counter_get_cntvct_mem;
 	}
drivers/crypto/Kconfig +4 -4
index 06b2b3fa5206..0952f059d967 100644
@@ -491,11 +491,9 @@ if CRYPTO_DEV_UX500
 endif # if CRYPTO_DEV_UX500
 
 config CRYPTO_DEV_ATMEL_AUTHENC
-	tristate "Support for Atmel IPSEC/SSL hw accelerator"
+	bool "Support for Atmel IPSEC/SSL hw accelerator"
 	depends on ARCH_AT91 || COMPILE_TEST
-	select CRYPTO_AUTHENC
-	select CRYPTO_DEV_ATMEL_AES
-	select CRYPTO_DEV_ATMEL_SHA
+	depends on CRYPTO_DEV_ATMEL_AES
 	help
 	  Some Atmel processors can combine the AES and SHA hw accelerators
 	  to enhance support of IPSEC/SSL.
@@ -508,6 +506,8 @@ config CRYPTO_DEV_ATMEL_AES
 	select CRYPTO_AES
 	select CRYPTO_AEAD
 	select CRYPTO_BLKCIPHER
+	select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC
+	select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC
 	help
 	  Some Atmel processors have AES hw accelerator.
 	  Select this if you want to use the Atmel module for
drivers/dma/dmatest.c +2 -0
index 0425984db118..62d9825a49e9 100644
@@ -1168,6 +1168,8 @@ static int dmatest_run_set(const char *val, const struct kernel_param *kp)
 	} else if (dmatest_run) {
 		if (!is_threaded_test_pending(info)) {
 			pr_info("No channels configured, continue with any\n");
+			if (!is_threaded_test_run(info))
+				stop_threaded_test(info);
 			add_threaded_test(info);
 		}
 		start_threaded_tests(info);
drivers/dma/dw/core.c +0 -12
index 21cb2a58dbd2..a1b56f52db2f 100644
@@ -118,16 +118,11 @@ static void dwc_initialize(struct dw_dma_chan *dwc)
 {
 	struct dw_dma *dw = to_dw_dma(dwc->chan.device);
 
-	if (test_bit(DW_DMA_IS_INITIALIZED, &dwc->flags))
-		return;
-
 	dw->initialize_chan(dwc);
 
 	/* Enable interrupts */
 	channel_set_bit(dw, MASK.XFER, dwc->mask);
 	channel_set_bit(dw, MASK.ERROR, dwc->mask);
-
-	set_bit(DW_DMA_IS_INITIALIZED, &dwc->flags);
 }
 
 /*----------------------------------------------------------------------*/
@@ -954,8 +949,6 @@ static void dwc_issue_pending(struct dma_chan *chan)
 
 void do_dw_dma_off(struct dw_dma *dw)
 {
-	unsigned int i;
-
 	dma_writel(dw, CFG, 0);
 
 	channel_clear_bit(dw, MASK.XFER, dw->all_chan_mask);
@@ -966,9 +959,6 @@ void do_dw_dma_off(struct dw_dma *dw)
 
 	while (dma_readl(dw, CFG) & DW_CFG_DMA_EN)
 		cpu_relax();
-
-	for (i = 0; i < dw->dma.chancnt; i++)
-		clear_bit(DW_DMA_IS_INITIALIZED, &dw->chan[i].flags);
 }
 
 void do_dw_dma_on(struct dw_dma *dw)
@@ -1032,8 +1022,6 @@ static void dwc_free_chan_resources(struct dma_chan *chan)
 	/* Clear custom channel configuration */
 	memset(&dwc->dws, 0, sizeof(struct dw_dma_slave));
 
-	clear_bit(DW_DMA_IS_INITIALIZED, &dwc->flags);
-
 	/* Disable interrupts */
 	channel_clear_bit(dw, MASK.XFER, dwc->mask);
 	channel_clear_bit(dw, MASK.BLOCK, dwc->mask);
drivers/dma/fsl-edma-common.h +1 -1
index 5eaa2902ed39..6ff7063a8a2f 100644
@@ -33,7 +33,7 @@
 #define EDMA_TCD_ATTR_DSIZE_16BIT	BIT(0)
 #define EDMA_TCD_ATTR_DSIZE_32BIT	BIT(1)
 #define EDMA_TCD_ATTR_DSIZE_64BIT	(BIT(0) | BIT(1))
-#define EDMA_TCD_ATTR_DSIZE_32BYTE	(BIT(3) | BIT(0))
+#define EDMA_TCD_ATTR_DSIZE_32BYTE	(BIT(2) | BIT(0))
 #define EDMA_TCD_ATTR_SSIZE_8BIT	0
 #define EDMA_TCD_ATTR_SSIZE_16BIT	(EDMA_TCD_ATTR_DSIZE_16BIT << 8)
 #define EDMA_TCD_ATTR_SSIZE_32BIT	(EDMA_TCD_ATTR_DSIZE_32BIT << 8)
drivers/dma/fsl-edma.c +7 -0
index b626c06ac2e0..6760ae4b2956 100644
@@ -45,6 +45,13 @@ static irqreturn_t fsl_edma_tx_handler(int irq, void *dev_id)
 			fsl_chan = &fsl_edma->chans[ch];
 
 			spin_lock(&fsl_chan->vchan.lock);
+
+			if (!fsl_chan->edesc) {
+				/* terminate_all called before */
+				spin_unlock(&fsl_chan->vchan.lock);
+				continue;
+			}
+
 			if (!fsl_chan->edesc->iscyclic) {
 				list_del(&fsl_chan->edesc->vdesc.node);
 				vchan_cookie_complete(&fsl_chan->edesc->vdesc);
drivers/dma/mcf-edma.c +7 -0
index e15bd15a9ef6..e12b754e6398 100644
@@ -35,6 +35,13 @@ static irqreturn_t mcf_edma_tx_handler(int irq, void *dev_id)
 			mcf_chan = &mcf_edma->chans[ch];
 
 			spin_lock(&mcf_chan->vchan.lock);
+
+			if (!mcf_chan->edesc) {
+				/* terminate_all called before */
+				spin_unlock(&mcf_chan->vchan.lock);
+				continue;
+			}
+
 			if (!mcf_chan->edesc->iscyclic) {
 				list_del(&mcf_chan->edesc->vdesc.node);
 				vchan_cookie_complete(&mcf_chan->edesc->vdesc);
drivers/dma/sh/usb-dmac.c +2 -0
index b218a013c260..8f7ceb698226 100644
@@ -586,6 +586,8 @@ static void usb_dmac_isr_transfer_end(struct usb_dmac_chan *chan)
 		desc->residue = usb_dmac_get_current_residue(chan, desc,
 							desc->sg_index - 1);
 		desc->done_cookie = desc->vd.tx.cookie;
+		desc->vd.tx_result.result = DMA_TRANS_NOERROR;
+		desc->vd.tx_result.residue = desc->residue;
 		vchan_cookie_complete(&desc->vd);
 
 		/* Restart the next transfer if this driver has a next desc */
drivers/gpio/gpio-pca953x.c +1 -0
index 81f5103dccb6..9a24dce3c262 100644
@@ -398,6 +398,7 @@ static const struct regmap_config pca953x_ai_i2c_regmap = {
 	.writeable_reg = pca953x_writeable_register,
 	.volatile_reg = pca953x_volatile_register,
 
+	.disable_locking = true,
 	.cache_type = REGCACHE_RBTREE,
 	.max_register = 0x7f,
 };
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +8 -18
index 23fc16dc92b4..465351184bc3 100644
@@ -286,30 +286,20 @@ static uint64_t sdma_v5_0_ring_get_rptr(struct amdgpu_ring *ring)
 static uint64_t sdma_v5_0_ring_get_wptr(struct amdgpu_ring *ring)
 {
 	struct amdgpu_device *adev = ring->adev;
-	u64 *wptr = NULL;
-	uint64_t local_wptr = 0;
+	u64 wptr;
 
 	if (ring->use_doorbell) {
 		/* XXX check if swapping is necessary on BE */
-		wptr = ((u64 *)&adev->wb.wb[ring->wptr_offs]);
-		DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", *wptr);
-		*wptr = (*wptr) >> 2;
-		DRM_DEBUG("wptr/doorbell after shift == 0x%016llx\n", *wptr);
+		wptr = READ_ONCE(*((u64 *)&adev->wb.wb[ring->wptr_offs]));
+		DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", wptr);
 	} else {
-		u32 lowbit, highbit;
-
-		wptr = &local_wptr;
-		lowbit = RREG32(sdma_v5_0_get_reg_offset(adev, ring->me, mmSDMA0_GFX_RB_WPTR)) >> 2;
-		highbit = RREG32(sdma_v5_0_get_reg_offset(adev, ring->me, mmSDMA0_GFX_RB_WPTR_HI)) >> 2;
-
-		DRM_DEBUG("wptr [%i]high== 0x%08x low==0x%08x\n",
-				ring->me, highbit, lowbit);
-		*wptr = highbit;
-		*wptr = (*wptr) << 32;
-		*wptr |= lowbit;
+		wptr = RREG32(sdma_v5_0_get_reg_offset(adev, ring->me, mmSDMA0_GFX_RB_WPTR_HI));
+		wptr = wptr << 32;
+		wptr |= RREG32(sdma_v5_0_get_reg_offset(adev, ring->me, mmSDMA0_GFX_RB_WPTR));
+		DRM_DEBUG("wptr before shift [%i] wptr == 0x%016llx\n", ring->me, wptr);
 	}
 
-	return *wptr;
+	return wptr >> 2;
 }
 
 /**
drivers/gpu/drm/exynos/exynos_drm_dma.c +2 -2
index 619f81435c1b..58b89ec11b0e 100644
@@ -61,7 +61,7 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
 				struct device *subdrv_dev, void **dma_priv)
 {
 	struct exynos_drm_private *priv = drm_dev->dev_private;
-	int ret;
+	int ret = 0;
 
 	if (get_dma_ops(priv->dma_dev) != get_dma_ops(subdrv_dev)) {
 		DRM_DEV_ERROR(subdrv_dev, "Device %s lacks support for IOMMU\n",
@@ -92,7 +92,7 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
 	if (ret)
 		clear_dma_max_seg_size(subdrv_dev);
 
-	return 0;
+	return ret;
 }
 
 /*
drivers/gpu/drm/exynos/exynos_drm_mic.c +3 -1
index b78e8c5ba553..2aff986add89 100644
@@ -268,8 +268,10 @@ static void mic_pre_enable(struct drm_bridge *bridge)
 		goto unlock;
 
 	ret = pm_runtime_get_sync(mic->dev);
-	if (ret < 0)
+	if (ret < 0) {
+		pm_runtime_put_noidle(mic->dev);
 		goto unlock;
+	}
 
 	mic_set_path(mic, 1);
 
drivers/gpu/drm/i915/gt/intel_lrc.c +1 -0
index 66f6d1a897f2..c169f0f70f3a 100644
@@ -3751,6 +3751,7 @@ intel_execlists_create_virtual(struct i915_gem_context *ctx,
 	intel_engine_init_active(&ve->base, ENGINE_VIRTUAL);
 
 	intel_engine_init_execlists(&ve->base);
+	ve->base.breadcrumbs.irq_armed = true; /* fake HW, used for irq_work */
 
 	ve->base.cops = &virtual_context_ops;
 	ve->base.request_alloc = execlists_request_alloc;
drivers/gpu/drm/i915/gvt/handlers.c +2 -2
index 25f78196b964..689b07bc91c4 100644
@@ -3103,8 +3103,8 @@ static int init_skl_mmio_info(struct intel_gvt *gvt)
 	MMIO_DFH(GEN9_WM_CHICKEN3, D_SKL_PLUS, F_MODE_MASK | F_CMD_ACCESS,
 		 NULL, NULL);
 
-	MMIO_D(GAMT_CHKN_BIT_REG, D_KBL);
-	MMIO_D(GEN9_CTX_PREEMPT_REG, D_KBL | D_SKL);
+	MMIO_D(GAMT_CHKN_BIT_REG, D_KBL | D_CFL);
+	MMIO_D(GEN9_CTX_PREEMPT_REG, D_SKL_PLUS);
 
 	return 0;
 }
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +2 -2
index edf7989d7a8e..99d449ce4a07 100644
@@ -2185,7 +2185,6 @@ int dpu_encoder_setup(struct drm_device *dev, struct drm_encoder *enc,
 
 	dpu_enc = to_dpu_encoder_virt(enc);
 
-	mutex_init(&dpu_enc->enc_lock);
 	ret = dpu_encoder_setup_display(dpu_enc, dpu_kms, disp_info);
 	if (ret)
 		goto fail;
@@ -2200,7 +2199,6 @@ int dpu_encoder_setup(struct drm_device *dev, struct drm_encoder *enc,
 				0);
 
 
-	mutex_init(&dpu_enc->rc_lock);
 	INIT_DELAYED_WORK(&dpu_enc->delayed_off_work,
 			dpu_encoder_off_work);
 	dpu_enc->idle_timeout = IDLE_TIMEOUT;
@@ -2245,6 +2243,8 @@ struct drm_encoder *dpu_encoder_init(struct drm_device *dev,
 
 	spin_lock_init(&dpu_enc->enc_spinlock);
 	dpu_enc->enabled = false;
+	mutex_init(&dpu_enc->enc_lock);
+	mutex_init(&dpu_enc->rc_lock);
 
 	return &dpu_enc->base;
 }
drivers/gpu/drm/msm/msm_submitqueue.c +3 -1
index 001fbf537440..a1d94be7883a 100644
@@ -71,8 +71,10 @@ int msm_submitqueue_create(struct drm_device *drm, struct msm_file_private *ctx,
 	queue->flags = flags;
 
 	if (priv->gpu) {
-		if (prio >= priv->gpu->nr_rings)
+		if (prio >= priv->gpu->nr_rings) {
+			kfree(queue);
 			return -EINVAL;
+		}
 
 		queue->prio = prio;
 	}
drivers/gpu/drm/sun4i/sun4i_tcon.c +2 -0
index 27c80c9e2b83..0f7eafedfe8f 100644
@@ -1504,6 +1504,8 @@ const struct of_device_id sun4i_tcon_of_table[] = {
 	{ .compatible = "allwinner,sun6i-a31-tcon", .data = &sun6i_a31_quirks },
 	{ .compatible = "allwinner,sun6i-a31s-tcon", .data = &sun6i_a31s_quirks },
 	{ .compatible = "allwinner,sun7i-a20-tcon", .data = &sun7i_a20_quirks },
+	{ .compatible = "allwinner,sun7i-a20-tcon0", .data = &sun7i_a20_quirks },
+	{ .compatible = "allwinner,sun7i-a20-tcon1", .data = &sun7i_a20_quirks },
 	{ .compatible = "allwinner,sun8i-a23-tcon", .data = &sun8i_a33_quirks },
 	{ .compatible = "allwinner,sun8i-a33-tcon", .data = &sun8i_a33_quirks },
 	{ .compatible = "allwinner,sun8i-a83t-tcon-lcd", .data = &sun8i_a83t_lcd_quirks },
drivers/hid/hid-ids.h +3 -0
index c552a6bc627e..73e4590ea9c9 100644
@@ -620,6 +620,7 @@
 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081	0xa081
 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0C2	0xa0c2
 #define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096	0xa096
+#define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A293	0xa293
 
 #define USB_VENDOR_ID_IMATION		0x0718
 #define USB_DEVICE_ID_DISC_STAKKA	0xd000
@@ -995,6 +996,8 @@
 #define USB_DEVICE_ID_ROCCAT_RYOS_MK_PRO	0x3232
 #define USB_DEVICE_ID_ROCCAT_SAVU	0x2d5a
 
+#define USB_VENDOR_ID_SAI		0x17dd
+
 #define USB_VENDOR_ID_SAITEK		0x06a3
 #define USB_DEVICE_ID_SAITEK_RUMBLEPAD	0xff17
 #define USB_DEVICE_ID_SAITEK_PS1000	0x0621
drivers/hid/hid-logitech-hidpp.c +1 -1
index cd9193078525..60cf80606282 100644
@@ -2964,7 +2964,7 @@ static int hi_res_scroll_enable(struct hidpp_device *hidpp)
 		multiplier = 1;
 
 	hidpp->vertical_wheel_counter.wheel_multiplier = multiplier;
-	hid_info(hidpp->hid_dev, "multiplier = %d\n", multiplier);
+	hid_dbg(hidpp->hid_dev, "wheel multiplier = %d\n", multiplier);
 	return 0;
 }
 
drivers/hid/hid-magicmouse.c +6 -0
index 34138667f8af..abd86903875f 100644
@@ -535,6 +535,12 @@ static int magicmouse_setup_input(struct input_dev *input, struct hid_device *hd
 		__set_bit(MSC_RAW, input->mscbit);
 	}
 
+	/*
+	 * hid-input may mark device as using autorepeat, but neither
+	 * the trackpad, nor the mouse actually want it.
+	 */
+	__clear_bit(EV_REP, input->evbit);
+
 	return 0;
 }
 
drivers/hid/hid-quirks.c +2 -3
index 168fdaa1999f..a49fa2b047cb 100644
@@ -88,6 +88,7 @@ static const struct hid_device_id hid_quirks[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING), HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING), HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096), HID_QUIRK_NO_INIT_REPORTS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A293), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_LOGITECH_OEM_USB_OPTICAL_MOUSE_0A4A), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_LOGITECH_OEM_USB_OPTICAL_MOUSE_0B4A), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
@@ -400,9 +401,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0C2) },
 #endif
-#if IS_ENABLED(CONFIG_HID_ITE)
-	{ HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE8595) },
-#endif
 #if IS_ENABLED(CONFIG_HID_ICADE)
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ION, USB_DEVICE_ID_ICADE) },
 #endif
@@ -842,6 +840,7 @@ static const struct hid_device_id hid_ignore_list[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PETZL, USB_DEVICE_ID_PETZL_HEADLAMP) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_SAI, USB_DEVICE_ID_CYPRESS_HIDCOM) },
 #if IS_ENABLED(CONFIG_MOUSE_SYNAPTICS_USB)
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_INT_TP) },
drivers/hwmon/emc2103.c +1 -1
index 491a570e8e50..924c02c1631d 100644
@@ -443,7 +443,7 @@ static ssize_t pwm1_enable_store(struct device *dev,
 	}
 
 	result = read_u8_from_i2c(client, REG_FAN_CONF1, &conf_reg);
-	if (result) {
+	if (result < 0) {
 		count = result;
 		goto err;
 	}
drivers/hwtracing/intel_th/core.c +18 -3
index ca232ec565e8..c9ac3dc65113 100644
@@ -1021,15 +1021,30 @@ int intel_th_set_output(struct intel_th_device *thdev,
 {
 	struct intel_th_device *hub = to_intel_th_hub(thdev);
 	struct intel_th_driver *hubdrv = to_intel_th_driver(hub->dev.driver);
+	int ret;
 
 	/* In host mode, this is up to the external debugger, do nothing. */
 	if (hub->host_mode)
 		return 0;
 
-	if (!hubdrv->set_output)
-		return -ENOTSUPP;
+	/*
+	 * hub is instantiated together with the source device that
+	 * calls here, so guaranteed to be present.
+	 */
+	hubdrv = to_intel_th_driver(hub->dev.driver);
+	if (!hubdrv || !try_module_get(hubdrv->driver.owner))
+		return -EINVAL;
+
+	if (!hubdrv->set_output) {
+		ret = -ENOTSUPP;
+		goto out;
+	}
+
+	ret = hubdrv->set_output(hub, master);
 
-	return hubdrv->set_output(hub, master);
+out:
+	module_put(hubdrv->driver.owner);
+	return ret;
 }
 EXPORT_SYMBOL_GPL(intel_th_set_output);
 
drivers/hwtracing/intel_th/pci.c +15 -0
index 86aa6a46bcba..0d26484d6795 100644
@@ -229,11 +229,21 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa0a6),
 		.driver_data = (kernel_ulong_t)&intel_th_2x,
 	},
+	{
+		/* Tiger Lake PCH-H */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x43a6),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
 	{
 		/* Jasper Lake PCH */
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4da6),
 		.driver_data = (kernel_ulong_t)&intel_th_2x,
 	},
+	{
+		/* Jasper Lake CPU */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4e29),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
 	{
 		/* Elkhart Lake CPU */
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4529),
@@ -244,6 +254,11 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4b26),
 		.driver_data = (kernel_ulong_t)&intel_th_2x,
 	},
+	{
+		/* Emmitsburg PCH */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x1bcc),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
 	{ 0 },
 };
 
drivers/hwtracing/intel_th/sth.c +1 -3
index 3a1f4e650378..a1529f571491 100644
@@ -161,9 +161,7 @@ static int sth_stm_link(struct stm_data *stm_data, unsigned int master,
 {
 	struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
 
-	intel_th_set_output(to_intel_th_device(sth->dev), master);
-
-	return 0;
+	return intel_th_set_output(to_intel_th_device(sth->dev), master);
 }
 
 static int intel_th_sw_init(struct sth_device *sth)
drivers/i2c/busses/i2c-eg20t.c +1 -0
index bb810dee8fb5..73f139690e4e 100644
@@ -180,6 +180,7 @@ static const struct pci_device_id pch_pcidev_id[] = {
 	{ PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_I2C), 1, },
 	{0,}
 };
+MODULE_DEVICE_TABLE(pci, pch_pcidev_id);
 
 static irqreturn_t pch_i2c_handler(int irq, void *pData);
 
drivers/iio/accel/mma8452.c +4 -1
index 00e100fc845a..813bca7cfc3e 100644
@@ -1685,10 +1685,13 @@ static int mma8452_probe(struct i2c_client *client,
 
 	ret = mma8452_set_freefall_mode(data, false);
 	if (ret < 0)
-		goto buffer_cleanup;
+		goto unregister_device;
 
 	return 0;
 
+unregister_device:
+	iio_device_unregister(indio_dev);
+
 buffer_cleanup:
 	iio_triggered_buffer_cleanup(indio_dev);
 
drivers/iio/adc/ad7780.c +1 -1
index 217a5a5c3c6d..7e741294de7b 100644
@@ -309,7 +309,7 @@ static int ad7780_probe(struct spi_device *spi)
 
 	ret = ad7780_init_gpios(&spi->dev, st);
 	if (ret)
-		goto error_cleanup_buffer_and_trigger;
+		return ret;
 
 	st->reg = devm_regulator_get(&spi->dev, "avdd");
 	if (IS_ERR(st->reg))
drivers/iio/health/afe4403.c +8 -5
index dc22dc363a99..29104656a537 100644
@@ -63,6 +63,7 @@ static const struct reg_field afe4403_reg_fields[] = {
  * @regulator: Pointer to the regulator for the IC
  * @trig: IIO trigger for this device
  * @irq: ADC_RDY line interrupt number
+ * @buffer: Used to construct data layout to push into IIO buffer.
  */
 struct afe4403_data {
 	struct device *dev;
@@ -72,6 +73,8 @@ struct afe4403_data {
 	struct regulator *regulator;
 	struct iio_trigger *trig;
 	int irq;
+	/* Ensure suitable alignment for timestamp */
+	s32 buffer[8] __aligned(8);
 };
 
 enum afe4403_chan_id {
@@ -309,7 +312,6 @@ static irqreturn_t afe4403_trigger_handler(int irq, void *private)
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct afe4403_data *afe = iio_priv(indio_dev);
 	int ret, bit, i = 0;
-	s32 buffer[8];
 	u8 tx[4] = {AFE440X_CONTROL0, 0x0, 0x0, AFE440X_CONTROL0_READ};
 	u8 rx[3];
 
@@ -326,9 +328,9 @@ static irqreturn_t afe4403_trigger_handler(int irq, void *private)
 		if (ret)
 			goto err;
 
-		buffer[i++] = (rx[0] << 16) |
-				(rx[1] << 8) |
-				(rx[2]);
+		afe->buffer[i++] = (rx[0] << 16) |
+				   (rx[1] << 8) |
+				   (rx[2]);
 	}
 
 	/* Disable reading from the device */
@@ -337,7 +339,8 @@ static irqreturn_t afe4403_trigger_handler(int irq, void *private)
 	if (ret)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, buffer, pf->timestamp);
+	iio_push_to_buffers_with_timestamp(indio_dev, afe->buffer,
+					   pf->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
 
drivers/iio/health/afe4404.c +5 -3
index e728bbb21ca8..cebb1fd4d0b1 100644
@@ -83,6 +83,7 @@ static const struct reg_field afe4404_reg_fields[] = {
  * @regulator: Pointer to the regulator for the IC
  * @trig: IIO trigger for this device
  * @irq: ADC_RDY line interrupt number
+ * @buffer: Used to construct a scan to push to the iio buffer.
  */
 struct afe4404_data {
 	struct device *dev;
@@ -91,6 +92,7 @@ struct afe4404_data {
 	struct regulator *regulator;
 	struct iio_trigger *trig;
 	int irq;
+	s32 buffer[10] __aligned(8);
 };
 
 enum afe4404_chan_id {
@@ -328,17 +330,17 @@ static irqreturn_t afe4404_trigger_handler(int irq, void *private)
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct afe4404_data *afe = iio_priv(indio_dev);
 	int ret, bit, i = 0;
-	s32 buffer[10];
 
 	for_each_set_bit(bit, indio_dev->active_scan_mask,
 			 indio_dev->masklength) {
 		ret = regmap_read(afe->regmap, afe4404_channel_values[bit],
-				  &buffer[i++]);
+				  &afe->buffer[i++]);
 		if (ret)
 			goto err;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, buffer, pf->timestamp);
+	iio_push_to_buffers_with_timestamp(indio_dev, afe->buffer,
+					   pf->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
 
drivers/iio/humidity/hdc100x.c +7 -3
index dcf5a5bdfaa8..7618cdf59efd 100644
@@ -38,6 +38,11 @@ struct hdc100x_data {
 
 	/* integration time of the sensor */
 	int adc_int_us[2];
+	/* Ensure natural alignment of timestamp */
+	struct {
+		__be16 channels[2];
+		s64 ts __aligned(8);
+	} scan;
 };
 
 /* integration time in us */
@@ -319,7 +324,6 @@ static irqreturn_t hdc100x_trigger_handler(int irq, void *p)
 	struct i2c_client *client = data->client;
 	int delay = data->adc_int_us[0] + data->adc_int_us[1];
 	int ret;
-	s16 buf[8];  /* 2x s16 + padding + 8 byte timestamp */
 
 	/* dual read starts at temp register */
 	mutex_lock(&data->lock);
@@ -330,13 +334,13 @@ static irqreturn_t hdc100x_trigger_handler(int irq, void *p)
 	}
 	usleep_range(delay, delay + 1000);
 
-	ret = i2c_master_recv(client, (u8 *)buf, 4);
+	ret = i2c_master_recv(client, (u8 *)data->scan.channels, 4);
 	if (ret < 0) {
 		dev_err(&client->dev, "cannot read sensor data\n");
 		goto err;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, buf,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   iio_get_time_ns(indio_dev));
 err:
 	mutex_unlock(&data->lock);
drivers/iio/humidity/hts221.h +5 -2
index 7d6771f7cf47..b2eb5abeaccd 100644
@@ -14,8 +14,6 @@
 
 #include <linux/iio/iio.h>
 
-#define HTS221_DATA_SIZE	2
-
 enum hts221_sensor_type {
 	HTS221_SENSOR_H,
 	HTS221_SENSOR_T,
@@ -39,6 +37,11 @@ struct hts221_hw {
 
 	bool enabled;
 	u8 odr;
+	/* Ensure natural alignment of timestamp */
+	struct {
+		__le16 channels[2];
+		s64 ts __aligned(8);
+	} scan;
 };
 
 extern const struct dev_pm_ops hts221_pm_ops;
drivers/iio/humidity/hts221_buffer.c +5 -4
index 81d50a861c22..49dcd36d8838 100644
@@ -162,7 +162,6 @@ static const struct iio_buffer_setup_ops hts221_buffer_ops = {
 
 static irqreturn_t hts221_buffer_handler_thread(int irq, void *p)
 {
-	u8 buffer[ALIGN(2 * HTS221_DATA_SIZE, sizeof(s64)) + sizeof(s64)];
 	struct iio_poll_func *pf = p;
 	struct iio_dev *iio_dev = pf->indio_dev;
 	struct hts221_hw *hw = iio_priv(iio_dev);
@@ -172,18 +171,20 @@ static irqreturn_t hts221_buffer_handler_thread(int irq, void *p)
 	/* humidity data */
 	ch = &iio_dev->channels[HTS221_SENSOR_H];
 	err = regmap_bulk_read(hw->regmap, ch->address,
-			       buffer, HTS221_DATA_SIZE);
+			       &hw->scan.channels[0],
+			       sizeof(hw->scan.channels[0]));
 	if (err < 0)
 		goto out;
 
 	/* temperature data */
 	ch = &iio_dev->channels[HTS221_SENSOR_T];
 	err = regmap_bulk_read(hw->regmap, ch->address,
-			       buffer + HTS221_DATA_SIZE, HTS221_DATA_SIZE);
+			       &hw->scan.channels[1],
+			       sizeof(hw->scan.channels[1]));
 	if (err < 0)
 		goto out;
 
-	iio_push_to_buffers_with_timestamp(iio_dev, buffer,
+	iio_push_to_buffers_with_timestamp(iio_dev, &hw->scan,
 					   iio_get_time_ns(iio_dev));
 
 out:
drivers/iio/industrialio-core.c +2 -0
index 524a686077ca..485b2e6748c5 100644
@@ -130,6 +130,8 @@ static const char * const iio_modifier_names[] = {
 	[IIO_MOD_PM2P5] = "pm2p5",
 	[IIO_MOD_PM4] = "pm4",
 	[IIO_MOD_PM10] = "pm10",
+	[IIO_MOD_ETHANOL] = "ethanol",
+	[IIO_MOD_H2] = "h2",
 };
 
 /* relies on pairs of these shared then separate */
drivers/iio/magnetometer/ak8974.c +17 -12
index d32996702110..87c15a63c1a4 100644
@@ -185,6 +185,11 @@ struct ak8974 {
 	bool drdy_irq;
 	struct completion drdy_complete;
 	bool drdy_active_low;
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		__le16 channels[3];
+		s64 ts __aligned(8);
+	} scan;
 };
 
 static const char ak8974_reg_avdd[] = "avdd";
@@ -581,7 +586,6 @@ static void ak8974_fill_buffer(struct iio_dev *indio_dev)
 {
 	struct ak8974 *ak8974 = iio_priv(indio_dev);
 	int ret;
-	__le16 hw_values[8]; /* Three axes + 64bit padding */
 
 	pm_runtime_get_sync(&ak8974->i2c->dev);
 	mutex_lock(&ak8974->lock);
@@ -591,13 +595,13 @@ static void ak8974_fill_buffer(struct iio_dev *indio_dev)
 		dev_err(&ak8974->i2c->dev, "error triggering measure\n");
 		goto out_unlock;
 	}
-	ret = ak8974_getresult(ak8974, hw_values);
+	ret = ak8974_getresult(ak8974, ak8974->scan.channels);
 	if (ret) {
 		dev_err(&ak8974->i2c->dev, "error getting measures\n");
 		goto out_unlock;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, hw_values,
+	iio_push_to_buffers_with_timestamp(indio_dev, &ak8974->scan,
 					   iio_get_time_ns(indio_dev));
 
  out_unlock:
@@ -764,19 +768,21 @@ static int ak8974_probe(struct i2c_client *i2c,
 	ak8974->map = devm_regmap_init_i2c(i2c, &ak8974_regmap_config);
 	if (IS_ERR(ak8974->map)) {
 		dev_err(&i2c->dev, "failed to allocate register map\n");
+		pm_runtime_put_noidle(&i2c->dev);
+		pm_runtime_disable(&i2c->dev);
 		return PTR_ERR(ak8974->map);
 	}
 
 	ret = ak8974_set_power(ak8974, AK8974_PWR_ON);
 	if (ret) {
 		dev_err(&i2c->dev, "could not power on\n");
-		goto power_off;
+		goto disable_pm;
 	}
 
 	ret = ak8974_detect(ak8974);
 	if (ret) {
 		dev_err(&i2c->dev, "neither AK8974 nor AMI30x found\n");
-		goto power_off;
+		goto disable_pm;
 	}
 
 	ret = ak8974_selftest(ak8974);
@@ -786,14 +792,9 @@ static int ak8974_probe(struct i2c_client *i2c,
 	ret = ak8974_reset(ak8974);
 	if (ret) {
 		dev_err(&i2c->dev, "AK8974 reset failed\n");
-		goto power_off;
+		goto disable_pm;
 	}
 
-	pm_runtime_set_autosuspend_delay(&i2c->dev,
-					 AK8974_AUTOSUSPEND_DELAY);
-	pm_runtime_use_autosuspend(&i2c->dev);
-	pm_runtime_put(&i2c->dev);
-
 	indio_dev->dev.parent = &i2c->dev;
 	indio_dev->channels = ak8974_channels;
 	indio_dev->num_channels = ARRAY_SIZE(ak8974_channels);
@@ -846,6 +847,11 @@ static int ak8974_probe(struct i2c_client *i2c,
 		goto cleanup_buffer;
 	}
 
+	pm_runtime_set_autosuspend_delay(&i2c->dev,
+					 AK8974_AUTOSUSPEND_DELAY);
+	pm_runtime_use_autosuspend(&i2c->dev);
+	pm_runtime_put(&i2c->dev);
+
 	return 0;
 
 cleanup_buffer:
@@ -854,7 +860,6 @@ static int ak8974_probe(struct i2c_client *i2c,
 	pm_runtime_put_noidle(&i2c->dev);
 	pm_runtime_disable(&i2c->dev);
 	ak8974_set_power(ak8974, AK8974_PWR_OFF);
-power_off:
 	regulator_bulk_disable(ARRAY_SIZE(ak8974->regs), ak8974->regs);
 
 	return ret;
drivers/iio/pressure/ms5611_core.c +8 -3
index 2f598ad91621..f5db9fa086f3 100644
@@ -212,16 +212,21 @@ static irqreturn_t ms5611_trigger_handler(int irq, void *p)
 	struct iio_poll_func *pf = p;
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct ms5611_state *st = iio_priv(indio_dev);
-	s32 buf[4]; /* s32 (pressure) + s32 (temp) + 2 * s32 (timestamp) */
+	/* Ensure buffer elements are naturally aligned */
+	struct {
+		s32 channels[2];
+		s64 ts __aligned(8);
+	} scan;
 	int ret;
 
 	mutex_lock(&st->lock);
-	ret = ms5611_read_temp_and_pressure(indio_dev, &buf[1], &buf[0]);
+	ret = ms5611_read_temp_and_pressure(indio_dev, &scan.channels[1],
+					    &scan.channels[0]);
 	mutex_unlock(&st->lock);
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, buf,
+	iio_push_to_buffers_with_timestamp(indio_dev, &scan,
 					   iio_get_time_ns(indio_dev));
 
 err:
drivers/iio/pressure/zpa2326.c +3 -1
index 9d0d07930236..7f2e5a8942a4 100644
@@ -664,8 +664,10 @@ static int zpa2326_resume(const struct iio_dev *indio_dev)
 	int err;
 
 	err = pm_runtime_get_sync(indio_dev->dev.parent);
-	if (err < 0)
+	if (err < 0) {
+		pm_runtime_put(indio_dev->dev.parent);
 		return err;
+	}
 
 	if (err > 0) {
 		/*
drivers/infiniband/hw/mlx5/qp.c +2 -0
index 96edc5c30204..09e29c6cb66d 100644
@@ -1463,6 +1463,8 @@ static int create_raw_packet_qp(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
 	u16 uid = to_mpd(pd)->uid;
 	u32 out[MLX5_ST_SZ_DW(create_tir_out)] = {};
 
+	if (!qp->sq.wqe_cnt && !qp->rq.wqe_cnt)
+		return -EINVAL;
 	if (qp->sq.wqe_cnt) {
 		err = create_raw_packet_qp_tis(dev, qp, sq, tdn, pd);
 		if (err)
drivers/input/serio/i8042-x86ia64io.h +7 -0
index 7e048b557462..858a26302198 100644
@@ -425,6 +425,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "076804U"),
 		},
 	},
+	{
+		/* Lenovo XiaoXin Air 12 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "80UN"),
+		},
+	},
 	{
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
drivers/input/touchscreen/goodix.c +22 -0
index 0403102e807e..37b35ab97beb 100644
@@ -168,6 +168,22 @@ static const struct dmi_system_id nine_bytes_report[] = {
 	{}
 };
 
+/*
+ * Those tablets have their x coordinate inverted
+ */
+static const struct dmi_system_id inverted_x_screen[] = {
+#if defined(CONFIG_DMI) && defined(CONFIG_X86)
+	{
+		.ident = "Cube I15-TC",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Cube"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "I15-TC")
+		},
+	},
+#endif
+	{}
+};
+
 /**
  * goodix_i2c_read - read data from a register of the i2c slave device.
  *
@@ -780,6 +796,12 @@ static int goodix_configure_dev(struct goodix_ts_data *ts)
 			"Non-standard 9-bytes report format quirk\n");
 	}
 
+	if (dmi_check_system(inverted_x_screen)) {
+		ts->prop.invert_x = true;
+		dev_dbg(&ts->client->dev,
+			"Applying 'inverted x screen' quirk\n");
+	}
+
 	error = input_mt_init_slots(ts->input_dev, ts->max_touch_num,
 				    INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED);
 	if (error) {
drivers/input/touchscreen/mms114.c +15 -2
index fca908ba4841..fb28fd2d6f1c 100644
@@ -54,6 +54,7 @@
 enum mms_type {
 	TYPE_MMS114	= 114,
 	TYPE_MMS152	= 152,
+	TYPE_MMS345L	= 345,
 };
 
 struct mms114_data {
@@ -250,6 +251,15 @@ static int mms114_get_version(struct mms114_data *data)
 	int error;
 
 	switch (data->type) {
+	case TYPE_MMS345L:
+		error = __mms114_read_reg(data, MMS152_FW_REV, 3, buf);
+		if (error)
+			return error;
+
+		dev_info(dev, "TSP FW Rev: bootloader 0x%x / core 0x%x / config 0x%x\n",
+			 buf[0], buf[1], buf[2]);
+		break;
+
 	case TYPE_MMS152:
 		error = __mms114_read_reg(data, MMS152_FW_REV, 3, buf);
 		if (error)
@@ -287,8 +297,8 @@ static int mms114_setup_regs(struct mms114_data *data)
 	if (error < 0)
 		return error;
 
-	/* MMS152 has no configuration or power on registers */
-	if (data->type == TYPE_MMS152)
+	/* Only MMS114 has configuration and power on registers */
+	if (data->type != TYPE_MMS114)
 		return 0;
 
 	error = mms114_set_active(data, true);
@@ -598,6 +608,9 @@ static const struct of_device_id mms114_dt_match[] = {
 	}, {
 		.compatible = "melfas,mms152",
 		.data = (void *)TYPE_MMS152,
+	}, {
+		.compatible = "melfas,mms345l",
+		.data = (void *)TYPE_MMS345L,
 	},
 	{ }
 };
drivers/iommu/Kconfig +1 -1
index e3842eabcfdd..390568afee9f 100644
@@ -205,7 +205,7 @@ config INTEL_IOMMU_DEBUGFS
 
 config INTEL_IOMMU_SVM
 	bool "Support for Shared Virtual Memory with Intel IOMMU"
-	depends on INTEL_IOMMU && X86
+	depends on INTEL_IOMMU && X86_64
 	select PCI_PASID
 	select MMU_NOTIFIER
 	help
drivers/misc/atmel-ssc.c +12 -12
index ab4144ea1f11..d6cd5537126c 100644
@@ -10,7 +10,7 @@
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/io.h>
-#include <linux/spinlock.h>
+#include <linux/mutex.h>
 #include <linux/atmel-ssc.h>
 #include <linux/slab.h>
 #include <linux/module.h>
@@ -20,7 +20,7 @@
 #include "../../sound/soc/atmel/atmel_ssc_dai.h"
 
 /* Serialize access to ssc_list and user count */
-static DEFINE_SPINLOCK(user_lock);
+static DEFINE_MUTEX(user_lock);
 static LIST_HEAD(ssc_list);
 
 struct ssc_device *ssc_request(unsigned int ssc_num)
@@ -28,7 +28,7 @@ struct ssc_device *ssc_request(unsigned int ssc_num)
 	int ssc_valid = 0;
 	struct ssc_device *ssc;
 
-	spin_lock(&user_lock);
+	mutex_lock(&user_lock);
[… more lines in the raw message]

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

drivers/misc/habanalabs/goya/goya_security.c +98 -1

99 lines not on this page · raw message

drivers/misc/mei/bus.c +1 -2
index 53bb394ccba6..cef97a7eb8b6 100644

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

drivers/mmc/host/mmci.c +30 -4
index c37e70dbe250..7e4bc9124efd 100644

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

drivers/mmc/host/mmci.h +7 -1
index 833236ecb31e..89ab73343cf3 100644

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

drivers/mmc/host/sdhci.c +1 -1
index 50514fedbc76..136f9737713d 100644

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

drivers/mtd/nand/raw/brcmnand/brcmnand.c +14 -10
index 4fef20724175..e9ad8bb82f44 100644

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

drivers/mtd/nand/raw/marvell_nand.c +16 -11
index fc49e13d81ec..ee4afa17d8a3 100644

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

drivers/mtd/nand/raw/nand_timings.c +2 -3
index f64b06a71dfa..f12b7a7844c9 100644

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

drivers/mtd/nand/raw/oxnas_nand.c +18 -6
index 0429d218fd9f..23c222b6c40e 100644

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

drivers/net/dsa/bcm_sf2.c +2 -0
index 9502db66092e..b16aea0e3999 100644

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

drivers/net/dsa/microchip/ksz8795.c +3 -0
index 84c4319e3b31..8d50aacd19e5 100644

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

drivers/net/dsa/microchip/ksz9477.c +3 -0
index 3afb596d8e43..f600874e2476 100644

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

drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c +2 -2
index 6f340695e6bd..774e48b3f904 100644

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

drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh_internal.h +1 -1
index 35887ad89025..dd8d591404be 100644

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

drivers/net/ethernet/cadence/macb_main.c +5 -1
index 01ed4d4296db..a5c4d4d66df3 100644

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

drivers/net/ethernet/marvell/mvneta.c +20 -4
index ffdb7b113f17..ccb2abd18d6c 100644

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

drivers/net/ethernet/pensando/ionic/ionic_lif.c +1 -0
index 134640412d7b..d5b0bf54f961 100644

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

drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c +12 -7
index 02cdbb22d335..18d88b424828 100644

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

drivers/net/phy/sfp-bus.c +79 -0

79 lines not on this page · raw message

drivers/net/usb/qmi_wwan.c +1 -0
index 4a2c7355be63..e57d59b0a7ae 100644

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

drivers/of/of_mdio.c +7 -2
index c34a6df712ad..26ddb4cc675a 100644

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

drivers/pci/pci.c +3 -1
index 689f0280c038..08f7b1ed8c62 100644

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

drivers/phy/allwinner/phy-sun4i-usb.c +3 -2
index 856927382248..e5842e48a5e0 100644

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

drivers/scsi/Kconfig +0 -9
index 90cf4691b8c3..9ea30fcb4428 100644

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

drivers/scsi/megaraid/megaraid_sas_fusion.c +0 -2
index 3d48024082ba..5bcef9769740 100644

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

drivers/scsi/sr_vendor.c +0 -8
index e3b0ce25162b..b9db2ec6d036 100644

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

drivers/slimbus/core.c +1 -0
index 526e3215d8fe..63ee96eb58c6 100644

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

drivers/soc/qcom/rpmh-rsc.c +64 -34

98 lines not on this page · raw message

drivers/soc/qcom/rpmh.c +27 -29

56 lines not on this page · raw message

drivers/soc/qcom/socinfo.c +2 -0
index a39ea5061dc5..176696f8f38d 100644

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

drivers/soundwire/intel.c +3 -2
index d1839707128a..243af8198d1c 100644

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

drivers/spi/spi-fsl-dspi.c +1 -14
index 3e0e27731922..c7560d7d1627 100644

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

drivers/spi/spi-sprd-adi.c +1 -1
index 9613cfe3c0a2..09f983524d51 100644

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

drivers/spi/spi-sun6i.c +6 -8
index ec7967be9e2f..956df79035d5 100644

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

drivers/staging/comedi/drivers/addi_apci_1500.c +7 -3
index 45ad4ba92f94..689acd69a1b9 100644

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

drivers/thermal/cpu_cooling.c +3 -3
index 6b9865c786ba..c37886a26712 100644

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

drivers/thermal/imx_thermal.c +4 -3
index bb6754a5342c..85511c1160b7 100644

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

drivers/thermal/intel/int340x_thermal/int3403_thermal.c +1 -1
index a7bbd8584ae2..e7b6f6f256a9 100644

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

drivers/thermal/mtk_thermal.c +2 -4
index d6fabd0a7da6..2783973b101c 100644

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

drivers/tty/serial/mxs-auart.c +8 -4
index e34525970682..5d483e996514 100644

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

drivers/tty/serial/xilinx_uartps.c +0 -1
index 3cb9aacfe0b2..fe098cf14e6a 100644

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

drivers/uio/uio_pdrv_genirq.c +2 -2
index 1303b165055b..538adf9c47bb 100644

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

drivers/usb/c67x00/c67x00-sched.c +1 -1
index 633c52de3bb3..9865750bc31e 100644

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

drivers/usb/chipidea/core.c +24 -0
index 98ee575ee500..b7da2a273c45 100644

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

drivers/usb/dwc2/platform.c +2 -1
index 15e55808cf4e..4e14c4f7fed7 100644

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

drivers/usb/gadget/function/f_uac1_legacy.c +2 -0
index 6677ae932de0..06ee6e901808 100644

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

drivers/usb/gadget/udc/atmel_usba_udc.c +1 -1
index 58e5b015d40e..bebe814f55e6 100644

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

drivers/usb/host/ehci-platform.c +0 -4
index e9a49007cce4..e4fc3f66d43b 100644

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

drivers/usb/host/ohci-platform.c +0 -5
index 4a8456f12a73..7addfc2cbadc 100644

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

drivers/usb/host/xhci-plat.c +1 -9
index 60d06e9b600f..52c625c02341 100644

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

drivers/usb/serial/ch341.c +1 -0
index dcdd541b3291..390bc4b25045 100644

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

drivers/usb/serial/cypress_m8.c +2 -0
index 216edd5826ca..ecda82198798 100644

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

drivers/usb/serial/cypress_m8.h +3 -0
index 35e223751c0e..16b7410ad057 100644

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

drivers/usb/serial/iuu_phoenix.c +5 -3
index d5bff69b1769..b8dfeb4fb2ed 100644

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

drivers/usb/serial/option.c +6 -0
index 254a8bbeea67..9b7cee98ea60 100644

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

drivers/virt/vboxguest/vboxguest_core.c +4 -2
index 2307b0329aec..95bfdb8ac8a2 100644

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

drivers/virt/vboxguest/vboxguest_core.h +15 -0
index 4188c12b839f..77c3a9c8255d 100644

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

drivers/virt/vboxguest/vboxguest_linux.c +2 -1
index 6e8c0f1c1056..32c2c52f7e84 100644

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

drivers/virt/vboxguest/vmmdev.h +2 -0
index 6337b8d75d96..21f408120e3f 100644

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

fs/cifs/transport.c +1 -1
index fe1552cc8a0a..eafc49de4d7f 100644

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

fs/fuse/file.c +11 -3
index 66214707a945..f8d8a8e34b80 100644

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

fs/fuse/inode.c +12 -3
index 16aec32f7f3d..5dca643a257c 100644

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

fs/gfs2/ops_fstype.c +11 -1
index c26c864590cc..e0c55765b06d 100644

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

fs/nfs/nfs4proc.c +18 -2
index 33c17c69aeaa..1a1bd2fe6e98 100644

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

fs/overlayfs/export.c +1 -1
index 73c9775215b3..11dd8177770d 100644

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

fs/overlayfs/file.c +6 -4
index 15e4fa288475..7a08a576f7b2 100644

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

fs/overlayfs/super.c +22 -1
index 7621ff176d15..d6b724beb304 100644

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

include/linux/blkdev.h +1 -0
index bff1def62eed..d5338b9ee550 100644

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

include/linux/cgroup-defs.h +6 -2
index 430e219e3aba..1ccfa3779e18 100644

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

include/linux/cgroup.h +3 -1
index 57577075d204..202852383ae9 100644

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

include/linux/if_vlan.h +22 -7
index b05e855f1ddd..41a518336673 100644

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

include/linux/input/elan-i2c-ids.h +7 -0
index 1ecb6b45812c..520858d12680 100644

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

include/linux/platform_data/ti-sysc.h +1 -0
index 2cbde6542849..5fcc9bc9e751 100644

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

include/net/dst.h +9 -1
index 3448cf865ede..433f7c1ce8a9 100644

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

include/net/genetlink.h +0 -8
index 9292f1c588b7..2d9e67a69cbe 100644

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

include/net/inet_ecn.h +17 -8
index 0f0d1efe06dd..e1eaf1780288 100644

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

include/net/pkt_sched.h +0 -11
index 6a70845bd9ab..cee1c084e9f4 100644

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

include/trace/events/rxrpc.h +1 -1
index ba9efdc848f9..059b6e45a028 100644

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

include/uapi/linux/vboxguest.h +2 -2
index 9cec58a6a5ea..f79d7abe27db 100644

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

kernel/cgroup/cgroup.c +19 -12
index 7c9e97553a00..35faf082a709 100644

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

kernel/irq/manage.c +35 -2
index b304c17d53a3..df73685de114 100644

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

kernel/sched/core.c +2 -0
index 8b3e99d095ae..38ae3cf9d173 100644

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

kernel/sched/fair.c +14 -2
index 2f81e4ae844e..9b16080093be 100644

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

kernel/time/timer.c +16 -5
index 4820823515e9..1e9b81a930c0 100644

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

net/bridge/br_multicast.c +1 -1
index ad12fe3fca8c..ee2902b51d45 100644

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

net/ceph/osd_client.c +1 -0
index e513b8876d13..a8481da37f1a 100644

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

net/core/filter.c +7 -3
index a0a492f7cf9c..bd1e46d61d8a 100644

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

net/core/sock.c +1 -1
index 078791a6649a..33a232974374 100644

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

net/ipv4/icmp.c +2 -2
index ac95ba78b903..73f46cb5e51d 100644

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

net/ipv4/ip_output.c +1 -1
index b268ee1c1b44..b36c4a3159e5 100644

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

net/ipv4/ping.c +3 -0
index 535427292194..df6fbefe44d4 100644

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

net/ipv4/tcp.c +9 -6
index fe3cdeddd097..840901154210 100644

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

net/ipv4/tcp_cong.c +1 -1
index c445a81d144e..d7a1f2ef6c52 100644

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

net/ipv4/tcp_input.c +2 -0
index 3e63dc9c3eba..6d331307beca 100644

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

net/ipv4/tcp_ipv4.c +12 -3
index eda64871f983..35f963690a70 100644

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

net/ipv4/tcp_output.c +5 -3
index c8d03c1b4c6b..5dc7485c4076 100644

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

net/ipv6/icmp.c +2 -2
index 62c997201970..7d3a3894f785 100644

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

net/ipv6/route.c +5 -2
index 3b4af0a8bca6..94ade43d5a45 100644

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

net/l2tp/l2tp_core.c +1 -4
index 6dc3bfa12b1e..95805a6331be 100644

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

net/llc/af_llc.c +7 -3
index c74f44dfaa22..5abb7f9b7ee5 100644

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

net/netlink/genetlink.c +0 -49

49 lines not on this page · raw message

net/sched/act_connmark.c +6 -3
index 2b43cacf82af..1a8f2f85ea1a 100644

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

net/sched/act_csum.c +1 -1
index d3cfad88dc3a..428b1ae00123 100644

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

net/sched/act_ct.c +4 -5
index 0586546c20d7..e0060aefbf9d 100644

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

net/sched/act_ctinfo.c +6 -3
index f45995a6237a..a91fcee810ef 100644

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

net/sched/act_mpls.c +1 -1
index db570d2bd0e0..f786775699b5 100644

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

net/sched/act_skbedit.c +1 -1
index 6a8d3337c577..f98b2791ecec 100644

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

net/sched/cls_api.c +1 -1
index 68c8fc6f535c..d7604417367d 100644

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

net/sched/cls_flow.c +4 -4
index 80ae7b9fa90a..ab53a93b2f2b 100644

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

net/sched/cls_flower.c +1 -1
index 1d270540e74d..c5a0f2c2635e 100644

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

net/sched/em_ipset.c +1 -1
index df00566d327d..c95cf86fb431 100644

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

net/sched/em_ipt.c +1 -1
index 9fff6480acc6..e2c157df3f8b 100644

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

net/sched/em_meta.c +1 -1
index 3177dcb17316..ad007cdcec97 100644

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

net/sched/sch_atm.c +4 -4
index f4f9b8cdbffb..6385995dc700 100644

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

net/sched/sch_cake.c +2 -2
index 5d605bab9afc..896c0562cb42 100644

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

net/sched/sch_dsmark.c +3 -3
index 05605b30bef3..2b88710994d7 100644

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

net/sched/sch_teql.c +1 -1
index 689ef6f3ded8..2f1f0a378408 100644

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

net/sunrpc/xprtrdma/rpc_rdma.c +2 -2
index c56e6cfc4a62..21970185485f 100644

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

security/apparmor/match.c +5 -0
index 6ccd3734a841..43669403f755 100644

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

sound/pci/hda/patch_realtek.c +25 -2
index 160e00e8007a..6ffdf3d2d526 100644

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

sound/usb/card.c +8 -4
index f9a64e9526f5..230d862cfa3a 100644

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

sound/usb/clock.c +48 -11

59 lines not on this page · raw message

sound/usb/line6/capture.c +2 -0
index 82abef3fe90d..4b6e99e055dc 100644

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

sound/usb/line6/driver.c +1 -1
index 4f096685ed65..0caf53f5764c 100644

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

sound/usb/line6/playback.c +2 -0
index 2e8ead3f9bc2..797ced329b79 100644

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

sound/usb/midi.c +12 -5
index b737f0ec77d0..0cb4142b05f6 100644

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

sound/usb/pcm.c +6 -1
index d5706b8b68a1..086244c70743 100644

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

sound/usb/quirks-table.h +1 -85

86 lines not on this page · raw message

sound/usb/quirks.c +66 -1

67 lines not on this page · raw message

sound/usb/quirks.h +2 -0
index df0355843a4c..c76cf24a640a 100644

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

tools/perf/util/stat.c +4 -2
index ebdd130557fb..5156aa971fbb 100644

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

tools/testing/selftests/net/fib_nexthops.sh +13 -0
index 6560ed796ac4..09830b88ec8c 100755

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

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

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