Skip to contentSkip to conversation

Linux 5.10.52

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 20, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.52 kernel.

All users of the 5.10 kernel series must upgrade.

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.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/i2c/i2c-at91.txt            |    2 
 Documentation/filesystems/f2fs.rst                            |   16 
 Makefile                                                      |    2 
 arch/arm/boot/dts/am335x-cm-t335.dts                          |    2 
 arch/arm/boot/dts/am43x-epos-evm.dts                          |    4 
 arch/arm/boot/dts/am5718.dtsi                                 |    6 
 arch/arm/boot/dts/bcm5301x.dtsi                               |   18 
 arch/arm/boot/dts/dra7-l4.dtsi                                |   22 
 arch/arm/boot/dts/dra71x.dtsi                                 |    4 
 arch/arm/boot/dts/dra72x.dtsi                                 |    4 
 arch/arm/boot/dts/dra74x.dtsi                                 |   92 +-
 arch/arm/boot/dts/exynos5422-odroidhc1.dts                    |    2 
 arch/arm/boot/dts/exynos5422-odroidxu4.dts                    |    2 
 arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi               |    4 
 arch/arm/boot/dts/gemini-rut1xx.dts                           |   12 
 arch/arm/boot/dts/imx6q-dhcom-som.dtsi                        |   41 
 arch/arm/boot/dts/r8a7779-marzen.dts                          |    2 
 arch/arm/boot/dts/r8a7779.dtsi                                |    1 
 arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi                  |   10 
 arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts                  |    2 
 arch/arm/mach-exynos/exynos.c                                 |    2 
 arch/arm/probes/kprobes/test-thumb.c                          |   10 
 arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts |    2 
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi                  |    2 
 arch/arm64/boot/dts/renesas/r8a774a1.dtsi                     |    1 
 arch/arm64/boot/dts/renesas/r8a77960.dtsi                     |    7 
 arch/arm64/boot/dts/renesas/r8a77961.dtsi                     |    7 
 arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts                |    2 
 arch/arm64/boot/dts/renesas/r8a779a0.dtsi                     |    1 
 arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi               |    3 
 arch/arm64/boot/dts/ti/k3-j7200-main.dtsi                     |    1 
 arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts         |    4 
 arch/arm64/boot/dts/ti/k3-j721e-main.dtsi                     |   58 -
 arch/hexagon/kernel/vmlinux.lds.S                             |    9 
 arch/mips/boot/compressed/Makefile                            |    4 
 arch/mips/boot/compressed/decompress.c                        |    2 
 arch/mips/include/asm/vdso/vdso.h                             |    2 
 arch/powerpc/boot/devtree.c                                   |   59 -
 arch/powerpc/boot/ns16550.c                                   |    9 
 arch/powerpc/include/asm/ps3.h                                |    2 
 arch/powerpc/mm/book3s64/radix_tlb.c                          |   26 
 arch/powerpc/platforms/ps3/mm.c                               |   12 
 arch/s390/Makefile                                            |    1 
 arch/s390/boot/ipl_parm.c                                     |   19 
 arch/s390/boot/mem_detect.c                                   |   47 -
 arch/s390/include/asm/processor.h                             |    4 
 arch/s390/kernel/setup.c                                      |    2 
 arch/s390/purgatory/Makefile                                  |    1 
 arch/um/drivers/chan_user.c                                   |    3 
 arch/um/drivers/slip_user.c                                   |    3 
 arch/x86/include/asm/fpu/internal.h                           |   19 
 arch/x86/kernel/fpu/regset.c                                  |    2 
 arch/x86/kernel/fpu/xstate.c                                  |  105 +-
 arch/x86/kernel/signal.c                                      |   24 
 arch/x86/kvm/cpuid.c                                          |    8 
 arch/x86/kvm/mmu/mmu.c                                        |    2 
 arch/x86/kvm/mmu/paging.h                                     |   14 
 arch/x86/kvm/mmu/paging_tmpl.h                                |    4 
 arch/x86/kvm/mmu/spte.h                                       |    6 
 arch/x86/kvm/svm/svm.c                                        |   11 
 arch/x86/kvm/x86.c                                            |    2 
 block/partitions/ldm.c                                        |    2 
 block/partitions/ldm.h                                        |    3 
 block/partitions/msdos.c                                      |   24 
 certs/.gitignore                                              |    1 
 drivers/acpi/acpi_amba.c                                      |    1 
 drivers/acpi/acpi_video.c                                     |    9 
 drivers/block/virtio_blk.c                                    |    2 
 drivers/char/virtio_console.c                                 |    4 
 drivers/dma/fsl-qdma.c                                        |    6 
 drivers/firmware/arm_scmi/driver.c                            |    4 
 drivers/firmware/tegra/bpmp-tegra210.c                        |    2 
 drivers/firmware/turris-mox-rwtm.c                            |   55 +
 drivers/fsi/fsi-master-aspeed.c                               |    1 
 drivers/fsi/fsi-master-ast-cf.c                               |    1 
 drivers/fsi/fsi-master-gpio.c                                 |    1 
 drivers/fsi/fsi-occ.c                                         |    1 
 drivers/gpio/gpio-pca953x.c                                   |    1 
 drivers/gpio/gpio-zynq.c                                      |   15 
 drivers/gpu/drm/amd/amdkfd/kfd_process.c                      |   14 
 drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c        |    1 
 drivers/gpu/drm/ast/ast_main.c                                |    5 
 drivers/gpu/drm/drm_dp_mst_topology.c                         |   68 -
 drivers/gpu/drm/gma500/framebuffer.c                          |    7 
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c                          |    5 
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c                  |    2 
 drivers/gpu/drm/ingenic/ingenic-drm-drv.c                     |   20 
 drivers/gpu/drm/ingenic/ingenic-ipu.c                         |    2 
 drivers/hwtracing/intel_th/core.c                             |   17 
 drivers/hwtracing/intel_th/gth.c                              |   16 
 drivers/hwtracing/intel_th/intel_th.h                         |    3 
 drivers/i2c/i2c-core-base.c                                   |    3 
 drivers/iio/gyro/fxas21002c_core.c                            |   11 
 drivers/iio/magnetometer/bmc150_magn.c                        |   10 
 drivers/input/touchscreen/hideep.c                            |   13 
 drivers/iommu/arm/arm-smmu/arm-smmu.c                         |   10 
 drivers/leds/leds-tlc591xx.c                                  |    8 
 drivers/leds/leds-turris-omnia.c                              |    1 
 drivers/memory/atmel-ebi.c                                    |    4 
 drivers/memory/fsl_ifc.c                                      |    8 
 drivers/memory/pl353-smc.c                                    |    1 
 drivers/memory/stm32-fmc2-ebi.c                               |    4 
 drivers/mfd/da9052-i2c.c                                      |    1 
 drivers/mfd/motorola-cpcap.c                                  |    4 
 drivers/mfd/stmpe-i2c.c                                       |    2 
 drivers/misc/cardreader/alcor_pci.c                           |    8 
 drivers/misc/habanalabs/gaudi/gaudi.c                         |    3 
 drivers/misc/habanalabs/goya/goya.c                           |    1 
 drivers/misc/ibmasm/module.c                                  |    5 
 drivers/net/virtio_net.c                                      |   27 
 drivers/nvme/target/tcp.c                                     |    1 
 drivers/pci/controller/dwc/pcie-intel-gw.c                    |   10 
 drivers/pci/controller/dwc/pcie-tegra194.c                    |    2 
 drivers/pci/controller/pci-ftpci100.c                         |   30 
 drivers/pci/controller/pci-hyperv.c                           |   30 
 drivers/pci/controller/pci-tegra.c                            |    1 
 drivers/pci/controller/pcie-iproc-msi.c                       |   29 
 drivers/pci/controller/pcie-rockchip-host.c                   |   12 
 drivers/pci/hotplug/pciehp_hpc.c                              |   36 
 drivers/pci/p2pdma.c                                          |   34 
 drivers/pci/pci-label.c                                       |    2 
 drivers/pci/pci.h                                             |    4 
 drivers/pci/pcie/dpc.c                                        |   74 +
 drivers/phy/intel/phy-intel-keembay-emmc.c                    |    3 
 drivers/power/reset/gpio-poweroff.c                           |    1 
 drivers/power/supply/Kconfig                                  |    3 
 drivers/power/supply/ab8500_btemp.c                           |    1 
 drivers/power/supply/ab8500_charger.c                         |   19 
 drivers/power/supply/ab8500_fg.c                              |    1 
 drivers/power/supply/charger-manager.c                        |    1 
 drivers/power/supply/max17042_battery.c                       |    2 
 drivers/power/supply/rt5033_battery.c                         |    7 
 drivers/power/supply/sc2731_charger.c                         |    1 
 drivers/power/supply/sc27xx_fuel_gauge.c                      |    1 
 drivers/pwm/pwm-img.c                                         |    2 
 drivers/pwm/pwm-imx1.c                                        |    2 
 drivers/pwm/pwm-spear.c                                       |    4 
 drivers/pwm/pwm-tegra.c                                       |   13 
 drivers/remoteproc/remoteproc_cdev.c                          |    2 
 drivers/remoteproc/remoteproc_core.c                          |    2 
 drivers/remoteproc/ti_k3_r5_remoteproc.c                      |    2 
 drivers/reset/Kconfig                                         |    4 
 drivers/reset/core.c                                          |    5 
 drivers/reset/reset-a10sr.c                                   |    1 
 drivers/reset/reset-brcmstb.c                                 |    1 
 drivers/rtc/proc.c                                            |    4 
 drivers/s390/char/sclp_vt220.c                                |    4 
 drivers/s390/scsi/zfcp_sysfs.c                                |    1 
 drivers/scsi/arcmsr/arcmsr_hba.c                              |   19 
 drivers/scsi/be2iscsi/be_main.c                               |    5 
 drivers/scsi/bnx2i/bnx2i_iscsi.c                              |    2 
 drivers/scsi/cxgbi/libcxgbi.c                                 |    4 
 drivers/scsi/device_handler/scsi_dh_alua.c                    |   11 
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c                        |   12 
 drivers/scsi/hosts.c                                          |    4 
 drivers/scsi/libiscsi.c                                       |  122 +-
 drivers/scsi/lpfc/lpfc_els.c                                  |    9 
 drivers/scsi/lpfc/lpfc_sli.c                                  |    5 
 drivers/scsi/megaraid/megaraid_sas.h                          |   12 
 drivers/scsi/megaraid/megaraid_sas_base.c                     |   96 +-
 drivers/scsi/megaraid/megaraid_sas_fp.c                       |    6 
 drivers/scsi/megaraid/megaraid_sas_fusion.c                   |   10 
 drivers/scsi/mpt3sas/mpt3sas_scsih.c                          |   22 
 drivers/scsi/qedi/qedi.h                                      |    1 
 drivers/scsi/qedi/qedi_fw.c                                   |   24 
 drivers/scsi/qedi/qedi_iscsi.c                                |   37 
 drivers/scsi/qedi/qedi_main.c                                 |    2 
 drivers/scsi/scsi_lib.c                                       |   10 
 drivers/scsi/scsi_transport_iscsi.c                           |   12 
 drivers/scsi/scsi_transport_sas.c                             |    9 
 drivers/scsi/sd.c                                             |   12 
 drivers/scsi/sr.c                                             |    2 
 drivers/scsi/storvsc_drv.c                                    |   61 -
 drivers/staging/rtl8723bs/hal/odm.h                           |    5 
 drivers/thermal/rcar_gen3_thermal.c                           |    2 
 drivers/thermal/sprd_thermal.c                                |    1 
 drivers/tty/serial/8250/serial_cs.c                           |   11 
 drivers/tty/serial/fsl_lpuart.c                               |    9 
 drivers/tty/serial/uartlite.c                                 |   27 
 drivers/usb/common/usb-conn-gpio.c                            |   44 
 drivers/usb/gadget/function/f_hid.c                           |    2 
 drivers/usb/gadget/legacy/hid.c                               |    4 
 drivers/vdpa/mlx5/net/mlx5_vnet.c                             |   28 
 drivers/video/backlight/lm3630a_bl.c                          |   12 
 drivers/video/fbdev/core/fbmem.c                              |   12 
 drivers/w1/slaves/w1_ds2438.c                                 |    4 
 drivers/watchdog/aspeed_wdt.c                                 |    2 
 drivers/watchdog/iTCO_wdt.c                                   |   12 
 drivers/watchdog/imx_sc_wdt.c                                 |   11 
 drivers/watchdog/jz4740_wdt.c                                 |    4 
 drivers/watchdog/lpc18xx_wdt.c                                |    2 
 drivers/watchdog/sbc60xxwdt.c                                 |    2 
 drivers/watchdog/sc520_wdt.c                                  |    2 
 drivers/watchdog/w83877f_wdt.c                                |    2 
 fs/ceph/addr.c                                                |   10 
 fs/cifs/connect.c                                             |    6 
 fs/f2fs/gc.c                                                  |    1 
 fs/f2fs/namei.c                                               |   16 
 fs/f2fs/super.c                                               |    1 
 fs/jfs/jfs_logmgr.c                                           |    1 
 fs/nfs/delegation.c                                           |   71 +
 fs/nfs/delegation.h                                           |    1 
 fs/nfs/direct.c                                               |   17 
 fs/nfs/inode.c                                                |    4 
 fs/nfs/nfs3proc.c                                             |    4 
 fs/nfs/nfs4_fs.h                                              |    1 
 fs/nfs/nfs4client.c                                           |   82 -
 fs/nfs/pnfs.c                                                 |   40 
 fs/nfs/pnfs_nfs.c                                             |   52 -
 fs/nfsd/nfs4state.c                                           |    3 
 fs/nfsd/trace.h                                               |   29 
 fs/nfsd/vfs.c                                                 |   18 
 fs/orangefs/super.c                                           |    2 
 fs/seq_file.c                                                 |    3 
 fs/ubifs/dir.c                                                |    7 
 fs/ubifs/journal.c                                            |    3 
 fs/ubifs/xattr.c                                              |    2 
 include/linux/compiler-clang.h                                |   17 
 include/linux/compiler-gcc.h                                  |    6 
 include/linux/compiler_types.h                                |    2 
 include/linux/nfs_fs.h                                        |    1 
 include/linux/rcupdate.h                                      |    2 
 include/linux/sched/signal.h                                  |   19 
 include/scsi/libiscsi.h                                       |   11 
 include/scsi/scsi_transport_iscsi.h                           |    2 
 kernel/cgroup/cgroup-v1.c                                     |    2 
 kernel/jump_label.c                                           |   13 
 kernel/rcu/rcu.h                                              |    2 
 kernel/rcu/srcutree.c                                         |    3 
 kernel/rcu/tree.c                                             |   16 
 kernel/rcu/update.c                                           |    2 
 kernel/sched/sched.h                                          |   21 
 kernel/static_call.c                                          |   13 
 kernel/trace/trace_events_hist.c                              |    6 
 lib/decompress_unlz4.c                                        |    8 
 net/bridge/br_multicast.c                                     |    6 
 net/sunrpc/xprtsock.c                                         |    3 
 sound/ac97/bus.c                                              |    2 
 sound/firewire/Kconfig                                        |    5 
 sound/firewire/bebob/bebob.c                                  |    5 
 sound/firewire/motu/motu-protocol-v2.c                        |   13 
 sound/firewire/oxfw/oxfw.c                                    |    2 
 sound/isa/cmi8330.c                                           |    2 
 sound/isa/sb/sb16_csp.c                                       |    8 
 sound/pci/hda/hda_tegra.c                                     |    3 
 sound/ppc/powermac.c                                          |    6 
 sound/soc/img/img-i2s-in.c                                    |    2 
 sound/soc/intel/boards/kbl_da7219_max98357a.c                 |    4 
 sound/soc/intel/boards/sof_da7219_max98373.c                  |    1 
 sound/soc/intel/boards/sof_rt5682.c                           |    1 
 sound/soc/intel/boards/sof_sdw.c                              |   19 
 sound/soc/intel/boards/sof_sdw_common.h                       |    1 
 sound/soc/intel/common/soc-acpi-intel-kbl-match.c             |    2 
 sound/soc/soc-core.c                                          |    2 
 sound/soc/soc-pcm.c                                           |    2 
 sound/usb/mixer_scarlett_gen2.c                               |   39 
 sound/usb/usx2y/usX2Yhwdep.c                                  |   56 -
 sound/usb/usx2y/usX2Yhwdep.h                                  |    2 
 sound/usb/usx2y/usb_stream.c                                  |    7 
 sound/usb/usx2y/usbus428ctldefs.h                             |  102 +-
 sound/usb/usx2y/usbusx2y.c                                    |  218 ++--
 sound/usb/usx2y/usbusx2y.h                                    |   58 -
 sound/usb/usx2y/usbusx2yaudio.c                               |  448 +++++-----
 sound/usb/usx2y/usx2yhwdeppcm.c                               |  410 ++++-----
 sound/usb/usx2y/usx2yhwdeppcm.h                               |    4 
 tools/testing/selftests/powerpc/pmu/ebb/no_handler_test.c     |    2 
 tools/testing/selftests/timers/rtcpie.c                       |   10 
 virt/kvm/coalesced_mmio.c                                     |    2 
 268 files changed, 2518 insertions(+), 1675 deletions(-)

Alex Bee (2):
arm64: dts: rockchip: Re-add regulator-boot-on, regulator-always-on for vdd_gpu on rk3399-roc-pc
arm64: dts: rockchip: Re-add regulator-always-on for vcc_sdio for rk3399-roc-pc

Alexander Shishkin (1):
intel_th: Wait until port is in reset before programming it

Aneesh Kumar K.V (1):
powerpc/mm/book3s64: Fix possible build error

Arnd Bergmann (2):
partitions: msdos: fix one-byte get_unaligned()
mips: always link byteswap helpers into decompressor

Aswath Govindraju (2):
ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema

Athira Rajeev (1):
selftests/powerpc: Fix "no_handler" EBB selftest

Benjamin Herrenschmidt (1):
powerpc/boot: Fixup device-tree on little endian

Bixuan Cui (1):
power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE

Chandrakanth Patil (2):
scsi: megaraid_sas: Fix resource leak in case of probe failure
scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs

Chang S. Bae (1):
x86/signal: Detect and prevent an alternate signal stack overflow

Chao Yu (4):
f2fs: atgc: fix to set default age threshold
f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
f2fs: compress: fix to disallow temp extension
f2fs: fix to avoid adding tab before doc section

Christian Brauner (1):
cgroup: verify that source is a string

Christoph Niedermaier (3):
ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery

Christophe JAILLET (3):
tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
remoteproc: k3-r5: Fix an error message
scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()

Chuck Lever (1):
NFSD: Fix TP_printk() format specifier in nfsd_clid_class

Chunfeng Yun (1):
usb: common: usb-conn-gpio: fix NULL pointer dereference of charger

Chunyan Zhang (1):
thermal/drivers/sprd: Add missing MODULE_DEVICE_TABLE

Corentin Labbe (1):
ARM: dts: gemini-rut1xx: remove duplicate ethernet node

Cristian Marussi (1):
firmware: arm_scmi: Reset Rx buffer to max size during async commands

Dan Carpenter (2):
rtc: fix snprintf() checking in is_rtc_hctosys()
scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()

Daniel Mack (1):
serial: tty: uartlite: fix console setup

Dimitri John Ledkov (1):
lib/decompress_unlz4.c: correctly handle zero-padding around initrds.

Dmitry Torokhov (1):
i2c: core: Disable client irq on reboot/shutdown

Eli Cohen (3):
vdpa/mlx5: Fix umem sizes assignments on VQ create vdpa/mlx5: Fix possible failure in umem size calculation vdpa/mlx5: Clear vq ready indication upon device reset

Eric Sandeen (1):
seq_file: disallow extremely large seq buffer allocations

Fabio Aiuto (1):
staging: rtl8723bs: fix macro value for 2.4Ghz only device

Fabrice Fontaine (1):
s390: disable SSP when needed

Frederic Weisbecker (1):
srcu: Fix broken node geometry after early ssp init

Gao Xiang (1):
nfs: fix acl memory leak of posix_acl_create()

Geert Uytterhoeven (6):
reset: RESET_BRCMSTB_RESCAL should depend on ARCH_BRCMSTB
reset: RESET_INTEL_GW should depend on X86
ARM: dts: r8a7779, marzen: Fix DU clock names
arm64: dts: renesas: Add missing opp-suspend properties
arm64: dts: renesas: r8a7796[01]: Fix OPP table entry voltages
arm64: dts: renesas: r8a779a0: Drop power-domains property from GIC node

Geoff Levand (1):
powerpc/ps3: Add dma_mask to ps3_dma_region

Geoffrey D. Bennett (4):
ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count
ALSA: usb-audio: scarlett2: Fix data_mutex lock
ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values
ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions

Gowtham Tammana (1):
ARM: dts: dra7: Fix duplicate USB4 target module node

Greg Kroah-Hartman (2):
Revert "drm/ast: Remove reference to struct drm_device.pdev" Linux 5.10.52

Hannes Reinecke (2):
scsi: core: Fixup calling convention for scsi_mode_sense()
scsi: scsi_dh_alua: Check for negative result value

Hans de Goede (1):
ACPI: video: Add quirk for the Dell Vostro 3350

Heiko Carstens (4):
s390/processor: always inline stap() and __load_psw_mask() s390/ipl_parm: fix program check new psw handling s390/mem_detect: fix diag260() program check new psw handling s390/mem_detect: fix tprot() program check new psw handling

Icenowy Zheng (1):
arm64: dts: allwinner: a64-sopine-baseboard: change RGMII mode to TXID

James Smart (2):
scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs

Jan Kiszka (1):
watchdog: iTCO_wdt: Account for rebooting on second timeout

Jaroslav Kysela (1):
ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry()

Javier Martinez Canillas (1):
PCI: rockchip: Register IRQ handlers after device and data are ready

Jeff Layton (1):
ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty

Jiajun Cao (1):
ALSA: hda: Add IRQ check for platform_get_irq()

Jiapeng Chong (1):
fs/jfs: Fix missing error code in lmLogInit()

Jing Xiangfeng (1):
drm/gma500: Add the missed drm_gem_object_put() in psb_user_framebuffer_create()

John Garry (1):
scsi: core: Cap scsi_host cmd_per_lun at can_queue

Jon Hunter (1):
PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift

Jonathan Cameron (2):
iio: gyro: fxa21002c: Balance runtime pm + use pm_runtime_resume_and_get().
iio: magn: bmc150: Balance runtime pm + use pm_runtime_resume_and_get()

José Roberto de Souza (1):
drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms()

Kashyap Desai (1):
scsi: megaraid_sas: Early detection of VD deletion through RaidMap update

Kefeng Wang (1):
KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio

Kishon Vijay Abraham I (1):
arm64: dts: ti: k3-j721e-main: Fix external refclk input to SERDES

Koby Elbaz (2):
habanalabs/gaudi: set the correct cpu_id on MME2_QM failure
habanalabs: remove node from list before freeing the node

Krzysztof Kozlowski (10):
power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
reset: a10sr: add missing of_match_table reference
ARM: exynos: add missing of_node_put for loop iteration
ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
memory: stm32-fmc2-ebi: add missing of_node_put for loop iteration
memory: atmel-ebi: add missing of_node_put for loop iteration
memory: fsl_ifc: fix leak of IO mapping on probe failure
memory: fsl_ifc: fix leak of private memory on probe failure

Krzysztof Wilczyński (1):
PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun

Lai Jiangshan (1):

      KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()

Liguang Zhang (1):
ACPI: AMBA: Fix resource name in /proc/iomem

Linus Torvalds (1):
certs: add 'x509_revocation_list' to gitignore

Linus Walleij (1):
power: supply: ab8500: Avoid NULL pointers

Logan Gunthorpe (1):
PCI/P2PDMA: Avoid pci_get_slot(), which may sleep

Long Li (1):
PCI: hv: Fix a race condition when removing the device

Luiz Sampaio (1):
w1: ds2438: fixing bug that would always get page0

Lukas Wunner (1):
PCI: pciehp: Ignore Link Down/Up caused by DPC

Lv Yunlong (1):
misc/libmasm/module: Fix two use after free in ibmasm_init_one

Marco Elver (1):
kcov: add __no_sanitize_coverage to fix noinstr for all architectures

Marek Behún (2):
firmware: turris-mox-rwtm: fix reply status decoding function
firmware: turris-mox-rwtm: report failures better

Marek Vasut (2):
ARM: dts: stm32: Connect PHY IRQ line on DH STM32MP1 SoM
ARM: dts: stm32: Rework LAN8710Ai PHY reset on DHCOM SoM

Martin Blumenstingl (1):
PCI: intel-gw: Fix INTx enable

Martin Fäcknitz (1):
MIPS: vdso: Invalid GIC access through VDSO

Matthew Auld (1):
drm/i915/gtt: drop the page table optimisation

Maurizio Lombardi (1):
nvme-tcp: can't set sk_user_data without write_lock

Michael Kelley (1):
scsi: storvsc: Correctly handle multiple flags in srb_status

Michael S. Tsirkin (1):
virtio_net: move tx vq operation under tx queue lock

Michael Walle (1):
serial: fsl_lpuart: disable DMA for console and fix sysrq

Mike Christie (7):
scsi: iscsi: Add iscsi_cls_conn refcount helpers
scsi: iscsi: Fix conn use after free during resets
scsi: iscsi: Fix shost->max_id use
scsi: qedi: Fix null ref during abort handling
scsi: qedi: Fix race during abort timeouts
scsi: qedi: Fix TMF session block/unblock use
scsi: qedi: Fix cleanup session block/unblock use

Mike Marshall (1):
orangefs: fix orangefs df output.

Nathan Chancellor (2):
hexagon: handle {,SOFT}IRQENTRY_TEXT in linker script
hexagon: use common DISCARDS macro

NeilBrown (1):
SUNRPC: prevent port reuse on transports which don't request it.

Nick Desaulniers (1):

      ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1

Nicolas Ferre (1):
dt-bindings: i2c: at91: fix example for scl-gpios

Niklas Söderlund (1):
thermal/drivers/rcar_gen3_thermal: Fix coefficient calculations

Nikolay Aleksandrov (2):
net: bridge: multicast: fix PIM hello router port marking race
net: bridge: multicast: fix MRD advertisement router port marking race

Pali Rohár (2):
firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng
firmware: turris-mox-rwtm: show message about HWRNG registration

Paul Cercueil (2):
drm/ingenic: Fix non-OSD mode drm/ingenic: Switch IPU plane to type OVERLAY

Paul E. McKenney (1):
rcu: Reject RCU_LOCKDEP_WARN() false positives

Paulo Alcantara (1):
cifs: handle reconnect of tcon when there is no cached dfs referral

Peter Robinson (1):
gpio: pca953x: Add support for the On Semi pca9655

Peter Zijlstra (2):
jump_label: Fix jump_label_text_reserved() vs __init
static_call: Fix static_call_text_reserved() vs __init

Philip Yang (1):
drm/amdkfd: fix sysfs kobj leak

Philipp Zabel (1):
reset: bail if try_module_get() fails

Pierre-Louis Bossart (2):
ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715
ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters

Po-Hsu Lin (1):
selftests: timers: rtcpie: skip test if default RTC device does not exist

Rafał Miłecki (1):
ARM: dts: BCM5301X: Fixup SPI binding

Randy Dunlap (2):
PCI: ftpci100: Rename macro name collision
mips: disable branch profiling in boot/decompress.o

Rashmi A (1):
phy: intel: Fix for warnings due to EMMC clock 175Mhz change in FIP

Robin Gong (1):
dmaengine: fsl-qdma: check dma_set_mask return value

Roger Quadros (1):
arm64: dts: ti: j7200-main: Enable USB2 PHY RX sensitivity workaround

Ruslan Bilovol (1):
usb: gadget: f_hid: fix endianness issue with descriptors

Salvatore Bonaccorso (1):
ARM: dts: sun8i: h3: orangepi-plus: Fix ethernet phy-mode

Sandor Bodo-Merle (2):
PCI: iproc: Fix multi-MSI base vector number allocation
PCI: iproc: Support multi-MSI only on uniprocessor kernel

Sascha Hauer (1):
ubifs: Fix off-by-one error

Sean Christopherson (2):
KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs

Sergey Shtylyov (1):
scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw()

Sherry Sun (1):
tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero

Siddharth Gupta (1):
remoteproc: core: Fix cdev remove and rproc del

Srinivas Neeli (2):
gpio: zynq: Check return value of pm_runtime_get_sync
gpio: zynq: Check return value of irq_get_irq_data

Stefan Eichenberger (1):
watchdog: imx_sc_wdt: fix pretimeout

Steffen Maier (1):
scsi: zfcp: Report port fc_security as unknown early during remote cable pull

Stephan Gerhold (1):
power: supply: rt5033_battery: Fix device tree enumeration

Stephen Boyd (1):
arm64: dts: qcom: trogdor: Add no-hpd to DSI bridge node

Steven Rostedt (VMware) (1):
tracing: Do not reference char * as a string in histograms

Suganath Prabu S (1):
scsi: mpt3sas: Fix deadlock while cancelling the running firmware event

Takashi Iwai (3):
ALSA: usx2y: Avoid camelCase
ALSA: usx2y: Don't call free_pages_exact() with NULL address
ALSA: sb: Fix potential double-free of CSP mixer elements

Takashi Sakamoto (3):
Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
ALSA: bebob: add support for ToneWeal FW66
ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol

Tao Ren (1):
watchdog: aspeed: fix hardware timeout calculation

Thomas Gleixner (3):
x86/fpu: Return proper error codes from user access functions x86/fpu: Fix copy_xstate_to_kernel() gap handling x86/fpu: Limit xstate copy size in xstateregs_set()

Tong Zhang (2):
misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge
misc: alcor_pci: fix inverted branch condition

Tony Lindgren (1):
mfd: cpcap: Fix cpcap dmamask not set warnings

Trond Myklebust (8):
NFSv4: Fix delegation return in cases where we have to retry
NFS: nfs_find_open_context() may only select open files
NFSv4: Initialise connection to the server in nfs4_alloc_client()
NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT
nfsd: Reduce contention for the nfsd_file nf_rwsem NFSv4/pnfs: Fix the layout barrier update
NFSv4/pnfs: Fix layoutget behaviour after invalidation NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times

Tyrel Datwyler (1):
scsi: core: Fix bad pointer dereference when ehandler kthread is invalid

Uwe Kleine-König (4):
backlight: lm3630a: Fix return code of .update_status() callback
pwm: spear: Don't modify HW state in .remove callback
pwm: tegra: Don't modify HW state in .remove callback
pwm: imx1: Don't disable clocks at device remove time

Valentin Vidic (1):
s390/sclp_vt220: fix console name to match device

Valentine Barshak (1):
arm64: dts: renesas: v3msk: Fix memory size

Ville Syrjälä (1):
drm/i915/gt: Fix -EDEADLK handling regression

Vitaly Kuznetsov (1):
KVM: nSVM: Check the value written to MSR_VM_HSAVE_PA

Wayne Lin (2):
drm/dp_mst: Do not set proposed vcpi directly
drm/dp_mst: Avoid to mess up payload table by ports in stale topology

Wei Yongjun (1):
watchdog: jz4740: Fix return value check in jz4740_wdt_probe()

Xie Yongji (3):
virtio-blk: Fix memory leak among suspend/resume procedure
virtio_net: Fix error handling in virtnet_restore()
virtio_console: Assure used length from device is limited

Xiyu Yang (2):
iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation

Xuewen Yan (1):
sched/uclamp: Ignore max aggregation if rq is idle

Yang Yingliang (3):
leds: tlc591xx: fix return value check in tlc591xx_probe()
ALSA: ppc: fix error return code in snd_pmac_probe()
usb: gadget: hid: fix error return code in hid_bind()

Yizhuo Zhai (1):
Input: hideep - fix the uninitialized use in hideep_nvm_unlock()

Yufen Yu (2):
ALSA: ac97: fix PM reference leak in ac97_bus_remove()
ASoC: img: Fix PM reference leak in img_i2s_in_probe()

Zhen Lei (8):
fbmem: Do not delete the mode that is still in use
ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
um: fix error return code in slip_open()
um: fix error return code in winch_tramp()
ubifs: journal: Fix error return code in ubifs_jnl_write_inode()
ALSA: isa: Fix error return code in snd_cmi8330_probe()
memory: pl353: Fix error return code in pl353_smc_probe()
firmware: tegra: Fix error return code in tegra210_bpmp_init()

Zhihao Cheng (1):
ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode

Zou Wei (14):
ASoC: intel/boards: add missing MODULE_DEVICE_TABLE
mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
fsi: Add missing MODULE_DEVICE_TABLE
leds: turris-omnia: add missing MODULE_DEVICE_TABLE
power: supply: sc27xx: Add missing MODULE_DEVICE_TABLE
power: supply: sc2731_charger: Add missing MODULE_DEVICE_TABLE
watchdog: Fix possible use-after-free in wdt_startup()
watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
watchdog: Fix possible use-after-free by calling del_timer_sync()
PCI: tegra: Add missing MODULE_DEVICE_TABLE
power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
power: supply: ab8500: add missing MODULE_DEVICE_TABLE
pwm: img: Fix PM reference leak in img_pwm_enable()
reset: brcmstb: Add missing MODULE_DEVICE_TABLE

ching Huang (2):
scsi: arcmsr: Fix the wrong CDB payload report to IOP
scsi: arcmsr: Fix doorbell status being updated late on ARC-1886

author maintainer
#1 lore raw
Documentation/devicetree/bindings/i2c/i2c-at91.txt +1 -1
index 96c914e048f5..2015f50aed0f 100644
@@ -73,7 +73,7 @@ i2c0: i2c@f8034600 {
 	pinctrl-0 = <&pinctrl_i2c0>;
 	pinctrl-1 = <&pinctrl_i2c0_gpio>;
 	sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
-	scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>;
+	scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 
 	wm8731: wm8731@1a {
 		compatible = "wm8731";
Documentation/filesystems/f2fs.rst +8 -8
index b8ee761c9922..8c0fbdd8ce6f 100644
@@ -688,10 +688,10 @@ users.
 ===================== ======================== ===================
 User                  F2FS                     Block
 ===================== ======================== ===================
-                      META                     WRITE_LIFE_NOT_SET
-                      HOT_NODE                 "
-                      WARM_NODE                "
-                      COLD_NODE                "
+N/A                   META                     WRITE_LIFE_NOT_SET
+N/A                   HOT_NODE                 "
+N/A                   WARM_NODE                "
+N/A                   COLD_NODE                "
 ioctl(COLD)           COLD_DATA                WRITE_LIFE_EXTREME
 extension list        "                        "
 
@@ -717,10 +717,10 @@ WRITE_LIFE_LONG       "                        WRITE_LIFE_LONG
 ===================== ======================== ===================
 User                  F2FS                     Block
 ===================== ======================== ===================
-                      META                     WRITE_LIFE_MEDIUM;
-                      HOT_NODE                 WRITE_LIFE_NOT_SET
-                      WARM_NODE                "
-                      COLD_NODE                WRITE_LIFE_NONE
+N/A                   META                     WRITE_LIFE_MEDIUM;
+N/A                   HOT_NODE                 WRITE_LIFE_NOT_SET
+N/A                   WARM_NODE                "
+N/A                   COLD_NODE                WRITE_LIFE_NONE
 ioctl(COLD)           COLD_DATA                WRITE_LIFE_EXTREME
 extension list        "                        "
 
Makefile +1 -1
index d0fad1e77493..23d656936d40 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 51
+SUBLEVEL = 52
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/arm/boot/dts/am335x-cm-t335.dts +1 -1
index c6fe9db660e2..08c89f176845 100644
@@ -496,7 +496,7 @@ &spi0 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&spi0_pins>;
-	ti,pindir-d0-out-d1-in = <1>;
+	ti,pindir-d0-out-d1-in;
 	/* WLS1271 WiFi */
 	wlcore: wlcore@1 {
 		compatible = "ti,wl1271";
arch/arm/boot/dts/am43x-epos-evm.dts +2 -2
index f517d1e843cf..8b696107eef8 100644
@@ -860,7 +860,7 @@ &spi0 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&spi0_pins_default>;
 	pinctrl-1 = <&spi0_pins_sleep>;
-	ti,pindir-d0-out-d1-in = <1>;
+	ti,pindir-d0-out-d1-in;
 };
 
 &spi1 {
@@ -868,7 +868,7 @@ &spi1 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&spi1_pins_default>;
 	pinctrl-1 = <&spi1_pins_sleep>;
-	ti,pindir-d0-out-d1-in = <1>;
+	ti,pindir-d0-out-d1-in;
 };
 
 &usb2_phy1 {
arch/arm/boot/dts/am5718.dtsi +1 -5
index ebf4d3cc1cfb..6d7530a48c73 100644
@@ -17,17 +17,13 @@ / {
  * VCP1, VCP2
  * MLB
  * ISS
- * USB3, USB4
+ * USB3
  */
 
 &usb3_tm {
 	status = "disabled";
 };
 
-&usb4_tm {
-	status = "disabled";
-};
-
 &atl_tm {
 	status = "disabled";
 };
arch/arm/boot/dts/bcm5301x.dtsi +9 -9
index ac3a99cf2079..72b0df6910bd 100644
@@ -515,27 +515,27 @@ spi@18029200 {
 		      <0x1811b408 0x004>,
 		      <0x180293a0 0x01c>;
 		reg-names = "mspi", "bspi", "intr_regs", "intr_status_reg";
-		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
+		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
-			     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
-			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
-			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
-		interrupt-names = "spi_lr_fullness_reached",
+			     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "mspi_done",
+				  "mspi_halted",
+				  "spi_lr_fullness_reached",
 				  "spi_lr_session_aborted",
 				  "spi_lr_impatient",
 				  "spi_lr_session_done",
-				  "spi_lr_overhead",
-				  "mspi_done",
-				  "mspi_halted";
+				  "spi_lr_overread";
 		clocks = <&iprocmed>;
 		clock-names = "iprocmed";
 		num-cs = <2>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 
-		spi_nor: spi-nor@0 {
+		spi_nor: flash@0 {
 			compatible = "jedec,spi-nor";
 			reg = <0>;
 			spi-max-frequency = <20000000>;
arch/arm/boot/dts/dra7-l4.dtsi +0 -22
index a294a02f2d23..1dafce92fc76 100644
@@ -4095,28 +4095,6 @@ usb3: usb@10000 {
 			};
 		};
 
-		usb4_tm: target-module@140000 {		/* 0x48940000, ap 75 3c.0 */
-			compatible = "ti,sysc-omap4", "ti,sysc";
-			reg = <0x140000 0x4>,
-			      <0x140010 0x4>;
-			reg-names = "rev", "sysc";
-			ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>;
-			ti,sysc-midle = <SYSC_IDLE_FORCE>,
-					<SYSC_IDLE_NO>,
-					<SYSC_IDLE_SMART>,
-					<SYSC_IDLE_SMART_WKUP>;
-			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
-					<SYSC_IDLE_NO>,
-					<SYSC_IDLE_SMART>,
-					<SYSC_IDLE_SMART_WKUP>;
-			/* Domains (P, C): l3init_pwrdm, l3init_clkdm */
-			clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;
-			clock-names = "fck";
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges = <0x0 0x140000 0x20000>;
-		};
-
 		target-module@170000 {			/* 0x48970000, ap 21 0a.0 */
 			compatible = "ti,sysc-omap4", "ti,sysc";
 			reg = <0x170010 0x4>;
arch/arm/boot/dts/dra71x.dtsi +0 -4
index cad0e4a2bd8d..9c270d8f75d5 100644
@@ -11,7 +11,3 @@
 &rtctarget {
 	status = "disabled";
 };
-
-&usb4_tm {
-	status = "disabled";
-};
arch/arm/boot/dts/dra72x.dtsi +0 -4
index d403acc754b6..f3e934ef7d3e 100644
@@ -108,7 +108,3 @@ &pcie1_ep {
 &pcie2_rc {
 	compatible = "ti,dra726-pcie-rc", "ti,dra7-pcie";
 };
-
-&usb4_tm {
-	status = "disabled";
-};
arch/arm/boot/dts/dra74x.dtsi +49 -43

101 lines not on this page · raw message

arch/arm/boot/dts/exynos5422-odroidhc1.dts +1 -1
index 812659260278..88f5c150a30a 100644
@@ -22,7 +22,7 @@ blueled {
 			label = "blue:heartbeat";
 			pwms = <&pwm 2 2000000 0>;
 			pwm-names = "pwm2";
-			max_brightness = <255>;
+			max-brightness = <255>;
 			linux,default-trigger = "heartbeat";
 		};
 	};
arch/arm/boot/dts/exynos5422-odroidxu4.dts +1 -1
index ddd55d3bcadd..4ef0dbc84b0c 100644
@@ -24,7 +24,7 @@ blueled {
 			label = "blue:heartbeat";
 			pwms = <&pwm 2 2000000 0>;
 			pwm-names = "pwm2";
-			max_brightness = <255>;
+			max-brightness = <255>;
 			linux,default-trigger = "heartbeat";
 		};
 	};
arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi +2 -2
index 56acd832f0b3..16e1087ec717 100644
@@ -22,7 +22,7 @@ greenled {
 			 * Green LED is much brighter than the others
 			 * so limit its max brightness
 			 */
-			max_brightness = <127>;
+			max-brightness = <127>;
 			linux,default-trigger = "mmc0";
 		};
 
@@ -30,7 +30,7 @@ blueled {
 			label = "blue:heartbeat";
 			pwms = <&pwm 2 2000000 0>;
 			pwm-names = "pwm2";
-			max_brightness = <255>;
+			max-brightness = <255>;
 			linux,default-trigger = "heartbeat";
 		};
 	};
arch/arm/boot/dts/gemini-rut1xx.dts +0 -12
index 9611ddf06792..08091d2a64e1 100644
@@ -125,18 +125,6 @@ ethernet-port@1 {
 			};
 		};
 
-		ethernet@60000000 {
-			status = "okay";
-
-			ethernet-port@0 {
-				phy-mode = "rgmii";
-				phy-handle = <&phy0>;
-			};
-			ethernet-port@1 {
-				/* Not used in this platform */
-			};
-		};
-
 		usb@68000000 {
 			status = "okay";
 		};
arch/arm/boot/dts/imx6q-dhcom-som.dtsi +36 -5

84 lines not on this page · raw message

arch/arm/boot/dts/r8a7779-marzen.dts +1 -1
index d2240b89ee52..465845323495 100644
@@ -145,7 +145,7 @@ &du {
 	status = "okay";
 
 	clocks = <&mstp1_clks R8A7779_CLK_DU>, <&x3_clk>;
-	clock-names = "du", "dclkin.0";
+	clock-names = "du.0", "dclkin.0";
 
 	ports {
 		port@0 {
arch/arm/boot/dts/r8a7779.dtsi +1 -0
index 74d7e9084eab..3c5fcdfe16b8 100644
@@ -463,6 +463,7 @@ du: display@fff80000 {
 		reg = <0xfff80000 0x40000>;
 		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7779_CLK_DU>;
+		clock-names = "du.0";
 		power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
 		status = "disabled";
 
arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi +9 -1
index 2d027dafb7bc..27f19575fada 100644
@@ -118,7 +118,6 @@ &ethernet0 {
 	max-speed = <100>;
 	phy-handle = <&phy0>;
 	st,eth-ref-clk-sel;
-	phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
 
 	mdio0 {
 		#address-cells = <1>;
@@ -127,6 +126,15 @@ mdio0 {
 
 		phy0: ethernet-phy@1 {
 			reg = <1>;
+			/* LAN8710Ai */
+			compatible = "ethernet-phy-id0007.c0f0",
+				     "ethernet-phy-ieee802.3-c22";
+			clocks = <&rcc ETHCK_K>;
+			reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <500>;
+			reset-deassert-us = <500>;
+			interrupt-parent = <&gpioi>;
+			interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
 		};
 	};
 };
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts +1 -1
index 97f497854e05..d05fa679dcd3 100644
@@ -85,7 +85,7 @@ &emac {
 	pinctrl-0 = <&emac_rgmii_pins>;
 	phy-supply = <&reg_gmac_3v3>;
 	phy-handle = <&ext_rgmii_phy>;
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 
 	status = "okay";
 };
arch/arm/mach-exynos/exynos.c +2 -0
index 700763e07083..83d1d1327f96 100644
@@ -55,6 +55,7 @@ void __init exynos_sysram_init(void)
 		sysram_base_addr = of_iomap(node, 0);
 		sysram_base_phys = of_translate_address(node,
 					   of_get_address(node, 0, NULL, NULL));
+		of_node_put(node);
 		break;
 	}
 
@@ -62,6 +63,7 @@ void __init exynos_sysram_init(void)
 		if (!of_device_is_available(node))
 			continue;
 		sysram_ns_base_addr = of_iomap(node, 0);
+		of_node_put(node);
 		break;
 	}
 }
arch/arm/probes/kprobes/test-thumb.c +5 -5
index 456c181a7bfe..4e11f0b760f8 100644
@@ -441,21 +441,21 @@ void kprobe_thumb32_test_cases(void)
 		"3:	mvn	r0, r0	\n\t"
 		"2:	nop		\n\t")
 
-	TEST_RX("tbh	[pc, r",7, (9f-(1f+4))>>1,"]",
+	TEST_RX("tbh	[pc, r",7, (9f-(1f+4))>>1,", lsl #1]",
 		"9:			\n\t"
 		".short	(2f-1b-4)>>1	\n\t"
 		".short	(3f-1b-4)>>1	\n\t"
 		"3:	mvn	r0, r0	\n\t"
 		"2:	nop		\n\t")
 
-	TEST_RX("tbh	[pc, r",12, ((9f-(1f+4))>>1)+1,"]",
+	TEST_RX("tbh	[pc, r",12, ((9f-(1f+4))>>1)+1,", lsl #1]",
 		"9:			\n\t"
 		".short	(2f-1b-4)>>1	\n\t"
 		".short	(3f-1b-4)>>1	\n\t"
 		"3:	mvn	r0, r0	\n\t"
 		"2:	nop		\n\t")
 
-	TEST_RRX("tbh	[r",1,9f, ", r",14,1,"]",
+	TEST_RRX("tbh	[r",1,9f, ", r",14,1,", lsl #1]",
 		"9:			\n\t"
 		".short	(2f-1b-4)>>1	\n\t"
 		".short	(3f-1b-4)>>1	\n\t"
@@ -468,10 +468,10 @@ void kprobe_thumb32_test_cases(void)
 
 	TEST_UNSUPPORTED("strexb	r0, r1, [r2]")
 	TEST_UNSUPPORTED("strexh	r0, r1, [r2]")
-	TEST_UNSUPPORTED("strexd	r0, r1, [r2]")
+	TEST_UNSUPPORTED("strexd	r0, r1, r2, [r2]")
 	TEST_UNSUPPORTED("ldrexb	r0, [r1]")
 	TEST_UNSUPPORTED("ldrexh	r0, [r1]")
-	TEST_UNSUPPORTED("ldrexd	r0, [r1]")
+	TEST_UNSUPPORTED("ldrexd	r0, r1, [r1]")
 
 	TEST_GROUP("Data-processing (shifted register) and (modified immediate)")
 
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +1 -1
index d4069749d721..068cbd955bfc 100644
@@ -79,7 +79,7 @@ &ehci1 {
 &emac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii_pins>;
-	phy-mode = "rgmii-id";
+	phy-mode = "rgmii-txid";
 	phy-handle = <&ext_rgmii_phy>;
 	phy-supply = <&reg_dc1sw>;
 	status = "okay";
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +2 -0
index bf875589d364..5b2a616c6257 100644
@@ -622,6 +622,8 @@ sn65dsi86_bridge: bridge@2d {
 		clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
 		clock-names = "refclk";
 
+		no-hpd;
+
 		ports {
 			#address-cells = <1>;
 			#size-cells = <0>;
arch/arm64/boot/dts/renesas/r8a774a1.dtsi +1 -0
index c15f1c571eb0..db091fa75115 100644
@@ -76,6 +76,7 @@ opp-1500000000 {
 			opp-hz = /bits/ 64 <1500000000>;
 			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
+			opp-suspend;
 		};
 	};
 
arch/arm64/boot/dts/renesas/r8a77960.dtsi +4 -3
index f379c8d1511d..fa9567ed55e4 100644
@@ -63,18 +63,19 @@ cluster0_opp: opp_table0 {
 
 		opp-500000000 {
 			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1500000000 {
 			opp-hz = /bits/ 64 <1500000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
+			opp-suspend;
 		};
 		opp-1600000000 {
 			opp-hz = /bits/ 64 <1600000000>;
arch/arm64/boot/dts/renesas/r8a77961.dtsi +4 -3
index 1ba30313c8b8..b23f49b89cad 100644
@@ -52,18 +52,19 @@ cluster0_opp: opp_table0 {
 
 		opp-500000000 {
 			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1500000000 {
 			opp-hz = /bits/ 64 <1500000000>;
-			opp-microvolt = <820000>;
+			opp-microvolt = <830000>;
 			clock-latency-ns = <300000>;
+			opp-suspend;
 		};
 		opp-1600000000 {
 			opp-hz = /bits/ 64 <1600000000>;
arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts +1 -1
index 668a1ece9af0..0c66cc0a1367 100644
@@ -59,7 +59,7 @@ thc63lvd1024_out: endpoint {
 	memory@48000000 {
 		device_type = "memory";
 		/* first 128MB is reserved for secure area. */
-		reg = <0x0 0x48000000 0x0 0x38000000>;
+		reg = <0x0 0x48000000 0x0 0x78000000>;
 	};
 
 	osc5_clk: osc5-clock {
arch/arm64/boot/dts/renesas/r8a779a0.dtsi +0 -1
index 86ec32a919d2..bfbb53bf5375 100644
@@ -111,7 +111,6 @@ gic: interrupt-controller@f1000000 {
 			      <0x0 0xf1060000 0 0x110000>;
 			interrupts = <GIC_PPI 9
 				      (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
-			power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
 		};
 
 		prr: chipid@fff00044 {
arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi +3 -0
index 20309076dbac..35b7ab3bf10c 100644
@@ -384,6 +384,7 @@ regulator-state-mem {
 
 			vcc_sdio: LDO_REG4 {
 				regulator-name = "vcc_sdio";
+				regulator-always-on;
 				regulator-boot-on;
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <3000000>;
@@ -488,6 +489,8 @@ vdd_gpu: regulator@41 {
 		regulator-min-microvolt = <712500>;
 		regulator-max-microvolt = <1500000>;
 		regulator-ramp-delay = <1000>;
+		regulator-always-on;
+		regulator-boot-on;
 		vin-supply = <&vcc3v3_sys>;
 
 		regulator-state-mem {
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi +1 -0
index 689538244392..5832ad830ed1 100644
@@ -446,6 +446,7 @@ usb0: usb@6000000 {
 					  "otg";
 			maximum-speed = "super-speed";
 			dr_mode = "otg";
+			cdns,phyrst-a-enable;
 		};
 	};
 };
arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts +4 -0
index 52e121155563..7cd31ac67f88 100644
@@ -560,6 +560,10 @@ &mcasp10 {
 	status = "okay";
 };
 
+&cmn_refclk1 {
+	clock-frequency = <100000000>;
+};
+
 &serdes0 {
 	serdes0_pcie_link: link@0 {
 		reg = <0>;
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi +30 -28

165 lines not on this page · raw message

arch/hexagon/kernel/vmlinux.lds.S +3 -6
index 35b18e55eae8..57465bff1fe4 100644
@@ -38,6 +38,8 @@ SECTIONS
 	.text : AT(ADDR(.text)) {
 		_text = .;
 		TEXT_TEXT
+		IRQENTRY_TEXT
+		SOFTIRQENTRY_TEXT
 		SCHED_TEXT
 		CPUIDLE_TEXT
 		LOCK_TEXT
@@ -59,14 +61,9 @@ SECTIONS
 
 	_end = .;
 
-	/DISCARD/ : {
-		EXIT_TEXT
-		EXIT_DATA
-		EXIT_CALL
-	}
-
 	STABS_DEBUG
 	DWARF_DEBUG
 	ELF_DETAILS
 
+	DISCARDS
 }
arch/mips/boot/compressed/Makefile +2 -2
index 337ab1d18cc1..eae0fad30f27 100644
@@ -39,7 +39,7 @@ KCOV_INSTRUMENT		:= n
 UBSAN_SANITIZE := n
 
 # decompressor objects (linked with vmlinuz)
-vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
+vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o $(obj)/bswapsi.o
 
 ifdef CONFIG_DEBUG_ZBOOT
 vmlinuzobjs-$(CONFIG_DEBUG_ZBOOT)		   += $(obj)/dbg.o
@@ -53,7 +53,7 @@ extra-y += uart-ath79.c
 $(obj)/uart-ath79.c: $(srctree)/arch/mips/ath79/early_printk.c
 	$(call cmd,shipped)
 
-vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o $(obj)/bswapsi.o
+vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
 
 extra-y += ashldi3.c
 $(obj)/ashldi3.c: $(obj)/%.c: $(srctree)/lib/%.c FORCE
arch/mips/boot/compressed/decompress.c +2 -0
index e3946b06e840..1e91155bed80 100644
@@ -7,6 +7,8 @@
  * Author: Wu Zhangjin <[email protected]>
  */
 
+#define DISABLE_BRANCH_PROFILING
+
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/string.h>
arch/mips/include/asm/vdso/vdso.h +1 -1
index 737ddfc3411c..a327ca21270e 100644
@@ -67,7 +67,7 @@ static inline const struct vdso_data *get_vdso_data(void)
 
 static inline void __iomem *get_gic(const struct vdso_data *data)
 {
-	return (void __iomem *)data - PAGE_SIZE;
+	return (void __iomem *)((unsigned long)data & PAGE_MASK) - PAGE_SIZE;
 }
 
 #endif /* CONFIG_CLKSRC_MIPS_GIC */
arch/powerpc/boot/devtree.c +34 -25

165 lines not on this page · raw message

arch/powerpc/boot/ns16550.c +7 -2
index b0da4466d419..f16d2be1d0f3 100644
@@ -15,6 +15,7 @@
 #include "stdio.h"
 #include "io.h"
 #include "ops.h"
+#include "of.h"
 
 #define UART_DLL	0	/* Out: Divisor Latch Low */
 #define UART_DLM	1	/* Out: Divisor Latch High */
@@ -58,16 +59,20 @@ int ns16550_console_init(void *devp, struct serial_console_data *scdp)
 	int n;
 	u32 reg_offset;
 
-	if (dt_get_virtual_reg(devp, (void **)&reg_base, 1) < 1)
+	if (dt_get_virtual_reg(devp, (void **)&reg_base, 1) < 1) {
+		printf("virt reg parse fail...\r\n");
 		return -1;
+	}
 
 	n = getprop(devp, "reg-offset", &reg_offset, sizeof(reg_offset));
 	if (n == sizeof(reg_offset))
-		reg_base += reg_offset;
+		reg_base += be32_to_cpu(reg_offset);
 
 	n = getprop(devp, "reg-shift", &reg_shift, sizeof(reg_shift));
 	if (n != sizeof(reg_shift))
 		reg_shift = 0;
+	else
+		reg_shift = be32_to_cpu(reg_shift);
 
 	scdp->open = ns16550_open;
 	scdp->putc = ns16550_putc;
arch/powerpc/include/asm/ps3.h +2 -0
index cb89e4bf55ce..964063765662 100644
@@ -71,6 +71,7 @@ struct ps3_dma_region_ops;
  * @bus_addr: The 'translated' bus address of the region.
  * @len: The length in bytes of the region.
  * @offset: The offset from the start of memory of the region.
+ * @dma_mask: Device dma_mask.
  * @ioid: The IOID of the device who owns this region
  * @chunk_list: Opaque variable used by the ioc page manager.
  * @region_ops: struct ps3_dma_region_ops - dma region operations
@@ -85,6 +86,7 @@ struct ps3_dma_region {
 	enum ps3_dma_region_type region_type;
 	unsigned long len;
 	unsigned long offset;
+	u64 dma_mask;
 
 	/* driver variables  (set by ps3_dma_region_create) */
 	unsigned long bus_addr;
arch/powerpc/mm/book3s64/radix_tlb.c +17 -9
index b487b489d4b6..4c2f75916a7e 100644
@@ -282,22 +282,30 @@ static inline void fixup_tlbie_lpid(unsigned long lpid)
 /*
  * We use 128 set in radix mode and 256 set in hpt mode.
  */
-static __always_inline void _tlbiel_pid(unsigned long pid, unsigned long ric)
+static inline void _tlbiel_pid(unsigned long pid, unsigned long ric)
 {
 	int set;
 
 	asm volatile("ptesync": : :"memory");
 
-	/*
-	 * Flush the first set of the TLB, and if we're doing a RIC_FLUSH_ALL,
-	 * also flush the entire Page Walk Cache.
-	 */
-	__tlbiel_pid(pid, 0, ric);
+	switch (ric) {
+	case RIC_FLUSH_PWC:
 
-	/* For PWC, only one flush is needed */
-	if (ric == RIC_FLUSH_PWC) {
+		/* For PWC, only one flush is needed */
+		__tlbiel_pid(pid, 0, RIC_FLUSH_PWC);
 		ppc_after_tlbiel_barrier();
 		return;
+	case RIC_FLUSH_TLB:
+		__tlbiel_pid(pid, 0, RIC_FLUSH_TLB);
+		break;
+	case RIC_FLUSH_ALL:
+	default:
+		/*
+		 * Flush the first set of the TLB, and if
+		 * we're doing a RIC_FLUSH_ALL, also flush
+		 * the entire Page Walk Cache.
+		 */
+		__tlbiel_pid(pid, 0, RIC_FLUSH_ALL);
 	}
 
 	/* For the remaining sets, just flush the TLB */
@@ -1068,7 +1076,7 @@ void radix__tlb_flush(struct mmu_gather *tlb)
 	}
 }
 
-static __always_inline void __radix__flush_tlb_range_psize(struct mm_struct *mm,
+static void __radix__flush_tlb_range_psize(struct mm_struct *mm,
 				unsigned long start, unsigned long end,
 				int psize, bool also_pwc)
 {
arch/powerpc/platforms/ps3/mm.c +12 -0
index d094321964fb..a81eac35d900 100644
@@ -6,6 +6,7 @@
  *  Copyright 2006 Sony Corp.
  */
 
+#include <linux/dma-mapping.h>
 #include <linux/kernel.h>
 #include <linux/export.h>
 #include <linux/memblock.h>
@@ -1118,6 +1119,7 @@ int ps3_dma_region_init(struct ps3_system_bus_device *dev,
 	enum ps3_dma_region_type region_type, void *addr, unsigned long len)
 {
 	unsigned long lpar_addr;
+	int result;
 
 	lpar_addr = addr ? ps3_mm_phys_to_lpar(__pa(addr)) : 0;
 
@@ -1129,6 +1131,16 @@ int ps3_dma_region_init(struct ps3_system_bus_device *dev,
 		r->offset -= map.r1.offset;
 	r->len = len ? len : ALIGN(map.total, 1 << r->page_size);
 
+	dev->core.dma_mask = &r->dma_mask;
+
+	result = dma_set_mask_and_coherent(&dev->core, DMA_BIT_MASK(32));
+
+	if (result < 0) {
+		dev_err(&dev->core, "%s:%d: dma_set_mask_and_coherent failed: %d\n",
+			__func__, __LINE__, result);
+		return result;
+	}
+
 	switch (dev->dev_type) {
 	case PS3_DEVICE_TYPE_SB:
 		r->region_ops =  (USE_DYNAMIC_DMA)
arch/s390/Makefile +1 -0
index ba94b03c8b2f..92506918da63 100644
@@ -28,6 +28,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
 KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float
 KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
 KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding
+KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector
 KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member)
 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g)
 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))
arch/s390/boot/ipl_parm.c +11 -8
index f94b91d72620..c56bbf58a945 100644
@@ -28,22 +28,25 @@ static inline int __diag308(unsigned long subcode, void *addr)
 	register unsigned long _addr asm("0") = (unsigned long)addr;
 	register unsigned long _rc asm("1") = 0;
 	unsigned long reg1, reg2;
-	psw_t old = S390_lowcore.program_new_psw;
+	psw_t old;
 
 	asm volatile(
+		"	mvc	0(16,%[psw_old]),0(%[psw_pgm])\n"
 		"	epsw	%0,%1\n"
-		"	st	%0,%[psw_pgm]\n"
-		"	st	%1,%[psw_pgm]+4\n"
+		"	st	%0,0(%[psw_pgm])\n"
+		"	st	%1,4(%[psw_pgm])\n"
 		"	larl	%0,1f\n"
-		"	stg	%0,%[psw_pgm]+8\n"
+		"	stg	%0,8(%[psw_pgm])\n"
 		"	diag	%[addr],%[subcode],0x308\n"
-		"1:	nopr	%%r7\n"
+		"1:	mvc	0(16,%[psw_pgm]),0(%[psw_old])\n"
 		: "=&d" (reg1), "=&a" (reg2),
-		  [psw_pgm] "=Q" (S390_lowcore.program_new_psw),
+		  "+Q" (S390_lowcore.program_new_psw),
+		  "=Q" (old),
 		  [addr] "+d" (_addr), "+d" (_rc)
-		: [subcode] "d" (subcode)
+		: [subcode] "d" (subcode),
+		  [psw_old] "a" (&old),
+		  [psw_pgm] "a" (&S390_lowcore.program_new_psw)
 		: "cc", "memory");
-	S390_lowcore.program_new_psw = old;
 	return _rc;
 }
 
arch/s390/boot/mem_detect.c +28 -19

76 lines not on this page · raw message

arch/s390/include/asm/processor.h +2 -2
index 962da04234af..0987c3fc45f5 100644
@@ -211,7 +211,7 @@ static __always_inline unsigned long current_stack_pointer(void)
 	return sp;
 }
 
-static __no_kasan_or_inline unsigned short stap(void)
+static __always_inline unsigned short stap(void)
 {
 	unsigned short cpu_address;
 
@@ -250,7 +250,7 @@ static inline void __load_psw(psw_t psw)
  * Set PSW mask to specified value, while leaving the
  * PSW addr pointing to the next instruction.
  */
-static __no_kasan_or_inline void __load_psw_mask(unsigned long mask)
+static __always_inline void __load_psw_mask(unsigned long mask)
 {
 	unsigned long addr;
 	psw_t psw;
arch/s390/kernel/setup.c +1 -1
index 83a3f346e5bd..5cd9d20af31e 100644
@@ -166,7 +166,7 @@ static void __init set_preferred_console(void)
 	else if (CONSOLE_IS_3270)
 		add_preferred_console("tty3270", 0, NULL);
 	else if (CONSOLE_IS_VT220)
-		add_preferred_console("ttyS", 1, NULL);
+		add_preferred_console("ttysclp", 0, NULL);
 	else if (CONSOLE_IS_HVC)
 		add_preferred_console("hvc", 0, NULL);
 }
arch/s390/purgatory/Makefile +1 -0
index c57f8c40e992..21c4ebe29b9a 100644
@@ -24,6 +24,7 @@ KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes
 KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
 KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
 KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
+KBUILD_CFLAGS += -fno-stack-protector
 KBUILD_CFLAGS += $(CLANG_FLAGS)
 KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
 KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))
arch/um/drivers/chan_user.c +2 -1
index d8845d4aac6a..6040817c036f 100644
@@ -256,7 +256,8 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 		goto out_close;
 	}
 
-	if (os_set_fd_block(*fd_out, 0)) {
+	err = os_set_fd_block(*fd_out, 0);
+	if (err) {
 		printk(UM_KERN_ERR "winch_tramp: failed to set thread_fd "
 		       "non-blocking.\n");
 		goto out_close;
arch/um/drivers/slip_user.c +2 -1
index 482a19c5105c..7334019c9e60 100644
@@ -145,7 +145,8 @@ static int slip_open(void *data)
 	}
 	sfd = err;
 
-	if (set_up_tty(sfd))
+	err = set_up_tty(sfd);
+	if (err)
 		goto out_close2;
 
 	pri->slave = sfd;
arch/x86/include/asm/fpu/internal.h +12 -7
index 16bf4d4a8159..4e5af2b00d89 100644
@@ -103,6 +103,7 @@ static inline void fpstate_init_fxstate(struct fxregs_state *fx)
 }
 extern void fpstate_sanitize_xstate(struct fpu *fpu);
 
+/* Returns 0 or the negated trap number, which results in -EFAULT for #PF */
 #define user_insn(insn, output, input...)				\
 ({									\
 	int err;							\
@@ -110,14 +111,14 @@ extern void fpstate_sanitize_xstate(struct fpu *fpu);
 	might_fault();							\
 									\
 	asm volatile(ASM_STAC "\n"					\
-		     "1:" #insn "\n\t"					\
+		     "1: " #insn "\n"					\
 		     "2: " ASM_CLAC "\n"				\
 		     ".section .fixup,\"ax\"\n"				\
-		     "3:  movl $-1,%[err]\n"				\
+		     "3:  negl %%eax\n"					\
 		     "    jmp  2b\n"					\
 		     ".previous\n"					\
-		     _ASM_EXTABLE(1b, 3b)				\
-		     : [err] "=r" (err), output				\
+		     _ASM_EXTABLE_FAULT(1b, 3b)				\
+		     : [err] "=a" (err), output				\
 		     : "0"(0), input);					\
 	err;								\
 })
@@ -219,16 +220,20 @@ static inline void fxsave(struct fxregs_state *fx)
 #define XRSTOR		".byte " REX_PREFIX "0x0f,0xae,0x2f"
 #define XRSTORS		".byte " REX_PREFIX "0x0f,0xc7,0x1f"
 
+/*
+ * After this @err contains 0 on success or the negated trap number when
+ * the operation raises an exception. For faults this results in -EFAULT.
+ */
 #define XSTATE_OP(op, st, lmask, hmask, err)				\
 	asm volatile("1:" op "\n\t"					\
 		     "xor %[err], %[err]\n"				\
 		     "2:\n\t"						\
 		     ".pushsection .fixup,\"ax\"\n\t"			\
-		     "3: movl $-2,%[err]\n\t"				\
+		     "3: negl %%eax\n\t"				\
 		     "jmp 2b\n\t"					\
 		     ".popsection\n\t"					\
-		     _ASM_EXTABLE(1b, 3b)				\
-		     : [err] "=r" (err)					\
+		     _ASM_EXTABLE_FAULT(1b, 3b)				\
+		     : [err] "=a" (err)					\
 		     : "D" (st), "m" (*st), "a" (lmask), "d" (hmask)	\
 		     : "memory")
 
arch/x86/kernel/fpu/regset.c +1 -1
index c413756ba89f..6bb874441de8 100644
@@ -117,7 +117,7 @@ int xstateregs_set(struct task_struct *target, const struct user_regset *regset,
 	/*
 	 * A whole standard-format XSAVE buffer is needed:
 	 */
-	if ((pos != 0) || (count < fpu_user_xstate_size))
+	if (pos != 0 || count != fpu_user_xstate_size)
 		return -EFAULT;
 
 	xsave = &fpu->state.xsave;
arch/x86/kernel/fpu/xstate.c +61 -44

132 lines not on this page · raw message

arch/x86/kernel/signal.c +20 -4
index f51cab3e983d..b001ba811cab 100644
@@ -234,10 +234,11 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size,
 	     void __user **fpstate)
 {
 	/* Default to using normal stack */
+	bool nested_altstack = on_sig_stack(regs->sp);
+	bool entering_altstack = false;
 	unsigned long math_size = 0;
 	unsigned long sp = regs->sp;
 	unsigned long buf_fx = 0;
-	int onsigstack = on_sig_stack(sp);
 	int ret;
 
 	/* redzone */
@@ -246,15 +247,23 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size,
 
 	/* This is the X/Open sanctioned signal stack switching.  */
 	if (ka->sa.sa_flags & SA_ONSTACK) {
-		if (sas_ss_flags(sp) == 0)
+		/*
+		 * This checks nested_altstack via sas_ss_flags(). Sensible
+		 * programs use SS_AUTODISARM, which disables that check, and
+		 * programs that don't use SS_AUTODISARM get compatible.
+		 */
+		if (sas_ss_flags(sp) == 0) {
 			sp = current->sas_ss_sp + current->sas_ss_size;
+			entering_altstack = true;
+		}
 	} else if (IS_ENABLED(CONFIG_X86_32) &&
-		   !onsigstack &&
+		   !nested_altstack &&
 		   regs->ss != __USER_DS &&
 		   !(ka->sa.sa_flags & SA_RESTORER) &&
 		   ka->sa.sa_restorer) {
 		/* This is the legacy signal stack switching. */
 		sp = (unsigned long) ka->sa.sa_restorer;
+		entering_altstack = true;
 	}
 
 	sp = fpu__alloc_mathframe(sp, IS_ENABLED(CONFIG_X86_32),
@@ -267,8 +276,15 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size,
 	 * If we are on the alternate signal stack and would overflow it, don't.
 	 * Return an always-bogus address instead so we will die with SIGSEGV.
 	 */
-	if (onsigstack && !likely(on_sig_stack(sp)))
+	if (unlikely((nested_altstack || entering_altstack) &&
+		     !__on_sig_stack(sp))) {
+
+		if (show_unhandled_signals && printk_ratelimit())
+			pr_info("%s[%d] overflowed sigaltstack\n",
+				current->comm, task_pid_nr(current));
+
 		return (void __user *)-1L;
+	}
 
 	/* save i387 and extended state */
 	ret = copy_fpstate_to_sigframe(*fpstate, (void __user *)buf_fx, math_size);
arch/x86/kvm/cpuid.c +7 -1
index 56a62d555e92..7a3fbf3b796e 100644
@@ -827,8 +827,14 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 		unsigned virt_as = max((entry->eax >> 8) & 0xff, 48U);
 		unsigned phys_as = entry->eax & 0xff;
 
-		if (!g_phys_as)
+		/*
+		 * Use bare metal's MAXPHADDR if the CPU doesn't report guest
+		 * MAXPHYADDR separately, or if TDP (NPT) is disabled, as the
+		 * guest version "applies only to guests using nested paging".
+		 */
+		if (!g_phys_as || !tdp_enabled)
 			g_phys_as = phys_as;
+
 		entry->eax = g_phys_as | (virt_as << 8);
 		entry->edx = 0;
 		cpuid_entry_override(entry, CPUID_8000_0008_EBX);
arch/x86/kvm/mmu/mmu.c +2 -0
index 7e6dc454ea28..7ca2da902829 100644
@@ -52,6 +52,8 @@
 #include <asm/kvm_page_track.h>
 #include "trace.h"
 
+#include "paging.h"
+
 extern bool itlb_multihit_kvm_mitigation;
 
 static int __read_mostly nx_huge_pages = -1;
arch/x86/kvm/mmu/paging.h new file +14 -0
new file mode 100644
index 000000000000..de8ab323bb70
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Shadow paging constants/helpers that don't need to be #undef'd. */
+#ifndef __KVM_X86_PAGING_H
+#define __KVM_X86_PAGING_H
+
+#define GUEST_PT64_BASE_ADDR_MASK (((1ULL << 52) - 1) & ~(u64)(PAGE_SIZE-1))
+#define PT64_LVL_ADDR_MASK(level) \
+	(GUEST_PT64_BASE_ADDR_MASK & ~((1ULL << (PAGE_SHIFT + (((level) - 1) \
+						* PT64_LEVEL_BITS))) - 1))
+#define PT64_LVL_OFFSET_MASK(level) \
+	(GUEST_PT64_BASE_ADDR_MASK & ((1ULL << (PAGE_SHIFT + (((level) - 1) \
+						* PT64_LEVEL_BITS))) - 1))
+#endif /* __KVM_X86_PAGING_H */
+
arch/x86/kvm/mmu/paging_tmpl.h +2 -2
index d6cd702e85b6..f8829134bf34 100644
@@ -24,7 +24,7 @@
 	#define pt_element_t u64
 	#define guest_walker guest_walker64
 	#define FNAME(name) paging##64_##name
-	#define PT_BASE_ADDR_MASK PT64_BASE_ADDR_MASK
+	#define PT_BASE_ADDR_MASK GUEST_PT64_BASE_ADDR_MASK
 	#define PT_LVL_ADDR_MASK(lvl) PT64_LVL_ADDR_MASK(lvl)
 	#define PT_LVL_OFFSET_MASK(lvl) PT64_LVL_OFFSET_MASK(lvl)
 	#define PT_INDEX(addr, level) PT64_INDEX(addr, level)
@@ -57,7 +57,7 @@
 	#define pt_element_t u64
 	#define guest_walker guest_walkerEPT
 	#define FNAME(name) ept_##name
-	#define PT_BASE_ADDR_MASK PT64_BASE_ADDR_MASK
+	#define PT_BASE_ADDR_MASK GUEST_PT64_BASE_ADDR_MASK
 	#define PT_LVL_ADDR_MASK(lvl) PT64_LVL_ADDR_MASK(lvl)
 	#define PT_LVL_OFFSET_MASK(lvl) PT64_LVL_OFFSET_MASK(lvl)
 	#define PT_INDEX(addr, level) PT64_INDEX(addr, level)
arch/x86/kvm/mmu/spte.h +0 -6
index 2b3a30bd38b0..667f207d3d09 100644
@@ -23,12 +23,6 @@
 #else
 #define PT64_BASE_ADDR_MASK (((1ULL << 52) - 1) & ~(u64)(PAGE_SIZE-1))
 #endif
-#define PT64_LVL_ADDR_MASK(level) \
-	(PT64_BASE_ADDR_MASK & ~((1ULL << (PAGE_SHIFT + (((level) - 1) \
-						* PT64_LEVEL_BITS))) - 1))
-#define PT64_LVL_OFFSET_MASK(level) \
-	(PT64_BASE_ADDR_MASK & ((1ULL << (PAGE_SHIFT + (((level) - 1) \
-						* PT64_LEVEL_BITS))) - 1))
 
 #define PT64_PERM_MASK (PT_PRESENT_MASK | PT_WRITABLE_MASK | shadow_user_mask \
 			| shadow_x_mask | shadow_nx_mask | shadow_me_mask)
arch/x86/kvm/svm/svm.c +10 -1
index 41d44fb5f753..1c9226cd6cde 100644
@@ -2745,7 +2745,16 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
 			svm_disable_lbrv(vcpu);
 		break;
 	case MSR_VM_HSAVE_PA:
-		svm->nested.hsave_msr = data;
+		/*
+		 * Old kernels did not validate the value written to
+		 * MSR_VM_HSAVE_PA.  Allow KVM_SET_MSR to set an invalid
+		 * value to allow live migrating buggy or malicious guests
+		 * originating from those kernels.
+		 */
+		if (!msr->host_initiated && !page_address_valid(vcpu, data))
+			return 1;
+
+		svm->nested.hsave_msr = data & PAGE_MASK;
 		break;
 	case MSR_VM_CR:
 		return svm_set_vm_cr(vcpu, data);
arch/x86/kvm/x86.c +2 -0
index 7bf88e6cbd0e..800914e9e12b 100644
@@ -9020,6 +9020,8 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 		set_debugreg(vcpu->arch.eff_db[3], 3);
 		set_debugreg(vcpu->arch.dr6, 6);
 		vcpu->arch.switch_db_regs &= ~KVM_DEBUGREG_RELOAD;
+	} else if (unlikely(hw_breakpoint_active())) {
+		set_debugreg(0, 7);
 	}
 
 	exit_fastpath = kvm_x86_ops.run(vcpu);
block/partitions/ldm.c +1 -1
index d333786b5c7e..cc86534c80ad 100644
@@ -510,7 +510,7 @@ static bool ldm_validate_partition_table(struct parsed_partitions *state)
 
 	p = (struct msdos_partition *)(data + 0x01BE);
 	for (i = 0; i < 4; i++, p++)
-		if (SYS_IND (p) == LDM_PARTITION) {
+		if (p->sys_ind == LDM_PARTITION) {
 			result = true;
 			break;
 		}
block/partitions/ldm.h +0 -3
index d8d6beaa72c4..8693704dcf5e 100644
@@ -84,9 +84,6 @@ struct parsed_partitions;
 #define TOC_BITMAP1		"config"	/* Names of the two defined */
 #define TOC_BITMAP2		"log"		/* bitmaps in the TOCBLOCK. */
 
-/* Borrowed from msdos.c */
-#define SYS_IND(p)		(get_unaligned(&(p)->sys_ind))
-
 struct frag {				/* VBLK Fragment handling */
 	struct list_head list;
 	u32		group;
block/partitions/msdos.c +11 -13
index 8f2fcc080264..c94de377c502 100644
@@ -38,8 +38,6 @@
  */
 #include <asm/unaligned.h>
 
-#define SYS_IND(p)	get_unaligned(&p->sys_ind)
-
 static inline sector_t nr_sects(struct msdos_partition *p)
 {
 	return (sector_t)get_unaligned_le32(&p->nr_sects);
@@ -52,9 +50,9 @@ static inline sector_t start_sect(struct msdos_partition *p)
 
 static inline int is_extended_partition(struct msdos_partition *p)
 {
-	return (SYS_IND(p) == DOS_EXTENDED_PARTITION ||
-		SYS_IND(p) == WIN98_EXTENDED_PARTITION ||
-		SYS_IND(p) == LINUX_EXTENDED_PARTITION);
+	return (p->sys_ind == DOS_EXTENDED_PARTITION ||
+		p->sys_ind == WIN98_EXTENDED_PARTITION ||
+		p->sys_ind == LINUX_EXTENDED_PARTITION);
 }
 
 #define MSDOS_LABEL_MAGIC1	0x55
@@ -193,7 +191,7 @@ static void parse_extended(struct parsed_partitions *state,
 
 			put_partition(state, state->next, next, size);
 			set_info(state, state->next, disksig);
-			if (SYS_IND(p) == LINUX_RAID_PARTITION)
+			if (p->sys_ind == LINUX_RAID_PARTITION)
 				state->parts[state->next].flags = ADDPART_FLAG_RAID;
 			loopct = 0;
 			if (++state->next == state->limit)
@@ -546,7 +544,7 @@ static void parse_minix(struct parsed_partitions *state,
 	 * a secondary MBR describing its subpartitions, or
 	 * the normal boot sector. */
 	if (msdos_magic_present(data + 510) &&
-	    SYS_IND(p) == MINIX_PARTITION) { /* subpartition table present */
+	    p->sys_ind == MINIX_PARTITION) { /* subpartition table present */
 		char tmp[1 + BDEVNAME_SIZE + 10 + 9 + 1];
 
 		snprintf(tmp, sizeof(tmp), " %s%d: <minix:", state->name, origin);
@@ -555,7 +553,7 @@ static void parse_minix(struct parsed_partitions *state,
 			if (state->next == state->limit)
 				break;
 			/* add each partition in use */
-			if (SYS_IND(p) == MINIX_PARTITION)
+			if (p->sys_ind == MINIX_PARTITION)
 				put_partition(state, state->next++,
 					      start_sect(p), nr_sects(p));
 		}
@@ -643,7 +641,7 @@ int msdos_partition(struct parsed_partitions *state)
 	p = (struct msdos_partition *) (data + 0x1be);
 	for (slot = 1 ; slot <= 4 ; slot++, p++) {
 		/* If this is an EFI GPT disk, msdos should ignore it. */
-		if (SYS_IND(p) == EFI_PMBR_OSTYPE_EFI_GPT) {
+		if (p->sys_ind == EFI_PMBR_OSTYPE_EFI_GPT) {
 			put_dev_sector(sect);
 			return 0;
 		}
@@ -685,11 +683,11 @@ int msdos_partition(struct parsed_partitions *state)
 		}
 		put_partition(state, slot, start, size);
 		set_info(state, slot, disksig);
-		if (SYS_IND(p) == LINUX_RAID_PARTITION)
+		if (p->sys_ind == LINUX_RAID_PARTITION)
 			state->parts[slot].flags = ADDPART_FLAG_RAID;
-		if (SYS_IND(p) == DM6_PARTITION)
+		if (p->sys_ind == DM6_PARTITION)
 			strlcat(state->pp_buf, "[DM]", PAGE_SIZE);
-		if (SYS_IND(p) == EZD_PARTITION)
+		if (p->sys_ind == EZD_PARTITION)
 			strlcat(state->pp_buf, "[EZD]", PAGE_SIZE);
 	}
 
@@ -698,7 +696,7 @@ int msdos_partition(struct parsed_partitions *state)
 	/* second pass - output for each on a separate line */
 	p = (struct msdos_partition *) (0x1be + data);
 	for (slot = 1 ; slot <= 4 ; slot++, p++) {
-		unsigned char id = SYS_IND(p);
+		unsigned char id = p->sys_ind;
 		int n;
 
 		if (!nr_sects(p))
certs/.gitignore +1 -0
index 2a2483990686..6cbd1f1a5837 100644
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 x509_certificate_list
+x509_revocation_list
drivers/acpi/acpi_amba.c +1 -0
index 49b781a9cd97..ab8a4e0191b1 100644
@@ -76,6 +76,7 @@ static int amba_handler_attach(struct acpi_device *adev,
 		case IORESOURCE_MEM:
 			if (!address_found) {
 				dev->res = *rentry->res;
+				dev->res.name = dev_name(&dev->dev);
 				address_found = true;
 			}
 			break;
drivers/acpi/acpi_video.c +9 -0
index a322a7bd286b..eb04b2f828ee 100644
@@ -543,6 +543,15 @@ static const struct dmi_system_id video_dmi_table[] = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V131"),
 		},
 	},
+	{
+	 .callback = video_set_report_key_events,
+	 .driver_data = (void *)((uintptr_t)REPORT_BRIGHTNESS_KEY_EVENTS),
+	 .ident = "Dell Vostro 3350",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3350"),
+		},
+	},
 	/*
 	 * Some machines change the brightness themselves when a brightness
 	 * hotkey gets pressed, despite us telling them not to. In this case
drivers/block/virtio_blk.c +2 -0
index a314b9382442..42acf9587ef3 100644
@@ -946,6 +946,8 @@ static int virtblk_freeze(struct virtio_device *vdev)
 	blk_mq_quiesce_queue(vblk->disk->queue);
 
 	vdev->config->del_vqs(vdev);
+	kfree(vblk->vqs);
+
 	return 0;
 }
 
drivers/char/virtio_console.c +2 -2
index 1836cc56e357..673522874cec 100644
@@ -475,7 +475,7 @@ static struct port_buffer *get_inbuf(struct port *port)
 
 	buf = virtqueue_get_buf(port->in_vq, &len);
 	if (buf) {
-		buf->len = len;
+		buf->len = min_t(size_t, len, buf->size);
 		buf->offset = 0;
 		port->stats.bytes_received += len;
 	}
@@ -1712,7 +1712,7 @@ static void control_work_handler(struct work_struct *work)
 	while ((buf = virtqueue_get_buf(vq, &len))) {
 		spin_unlock(&portdev->c_ivq_lock);
 
-		buf->len = len;
+		buf->len = min_t(size_t, len, buf->size);
 		buf->offset = 0;
 
 		handle_control_message(vq->vdev, portdev, buf);
drivers/dma/fsl-qdma.c +5 -1
index ed2ab46b15e7..045ead46ec8f 100644
@@ -1235,7 +1235,11 @@ static int fsl_qdma_probe(struct platform_device *pdev)
 	fsl_qdma->dma_dev.device_synchronize = fsl_qdma_synchronize;
 	fsl_qdma->dma_dev.device_terminate_all = fsl_qdma_terminate_all;
 
-	dma_set_mask(&pdev->dev, DMA_BIT_MASK(40));
+	ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(40));
+	if (ret) {
+		dev_err(&pdev->dev, "dma_set_mask failure.\n");
+		return ret;
+	}
 
 	platform_set_drvdata(pdev, fsl_qdma);
 
drivers/firmware/arm_scmi/driver.c +4 -0
index 6b2ce3f28f7b..f9901fadb3a4 100644
@@ -268,6 +268,10 @@ static void scmi_handle_response(struct scmi_chan_info *cinfo,
 		return;
 	}
 
+	/* rx.len could be shrunk in the sync do_xfer, so reset to maxsz */
+	if (msg_type == MSG_TYPE_DELAYED_RESP)
+		xfer->rx.len = info->desc->max_msg_size;
+
 	scmi_dump_header_dbg(dev, &xfer->hdr);
 
 	info->desc->ops->fetch_response(cinfo, xfer);
drivers/firmware/tegra/bpmp-tegra210.c +1 -1
index ae15940a078e..c32754055c60 100644
@@ -210,7 +210,7 @@ static int tegra210_bpmp_init(struct tegra_bpmp *bpmp)
 	priv->tx_irq_data = irq_get_irq_data(err);
 	if (!priv->tx_irq_data) {
 		dev_err(&pdev->dev, "failed to get IRQ data for TX IRQ\n");
-		return err;
+		return -ENOENT;
 	}
 
 	err = platform_get_irq_byname(pdev, "rx");
drivers/firmware/turris-mox-rwtm.c +47 -8

97 lines not on this page · raw message

drivers/fsi/fsi-master-aspeed.c +1 -0
index 90dbe58ca1ed..dbad73162c83 100644
@@ -645,6 +645,7 @@ static const struct of_device_id fsi_master_aspeed_match[] = {
 	{ .compatible = "aspeed,ast2600-fsi-master" },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, fsi_master_aspeed_match);
 
 static struct platform_driver fsi_master_aspeed_driver = {
 	.driver = {
drivers/fsi/fsi-master-ast-cf.c +1 -0
index 57a779a89b07..70c03e304d6c 100644
@@ -1427,6 +1427,7 @@ static const struct of_device_id fsi_master_acf_match[] = {
 	{ .compatible = "aspeed,ast2500-cf-fsi-master" },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, fsi_master_acf_match);
 
 static struct platform_driver fsi_master_acf = {
 	.driver = {
drivers/fsi/fsi-master-gpio.c +1 -0
index aa97c4a250cb..7d5f29b4b595 100644
@@ -882,6 +882,7 @@ static const struct of_device_id fsi_master_gpio_match[] = {
 	{ .compatible = "fsi-master-gpio" },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, fsi_master_gpio_match);
 
 static struct platform_driver fsi_master_gpio_driver = {
 	.driver = {
drivers/fsi/fsi-occ.c +1 -0
index a691f9732a13..a9beef2ae5a0 100644
@@ -579,6 +579,7 @@ static const struct of_device_id occ_match[] = {
 	{ .compatible = "ibm,p9-occ" },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, occ_match);
 
 static struct platform_driver occ_driver = {
 	.driver = {
drivers/gpio/gpio-pca953x.c +1 -0
index 6898c27f71f8..7cc7d137133a 100644
@@ -1239,6 +1239,7 @@ static const struct of_device_id pca953x_dt_ids[] = {
 
 	{ .compatible = "onnn,cat9554", .data = OF_953X( 8, PCA_INT), },
 	{ .compatible = "onnn,pca9654", .data = OF_953X( 8, PCA_INT), },
+	{ .compatible = "onnn,pca9655", .data = OF_953X(16, PCA_INT), },
 
 	{ .compatible = "exar,xra1202", .data = OF_953X( 8, 0), },
 	{ }
drivers/gpio/gpio-zynq.c +14 -1
index 3521c1dc3ac0..c288a7502de2 100644
@@ -736,6 +736,11 @@ static int __maybe_unused zynq_gpio_suspend(struct device *dev)
 	struct zynq_gpio *gpio = dev_get_drvdata(dev);
 	struct irq_data *data = irq_get_irq_data(gpio->irq);
 
+	if (!data) {
+		dev_err(dev, "irq_get_irq_data() failed\n");
+		return -EINVAL;
+	}
+
 	if (!device_may_wakeup(dev))
 		disable_irq(gpio->irq);
 
@@ -753,6 +758,11 @@ static int __maybe_unused zynq_gpio_resume(struct device *dev)
 	struct irq_data *data = irq_get_irq_data(gpio->irq);
 	int ret;
 
+	if (!data) {
+		dev_err(dev, "irq_get_irq_data() failed\n");
+		return -EINVAL;
+	}
+
 	if (!device_may_wakeup(dev))
 		enable_irq(gpio->irq);
 
@@ -1001,8 +1011,11 @@ static int zynq_gpio_probe(struct platform_device *pdev)
 static int zynq_gpio_remove(struct platform_device *pdev)
 {
 	struct zynq_gpio *gpio = platform_get_drvdata(pdev);
+	int ret;
 
-	pm_runtime_get_sync(&pdev->dev);
+	ret = pm_runtime_get_sync(&pdev->dev);
+	if (ret < 0)
+		dev_warn(&pdev->dev, "pm_runtime_get_sync() Failed\n");
 	gpiochip_remove(&gpio->chip);
 	clk_disable_unprepare(gpio->clk);
 	device_set_wakeup_capable(&pdev->dev, 0);
drivers/gpu/drm/amd/amdkfd/kfd_process.c +6 -8
index 65803e153a22..d243e60c6eef 100644
@@ -452,13 +452,9 @@ static const struct sysfs_ops procfs_stats_ops = {
 	.show = kfd_procfs_stats_show,
 };
 
-static struct attribute *procfs_stats_attrs[] = {
-	NULL
-};
-
 static struct kobj_type procfs_stats_type = {
 	.sysfs_ops = &procfs_stats_ops,
-	.default_attrs = procfs_stats_attrs,
+	.release = kfd_procfs_kobj_release,
 };
 
 int kfd_procfs_add_queue(struct queue *q)
@@ -973,9 +969,11 @@ static void kfd_process_wq_release(struct work_struct *work)
 		list_for_each_entry(pdd, &p->per_device_data, per_device_list) {
 			sysfs_remove_file(p->kobj, &pdd->attr_vram);
 			sysfs_remove_file(p->kobj, &pdd->attr_sdma);
-			sysfs_remove_file(p->kobj, &pdd->attr_evict);
-			if (pdd->dev->kfd2kgd->get_cu_occupancy != NULL)
-				sysfs_remove_file(p->kobj, &pdd->attr_cu_occupancy);
+
+			sysfs_remove_file(pdd->kobj_stats, &pdd->attr_evict);
+			if (pdd->dev->kfd2kgd->get_cu_occupancy)
+				sysfs_remove_file(pdd->kobj_stats,
+						  &pdd->attr_cu_occupancy);
 			kobject_del(pdd->kobj_stats);
 			kobject_put(pdd->kobj_stats);
 			pdd->kobj_stats = NULL;
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +1 -0
index eb1635ac8988..43c07ac2c6fc 100644
@@ -153,6 +153,7 @@ void pqm_uninit(struct process_queue_manager *pqm)
 		if (pqn->q && pqn->q->gws)
 			amdgpu_amdkfd_remove_gws_from_process(pqm->process->kgd_process_info,
 				pqn->q->gws);
+		kfd_procfs_del_queue(pqn->q);
 		uninit_queue(pqn->q);
 		list_del(&pqn->process_queue_list);
 		kfree(pqn);
drivers/gpu/drm/ast/ast_main.c +3 -2
index cf08215a9f21..0d163511564e 100644
@@ -406,6 +406,7 @@ struct ast_private *ast_device_create(struct drm_driver *drv,
 		return ast;
 	dev = &ast->base;
 
+	dev->pdev = pdev;
 	pci_set_drvdata(pdev, dev);
 
 	ast->regs = pcim_iomap(pdev, 1, 0);
@@ -447,8 +448,8 @@ struct ast_private *ast_device_create(struct drm_driver *drv,
 
 	/* map reserved buffer */
 	ast->dp501_fw_buf = NULL;
-	if (dev->vram_mm->vram_size < pci_resource_len(pdev, 0)) {
-		ast->dp501_fw_buf = pci_iomap_range(pdev, 0, dev->vram_mm->vram_size, 0);
+	if (dev->vram_mm->vram_size < pci_resource_len(dev->pdev, 0)) {
+		ast->dp501_fw_buf = pci_iomap_range(dev->pdev, 0, dev->vram_mm->vram_size, 0);
 		if (!ast->dp501_fw_buf)
 			drm_info(dev, "failed to map reserved buffer!\n");
 	}
drivers/gpu/drm/drm_dp_mst_topology.c +42 -26

131 lines not on this page · raw message

drivers/gpu/drm/gma500/framebuffer.c +6 -1
index 54d9876b5305..6ef4ea07d1bb 100644
@@ -435,6 +435,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
 			 const struct drm_mode_fb_cmd2 *cmd)
 {
 	struct drm_gem_object *obj;
+	struct drm_framebuffer *fb;
 
 	/*
 	 *	Find the GEM object and thus the gtt range object that is
@@ -445,7 +446,11 @@ static struct drm_framebuffer *psb_user_framebuffer_create
 		return ERR_PTR(-ENOENT);
 
 	/* Let the core code do all the work */
-	return psb_framebuffer_create(dev, cmd, obj);
+	fb = psb_framebuffer_create(dev, cmd, obj);
+	if (IS_ERR(fb))
+		drm_gem_object_put(obj);
+
+	return fb;
 }
 
 static int psbfb_probe(struct drm_fb_helper *fb_helper,
drivers/gpu/drm/i915/gt/gen8_ppgtt.c +1 -4
index f08e25e95746..be27f9889431 100644
@@ -299,10 +299,7 @@ static void __gen8_ppgtt_alloc(struct i915_address_space * const vm,
 			__i915_gem_object_pin_pages(pt->base);
 			i915_gem_object_make_unshrinkable(pt->base);
 
-			if (lvl ||
-			    gen8_pt_count(*start, end) < I915_PDES ||
-			    intel_vgpu_active(vm->i915))
-				fill_px(pt, vm->scratch[lvl]->encode);
+			fill_px(pt, vm->scratch[lvl]->encode);
 
 			spin_lock(&pd->lock);
 			if (likely(!pd->entry[idx])) {
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +1 -1
index b5937b39145a..cd71631bef0c 100644
@@ -348,7 +348,7 @@ static struct i915_fence_reg *fence_find(struct i915_ggtt *ggtt)
 	if (intel_has_pending_fb_unpin(ggtt->vm.i915))
 		return ERR_PTR(-EAGAIN);
 
-	return ERR_PTR(-EDEADLK);
+	return ERR_PTR(-ENOBUFS);
 }
 
 int __i915_vma_pin_fence(struct i915_vma *vma)
drivers/gpu/drm/ingenic/ingenic-drm-drv.c +11 -9
index a3d1617d7c67..b6bb5fc7d183 100644
@@ -347,7 +347,7 @@ static void ingenic_drm_plane_enable(struct ingenic_drm *priv,
 	unsigned int en_bit;
 
 	if (priv->soc_info->has_osd) {
-		if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+		if (plane != &priv->f0)
 			en_bit = JZ_LCD_OSDC_F1EN;
 		else
 			en_bit = JZ_LCD_OSDC_F0EN;
@@ -362,7 +362,7 @@ void ingenic_drm_plane_disable(struct device *dev, struct drm_plane *plane)
 	unsigned int en_bit;
 
 	if (priv->soc_info->has_osd) {
-		if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+		if (plane != &priv->f0)
 			en_bit = JZ_LCD_OSDC_F1EN;
 		else
 			en_bit = JZ_LCD_OSDC_F0EN;
@@ -389,8 +389,7 @@ void ingenic_drm_plane_config(struct device *dev,
 
 	ingenic_drm_plane_enable(priv, plane);
 
-	if (priv->soc_info->has_osd &&
-	    plane->type == DRM_PLANE_TYPE_PRIMARY) {
+	if (priv->soc_info->has_osd && plane != &priv->f0) {
 		switch (fourcc) {
 		case DRM_FORMAT_XRGB1555:
 			ctrl |= JZ_LCD_OSDCTRL_RGB555;
@@ -423,7 +422,7 @@ void ingenic_drm_plane_config(struct device *dev,
 	}
 
 	if (priv->soc_info->has_osd) {
-		if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
+		if (plane != &priv->f0) {
 			xy_reg = JZ_REG_LCD_XYP1;
 			size_reg = JZ_REG_LCD_SIZE1;
 		} else {
@@ -455,7 +454,7 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
 		height = state->src_h >> 16;
 		cpp = state->fb->format->cpp[0];
 
-		if (priv->soc_info->has_osd && plane->type == DRM_PLANE_TYPE_OVERLAY)
+		if (!priv->soc_info->has_osd || plane == &priv->f0)
 			hwdesc = priv->dma_hwdesc_f0;
 		else
 			hwdesc = priv->dma_hwdesc_f1;
@@ -692,6 +691,7 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
 	const struct jz_soc_info *soc_info;
 	struct ingenic_drm *priv;
 	struct clk *parent_clk;
+	struct drm_plane *primary;
 	struct drm_bridge *bridge;
 	struct drm_panel *panel;
 	struct drm_encoder *encoder;
@@ -784,9 +784,11 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
 	if (soc_info->has_osd)
 		priv->ipu_plane = drm_plane_from_index(drm, 0);
 
-	drm_plane_helper_add(&priv->f1, &ingenic_drm_plane_helper_funcs);
+	primary = priv->soc_info->has_osd ? &priv->f1 : &priv->f0;
+
+	drm_plane_helper_add(primary, &ingenic_drm_plane_helper_funcs);
 
-	ret = drm_universal_plane_init(drm, &priv->f1, 1,
+	ret = drm_universal_plane_init(drm, primary, 1,
 				       &ingenic_drm_primary_plane_funcs,
 				       ingenic_drm_primary_formats,
 				       ARRAY_SIZE(ingenic_drm_primary_formats),
@@ -798,7 +800,7 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
 
 	drm_crtc_helper_add(&priv->crtc, &ingenic_drm_crtc_helper_funcs);
 
-	ret = drm_crtc_init_with_planes(drm, &priv->crtc, &priv->f1,
+	ret = drm_crtc_init_with_planes(drm, &priv->crtc, primary,
 					NULL, &ingenic_drm_crtc_funcs, NULL);
 	if (ret) {
 		dev_err(dev, "Failed to init CRTC: %i\n", ret);
drivers/gpu/drm/ingenic/ingenic-ipu.c +1 -1
index fc8c6e970ee3..06fd118b1444 100644
@@ -753,7 +753,7 @@ static int ingenic_ipu_bind(struct device *dev, struct device *master, void *d)
 
 	err = drm_universal_plane_init(drm, plane, 1, &ingenic_ipu_plane_funcs,
 				       soc_info->formats, soc_info->num_formats,
-				       NULL, DRM_PLANE_TYPE_PRIMARY, NULL);
+				       NULL, DRM_PLANE_TYPE_OVERLAY, NULL);
 	if (err) {
 		dev_err(dev, "Failed to init plane: %i\n", err);
 		return err;
drivers/hwtracing/intel_th/core.c +17 -0
index c9ac3dc65113..9cb8c7d13d46 100644
@@ -215,6 +215,22 @@ static ssize_t port_show(struct device *dev, struct device_attribute *attr,
 
 static DEVICE_ATTR_RO(port);
 
+static void intel_th_trace_prepare(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);
+
+	if (hub->type != INTEL_TH_SWITCH)
+		return;
+
+	if (thdev->type != INTEL_TH_OUTPUT)
+		return;
+
+	pm_runtime_get_sync(&thdev->dev);
+	hubdrv->prepare(hub, &thdev->output);
+	pm_runtime_put(&thdev->dev);
+}
+
 static int intel_th_output_activate(struct intel_th_device *thdev)
 {
 	struct intel_th_driver *thdrv =
@@ -235,6 +251,7 @@ static int intel_th_output_activate(struct intel_th_device *thdev)
 	if (ret)
 		goto fail_put;
 
+	intel_th_trace_prepare(thdev);
 	if (thdrv->activate)
 		ret = thdrv->activate(thdev);
 	else
drivers/hwtracing/intel_th/gth.c +16 -0
index 28509b02a0b5..b3308934a687 100644
@@ -564,6 +564,21 @@ static void gth_tscu_resync(struct gth_device *gth)
 	iowrite32(reg, gth->base + REG_TSCU_TSUCTRL);
 }
 
+static void intel_th_gth_prepare(struct intel_th_device *thdev,
+				 struct intel_th_output *output)
+{
+	struct gth_device *gth = dev_get_drvdata(&thdev->dev);
+	int count;
+
+	/*
+	 * Wait until the output port is in reset before we start
+	 * programming it.
+	 */
+	for (count = GTH_PLE_WAITLOOP_DEPTH;
+	     count && !(gth_output_get(gth, output->port) & BIT(5)); count--)
+		cpu_relax();
+}
+
 /**
  * intel_th_gth_enable() - enable tracing to an output device
  * @thdev:	GTH device
@@ -815,6 +830,7 @@ static struct intel_th_driver intel_th_gth_driver = {
 	.assign		= intel_th_gth_assign,
 	.unassign	= intel_th_gth_unassign,
 	.set_output	= intel_th_gth_set_output,
+	.prepare	= intel_th_gth_prepare,
 	.enable		= intel_th_gth_enable,
 	.trig_switch	= intel_th_gth_switch,
 	.disable	= intel_th_gth_disable,
drivers/hwtracing/intel_th/intel_th.h +3 -0
index 5fe694708b7a..595615b79108 100644
@@ -143,6 +143,7 @@ intel_th_output_assigned(struct intel_th_device *thdev)
  * @remove:	remove method
  * @assign:	match a given output type device against available outputs
  * @unassign:	deassociate an output type device from an output port
+ * @prepare:	prepare output port for tracing
  * @enable:	enable tracing for a given output device
  * @disable:	disable tracing for a given output device
  * @irq:	interrupt callback
@@ -164,6 +165,8 @@ struct intel_th_driver {
 					  struct intel_th_device *othdev);
 	void			(*unassign)(struct intel_th_device *thdev,
 					    struct intel_th_device *othdev);
+	void			(*prepare)(struct intel_th_device *thdev,
+					   struct intel_th_output *output);
 	void			(*enable)(struct intel_th_device *thdev,
 					  struct intel_th_output *output);
 	void			(*trig_switch)(struct intel_th_device *thdev,
drivers/i2c/i2c-core-base.c +3 -0
index c13e7f107dd3..bdce6d3e5327 100644
@@ -24,6 +24,7 @@
 #include <linux/i2c-smbus.h>
 #include <linux/idr.h>
 #include <linux/init.h>
+#include <linux/interrupt.h>
 #include <linux/irqflags.h>
 #include <linux/jump_label.h>
 #include <linux/kernel.h>
@@ -585,6 +586,8 @@ static void i2c_device_shutdown(struct device *dev)
 	driver = to_i2c_driver(dev->driver);
 	if (driver->shutdown)
 		driver->shutdown(client);
+	else if (client->irq > 0)
+		disable_irq(client->irq);
 }
 
 static void i2c_client_dev_release(struct device *dev)
drivers/iio/gyro/fxas21002c_core.c +1 -10
index b7523357d8eb..ec6bd15bd2d4 100644
@@ -366,14 +366,7 @@ static int fxas21002c_write(struct fxas21002c_data *data,
 
 static int  fxas21002c_pm_get(struct fxas21002c_data *data)
 {
-	struct device *dev = regmap_get_device(data->regmap);
-	int ret;
-
-	ret = pm_runtime_get_sync(dev);
-	if (ret < 0)
-		pm_runtime_put_noidle(dev);
-
-	return ret;
+	return pm_runtime_resume_and_get(regmap_get_device(data->regmap));
 }
 
 static int  fxas21002c_pm_put(struct fxas21002c_data *data)
@@ -1005,7 +998,6 @@ int fxas21002c_core_probe(struct device *dev, struct regmap *regmap, int irq,
 pm_disable:
 	pm_runtime_disable(dev);
 	pm_runtime_set_suspended(dev);
-	pm_runtime_put_noidle(dev);
 
 	return ret;
 }
@@ -1019,7 +1011,6 @@ void fxas21002c_core_remove(struct device *dev)
 
 	pm_runtime_disable(dev);
 	pm_runtime_set_suspended(dev);
-	pm_runtime_put_noidle(dev);
 }
 EXPORT_SYMBOL_GPL(fxas21002c_core_remove);
 
drivers/iio/magnetometer/bmc150_magn.c +4 -6
index 8042175275d0..8eacfaf584cf 100644
@@ -263,7 +263,7 @@ static int bmc150_magn_set_power_state(struct bmc150_magn_data *data, bool on)
 	int ret;
 
 	if (on) {
-		ret = pm_runtime_get_sync(data->dev);
+		ret = pm_runtime_resume_and_get(data->dev);
 	} else {
 		pm_runtime_mark_last_busy(data->dev);
 		ret = pm_runtime_put_autosuspend(data->dev);
@@ -272,9 +272,6 @@ static int bmc150_magn_set_power_state(struct bmc150_magn_data *data, bool on)
 	if (ret < 0) {
 		dev_err(data->dev,
 			"failed to change power state to %d\n", on);
-		if (on)
-			pm_runtime_put_noidle(data->dev);
-
 		return ret;
 	}
 #endif
@@ -944,12 +941,14 @@ int bmc150_magn_probe(struct device *dev, struct regmap *regmap,
 	ret = iio_device_register(indio_dev);
 	if (ret < 0) {
 		dev_err(dev, "unable to register iio device\n");
-		goto err_buffer_cleanup;
+		goto err_disable_runtime_pm;
 	}
 
 	dev_dbg(dev, "Registered device %s\n", name);
 	return 0;
 
+err_disable_runtime_pm:
+	pm_runtime_disable(dev);
 err_buffer_cleanup:
 	iio_triggered_buffer_cleanup(indio_dev);
 err_free_irq:
@@ -973,7 +972,6 @@ int bmc150_magn_remove(struct device *dev)
 
 	pm_runtime_disable(dev);
 	pm_runtime_set_suspended(dev);
-	pm_runtime_put_noidle(dev);
 
 	iio_triggered_buffer_cleanup(indio_dev);
 
drivers/input/touchscreen/hideep.c +10 -3
index ddad4a82a5e5..e9547ee29756 100644
@@ -361,13 +361,16 @@ static int hideep_enter_pgm(struct hideep_ts *ts)
 	return -EIO;
 }
 
-static void hideep_nvm_unlock(struct hideep_ts *ts)
+static int hideep_nvm_unlock(struct hideep_ts *ts)
 {
 	u32 unmask_code;
+	int error;
 
 	hideep_pgm_w_reg(ts, HIDEEP_FLASH_CFG, HIDEEP_NVM_SFR_RPAGE);
-	hideep_pgm_r_reg(ts, 0x0000000C, &unmask_code);
+	error = hideep_pgm_r_reg(ts, 0x0000000C, &unmask_code);
 	hideep_pgm_w_reg(ts, HIDEEP_FLASH_CFG, HIDEEP_NVM_DEFAULT_PAGE);
+	if (error)
+		return error;
 
 	/* make it unprotected code */
 	unmask_code &= ~HIDEEP_PROT_MODE;
@@ -384,6 +387,8 @@ static void hideep_nvm_unlock(struct hideep_ts *ts)
 	NVM_W_SFR(HIDEEP_NVM_MASK_OFS, ts->nvm_mask);
 	SET_FLASH_HWCONTROL();
 	hideep_pgm_w_reg(ts, HIDEEP_FLASH_CFG, HIDEEP_NVM_DEFAULT_PAGE);
+
+	return 0;
 }
 
 static int hideep_check_status(struct hideep_ts *ts)
@@ -462,7 +467,9 @@ static int hideep_program_nvm(struct hideep_ts *ts,
 	u32 addr = 0;
 	int error;
 
-	hideep_nvm_unlock(ts);
+       error = hideep_nvm_unlock(ts);
+       if (error)
+               return error;
 
 	while (ucode_len > 0) {
 		xfer_len = min_t(size_t, ucode_len, HIDEEP_NVM_PAGE_SIZE);
drivers/iommu/arm/arm-smmu/arm-smmu.c +7 -3
index bcbacf22331d..df24bbe3ea4f 100644
@@ -74,7 +74,7 @@ static bool using_legacy_binding, using_generic_binding;
 static inline int arm_smmu_rpm_get(struct arm_smmu_device *smmu)
 {
 	if (pm_runtime_enabled(smmu->dev))
-		return pm_runtime_get_sync(smmu->dev);
+		return pm_runtime_resume_and_get(smmu->dev);
 
 	return 0;
 }
@@ -1284,6 +1284,7 @@ static phys_addr_t arm_smmu_iova_to_phys_hard(struct iommu_domain *domain,
 	u64 phys;
 	unsigned long va, flags;
 	int ret, idx = cfg->cbndx;
+	phys_addr_t addr = 0;
 
 	ret = arm_smmu_rpm_get(smmu);
 	if (ret < 0)
@@ -1303,6 +1304,7 @@ static phys_addr_t arm_smmu_iova_to_phys_hard(struct iommu_domain *domain,
 		dev_err(dev,
 			"iova to phys timed out on %pad. Falling back to software table walk.\n",
 			&iova);
+		arm_smmu_rpm_put(smmu);
 		return ops->iova_to_phys(ops, iova);
 	}
 
@@ -1311,12 +1313,14 @@ static phys_addr_t arm_smmu_iova_to_phys_hard(struct iommu_domain *domain,
 	if (phys & ARM_SMMU_CB_PAR_F) {
 		dev_err(dev, "translation fault!\n");
 		dev_err(dev, "PAR = 0x%llx\n", phys);
-		return 0;
+		goto out;
 	}
 
+	addr = (phys & GENMASK_ULL(39, 12)) | (iova & 0xfff);
+out:
 	arm_smmu_rpm_put(smmu);
 
-	return (phys & GENMASK_ULL(39, 12)) | (iova & 0xfff);
+	return addr;
 }
 
 static phys_addr_t arm_smmu_iova_to_phys(struct iommu_domain *domain,
drivers/leds/leds-tlc591xx.c +6 -2
index 5b9dfdf743ec..cb7bd1353f9f 100644
@@ -148,16 +148,20 @@ static int
 tlc591xx_probe(struct i2c_client *client,
 	       const struct i2c_device_id *id)
 {
-	struct device_node *np = dev_of_node(&client->dev), *child;
+	struct device_node *np, *child;
 	struct device *dev = &client->dev;
 	const struct tlc591xx *tlc591xx;
 	struct tlc591xx_priv *priv;
 	int err, count, reg;
 
-	tlc591xx = device_get_match_data(dev);
+	np = dev_of_node(dev);
 	if (!np)
 		return -ENODEV;
 
+	tlc591xx = device_get_match_data(dev);
+	if (!tlc591xx)
+		return -ENODEV;
+
 	count = of_get_available_child_count(np);
 	if (!count || count > tlc591xx->max_leds)
 		return -EINVAL;
drivers/leds/leds-turris-omnia.c +1 -0
index 880fc8def530..ec87a958f151 100644
@@ -277,6 +277,7 @@ static const struct i2c_device_id omnia_id[] = {
 	{ "omnia", 0 },
 	{ }
 };
+MODULE_DEVICE_TABLE(i2c, omnia_id);
 
 static struct i2c_driver omnia_leds_driver = {
 	.probe		= omnia_leds_probe,
drivers/memory/atmel-ebi.c +3 -1
index 14386d0b5f57..c267283b01fd 100644
@@ -600,8 +600,10 @@ static int atmel_ebi_probe(struct platform_device *pdev)
 				child);
 
 			ret = atmel_ebi_dev_disable(ebi, child);
-			if (ret)
+			if (ret) {
+				of_node_put(child);
 				return ret;
+			}
 		}
 	}
 
drivers/memory/fsl_ifc.c +4 -4
index 89f99b5b6450..d062c2f8250f 100644
@@ -97,7 +97,6 @@ static int fsl_ifc_ctrl_remove(struct platform_device *dev)
 	iounmap(ctrl->gregs);
 
 	dev_set_drvdata(&dev->dev, NULL);
-	kfree(ctrl);
 
 	return 0;
 }
@@ -209,7 +208,8 @@ static int fsl_ifc_ctrl_probe(struct platform_device *dev)
 
 	dev_info(&dev->dev, "Freescale Integrated Flash Controller\n");
 
-	fsl_ifc_ctrl_dev = kzalloc(sizeof(*fsl_ifc_ctrl_dev), GFP_KERNEL);
+	fsl_ifc_ctrl_dev = devm_kzalloc(&dev->dev, sizeof(*fsl_ifc_ctrl_dev),
+					GFP_KERNEL);
 	if (!fsl_ifc_ctrl_dev)
 		return -ENOMEM;
 
@@ -219,8 +219,7 @@ static int fsl_ifc_ctrl_probe(struct platform_device *dev)
 	fsl_ifc_ctrl_dev->gregs = of_iomap(dev->dev.of_node, 0);
 	if (!fsl_ifc_ctrl_dev->gregs) {
 		dev_err(&dev->dev, "failed to get memory region\n");
-		ret = -ENODEV;
-		goto err;
+		return -ENODEV;
 	}
 
 	if (of_property_read_bool(dev->dev.of_node, "little-endian")) {
@@ -295,6 +294,7 @@ static int fsl_ifc_ctrl_probe(struct platform_device *dev)
 	free_irq(fsl_ifc_ctrl_dev->irq, fsl_ifc_ctrl_dev);
 	irq_dispose_mapping(fsl_ifc_ctrl_dev->irq);
 err:
+	iounmap(fsl_ifc_ctrl_dev->gregs);
 	return ret;
 }
 
drivers/memory/pl353-smc.c +1 -0
index b42804b1801e..cc01979780d8 100644
@@ -407,6 +407,7 @@ static int pl353_smc_probe(struct amba_device *adev, const struct amba_id *id)
 		break;
 	}
 	if (!match) {
+		err = -ENODEV;
 		dev_err(&adev->dev, "no matching children\n");
 		goto out_clk_disable;
 	}
drivers/memory/stm32-fmc2-ebi.c +4 -0
index 4d5758c419c5..ffec26a99313 100644
@@ -1048,16 +1048,19 @@ static int stm32_fmc2_ebi_parse_dt(struct stm32_fmc2_ebi *ebi)
 		if (ret) {
 			dev_err(dev, "could not retrieve reg property: %d\n",
 				ret);
+			of_node_put(child);
 			return ret;
 		}
 
 		if (bank >= FMC2_MAX_BANKS) {
 			dev_err(dev, "invalid reg value: %d\n", bank);
+			of_node_put(child);
 			return -EINVAL;
 		}
 
 		if (ebi->bank_assigned & BIT(bank)) {
 			dev_err(dev, "bank already assigned: %d\n", bank);
+			of_node_put(child);
 			return -EINVAL;
 		}
 
@@ -1066,6 +1069,7 @@ static int stm32_fmc2_ebi_parse_dt(struct stm32_fmc2_ebi *ebi)
 			if (ret) {
 				dev_err(dev, "setup chip select %d failed: %d\n",
 					bank, ret);
+				of_node_put(child);
 				return ret;
 			}
 		}
drivers/mfd/da9052-i2c.c +1 -0
index 47556d2d9abe..8ebfc7bbe4e0 100644
@@ -113,6 +113,7 @@ static const struct i2c_device_id da9052_i2c_id[] = {
 	{"da9053-bc", DA9053_BC},
 	{}
 };
+MODULE_DEVICE_TABLE(i2c, da9052_i2c_id);
 
 #ifdef CONFIG_OF
 static const struct of_device_id dialog_dt_ids[] = {
drivers/mfd/motorola-cpcap.c +4 -0
index 30d82bfe5b02..6fb206da2729 100644
@@ -327,6 +327,10 @@ static int cpcap_probe(struct spi_device *spi)
 	if (ret)
 		return ret;
 
+	/* Parent SPI controller uses DMA, CPCAP and child devices do not */
+	spi->dev.coherent_dma_mask = 0;
+	spi->dev.dma_mask = &spi->dev.coherent_dma_mask;
+
 	return devm_mfd_add_devices(&spi->dev, 0, cpcap_mfd_devices,
 				    ARRAY_SIZE(cpcap_mfd_devices), NULL, 0, NULL);
 }
drivers/mfd/stmpe-i2c.c +1 -1
index 61aa020199f5..cd2f45257dc1 100644
@@ -109,7 +109,7 @@ static const struct i2c_device_id stmpe_i2c_id[] = {
 	{ "stmpe2403", STMPE2403 },
 	{ }
 };
-MODULE_DEVICE_TABLE(i2c, stmpe_id);
+MODULE_DEVICE_TABLE(i2c, stmpe_i2c_id);
 
 static struct i2c_driver stmpe_i2c_driver = {
 	.driver = {
drivers/misc/cardreader/alcor_pci.c +7 -1
index cd402c89189e..de6d44a158bb 100644
@@ -139,7 +139,13 @@ static void alcor_pci_init_check_aspm(struct alcor_pci_priv *priv)
 	u32 val32;
 
 	priv->pdev_cap_off    = alcor_pci_find_cap_offset(priv, priv->pdev);
-	priv->parent_cap_off = alcor_pci_find_cap_offset(priv,
+	/*
+	 * A device might be attached to root complex directly and
+	 * priv->parent_pdev will be NULL. In this case we don't check its
+	 * capability and disable ASPM completely.
+	 */
+	if (priv->parent_pdev)
+		priv->parent_cap_off = alcor_pci_find_cap_offset(priv,
 							 priv->parent_pdev);
 
 	if ((priv->pdev_cap_off == 0) || (priv->parent_cap_off == 0)) {
drivers/misc/habanalabs/gaudi/gaudi.c +2 -1
index 68f661aca3ff..37edd663603f 100644
@@ -2164,7 +2164,7 @@ static void gaudi_init_mme_qman(struct hl_device *hdev, u32 mme_offset,
 
 		/* Configure RAZWI IRQ */
 		mme_id = mme_offset /
-				(mmMME1_QM_GLBL_CFG0 - mmMME0_QM_GLBL_CFG0);
+				(mmMME1_QM_GLBL_CFG0 - mmMME0_QM_GLBL_CFG0) / 2;
 
 		mme_qm_err_cfg = MME_QMAN_GLBL_ERR_CFG_MSG_EN_MASK;
 		if (hdev->stop_on_err) {
@@ -3708,6 +3708,7 @@ static int gaudi_pin_memory_before_cs(struct hl_device *hdev,
 	return 0;
 
 unpin_memory:
+	list_del(&userptr->job_node);
 	hl_unpin_host_memory(hdev, userptr);
 free_userptr:
 	kfree(userptr);
drivers/misc/habanalabs/goya/goya.c +1 -0
index 986ed3c07208..5b5d6275c249 100644
@@ -3190,6 +3190,7 @@ static int goya_pin_memory_before_cs(struct hl_device *hdev,
 	return 0;
 
 unpin_memory:
+	list_del(&userptr->job_node);
 	hl_unpin_host_memory(hdev, userptr);
 free_userptr:
 	kfree(userptr);
drivers/misc/ibmasm/module.c +3 -2
index 4edad6c445d3..dc8a06c06c63 100644
@@ -111,7 +111,7 @@ static int ibmasm_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	result = ibmasm_init_remote_input_dev(sp);
 	if (result) {
 		dev_err(sp->dev, "Failed to initialize remote queue\n");
-		goto error_send_message;
+		goto error_init_remote;
 	}
 
 	result = ibmasm_send_driver_vpd(sp);
@@ -131,8 +131,9 @@ static int ibmasm_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	return 0;
 
 error_send_message:
-	disable_sp_interrupts(sp->base_address);
 	ibmasm_free_remote_input_dev(sp);
+error_init_remote:
+	disable_sp_interrupts(sp->base_address);
 	free_irq(sp->irq, (void *)sp);
 error_request_irq:
 	iounmap(sp->base_address);
drivers/net/virtio_net.c +25 -2
index 91e0e6254a01..7d1f609306f9 100644
@@ -1519,6 +1519,8 @@ static int virtnet_poll_tx(struct napi_struct *napi, int budget)
 	struct virtnet_info *vi = sq->vq->vdev->priv;
 	unsigned int index = vq2txq(sq->vq);
 	struct netdev_queue *txq;
+	int opaque;
+	bool done;
 
 	if (unlikely(is_xdp_raw_buffer_queue(vi, index))) {
 		/* We don't need to enable cb for XDP */
@@ -1528,10 +1530,28 @@ static int virtnet_poll_tx(struct napi_struct *napi, int budget)
 
 	txq = netdev_get_tx_queue(vi->dev, index);
 	__netif_tx_lock(txq, raw_smp_processor_id());
+	virtqueue_disable_cb(sq->vq);
 	free_old_xmit_skbs(sq, true);
+
+	opaque = virtqueue_enable_cb_prepare(sq->vq);
+
+	done = napi_complete_done(napi, 0);
+
+	if (!done)
+		virtqueue_disable_cb(sq->vq);
+
 	__netif_tx_unlock(txq);
 
-	virtqueue_napi_complete(napi, sq->vq, 0);
+	if (done) {
+		if (unlikely(virtqueue_poll(sq->vq, opaque))) {
+			if (napi_schedule_prep(napi)) {
+				__netif_tx_lock(txq, raw_smp_processor_id());
+				virtqueue_disable_cb(sq->vq);
+				__netif_tx_unlock(txq);
+				__napi_schedule(napi);
+			}
+		}
+	}
 
 	if (sq->vq->num_free >= 2 + MAX_SKB_FRAGS)
 		netif_tx_wake_queue(txq);
@@ -3234,8 +3254,11 @@ static __maybe_unused int virtnet_restore(struct virtio_device *vdev)
 	virtnet_set_queues(vi, vi->curr_queue_pairs);
 
 	err = virtnet_cpu_notif_add(vi);
-	if (err)
+	if (err) {
+		virtnet_freeze_down(vdev);
+		remove_vq_common(vi);
 		return err;
+	}
 
 	return 0;
 }
drivers/nvme/target/tcp.c +0 -1
index 4df4f37e6b89..dedcb7aaf0d8 100644
@@ -1467,7 +1467,6 @@ static void nvmet_tcp_state_change(struct sock *sk)
 	case TCP_CLOSE_WAIT:
 	case TCP_CLOSE:
 		/* FALLTHRU */
-		sk->sk_user_data = NULL;
 		nvmet_tcp_schedule_release_queue(queue);
 		break;
 	default:
drivers/pci/controller/dwc/pcie-intel-gw.c +6 -4
index 5650cb78acba..5e1a284fdc53 100644
@@ -39,6 +39,10 @@
 #define PCIE_APP_IRN_PM_TO_ACK		BIT(9)
 #define PCIE_APP_IRN_LINK_AUTO_BW_STAT	BIT(11)
 #define PCIE_APP_IRN_BW_MGT		BIT(12)
+#define PCIE_APP_IRN_INTA		BIT(13)
+#define PCIE_APP_IRN_INTB		BIT(14)
+#define PCIE_APP_IRN_INTC		BIT(15)
+#define PCIE_APP_IRN_INTD		BIT(16)
 #define PCIE_APP_IRN_MSG_LTR		BIT(18)
 #define PCIE_APP_IRN_SYS_ERR_RC		BIT(29)
 #define PCIE_APP_INTX_OFST		12
@@ -48,10 +52,8 @@
 	PCIE_APP_IRN_RX_VDM_MSG | PCIE_APP_IRN_SYS_ERR_RC | \
 	PCIE_APP_IRN_PM_TO_ACK | PCIE_APP_IRN_MSG_LTR | \
 	PCIE_APP_IRN_BW_MGT | PCIE_APP_IRN_LINK_AUTO_BW_STAT | \
-	(PCIE_APP_INTX_OFST + PCI_INTERRUPT_INTA) | \
-	(PCIE_APP_INTX_OFST + PCI_INTERRUPT_INTB) | \
-	(PCIE_APP_INTX_OFST + PCI_INTERRUPT_INTC) | \
-	(PCIE_APP_INTX_OFST + PCI_INTERRUPT_INTD))
+	PCIE_APP_IRN_INTA | PCIE_APP_IRN_INTB | \
+	PCIE_APP_IRN_INTC | PCIE_APP_IRN_INTD)
 
 #define BUS_IATU_OFFSET			SZ_256M
 #define RESET_INTERVAL_MS		100
drivers/pci/controller/dwc/pcie-tegra194.c +1 -1
index d788f4d7f9aa..506f6a294eac 100644
@@ -1841,7 +1841,7 @@ static int tegra_pcie_ep_raise_msi_irq(struct tegra_pcie_dw *pcie, u16 irq)
 	if (unlikely(irq > 31))
 		return -EINVAL;
 
-	appl_writel(pcie, (1 << irq), APPL_MSI_CTRL_1);
+	appl_writel(pcie, BIT(irq), APPL_MSI_CTRL_1);
 
 	return 0;
 }
drivers/pci/controller/pci-ftpci100.c +15 -15
index da3cd216da00..aefef1986201 100644
@@ -34,12 +34,12 @@
  * Special configuration registers directly in the first few words
  * in I/O space.
  */
-#define PCI_IOSIZE	0x00
-#define PCI_PROT	0x04 /* AHB protection */
-#define PCI_CTRL	0x08 /* PCI control signal */
-#define PCI_SOFTRST	0x10 /* Soft reset counter and response error enable */
-#define PCI_CONFIG	0x28 /* PCI configuration command register */
-#define PCI_DATA	0x2C
+#define FTPCI_IOSIZE	0x00
+#define FTPCI_PROT	0x04 /* AHB protection */
+#define FTPCI_CTRL	0x08 /* PCI control signal */
+#define FTPCI_SOFTRST	0x10 /* Soft reset counter and response error enable */
+#define FTPCI_CONFIG	0x28 /* PCI configuration command register */
+#define FTPCI_DATA	0x2C
 
 #define FARADAY_PCI_STATUS_CMD		0x04 /* Status and command */
 #define FARADAY_PCI_PMC			0x40 /* Power management control */
@@ -195,9 +195,9 @@ static int faraday_raw_pci_read_config(struct faraday_pci *p, int bus_number,
 			PCI_CONF_FUNCTION(PCI_FUNC(fn)) |
 			PCI_CONF_WHERE(config) |
 			PCI_CONF_ENABLE,
-			p->base + PCI_CONFIG);
+			p->base + FTPCI_CONFIG);
 
-	*value = readl(p->base + PCI_DATA);
+	*value = readl(p->base + FTPCI_DATA);
 
 	if (size == 1)
 		*value = (*value >> (8 * (config & 3))) & 0xFF;
@@ -230,17 +230,17 @@ static int faraday_raw_pci_write_config(struct faraday_pci *p, int bus_number,
 			PCI_CONF_FUNCTION(PCI_FUNC(fn)) |
 			PCI_CONF_WHERE(config) |
 			PCI_CONF_ENABLE,
-			p->base + PCI_CONFIG);
+			p->base + FTPCI_CONFIG);
 
 	switch (size) {
 	case 4:
-		writel(value, p->base + PCI_DATA);
+		writel(value, p->base + FTPCI_DATA);
 		break;
 	case 2:
-		writew(value, p->base + PCI_DATA + (config & 3));
+		writew(value, p->base + FTPCI_DATA + (config & 3));
 		break;
 	case 1:
-		writeb(value, p->base + PCI_DATA + (config & 3));
+		writeb(value, p->base + FTPCI_DATA + (config & 3));
 		break;
 	default:
 		ret = PCIBIOS_BAD_REGISTER_NUMBER;
@@ -469,7 +469,7 @@ static int faraday_pci_probe(struct platform_device *pdev)
 		if (!faraday_res_to_memcfg(io->start - win->offset,
 					   resource_size(io), &val)) {
 			/* setup I/O space size */
-			writel(val, p->base + PCI_IOSIZE);
+			writel(val, p->base + FTPCI_IOSIZE);
 		} else {
 			dev_err(dev, "illegal IO mem size\n");
 			return -EINVAL;
@@ -477,11 +477,11 @@ static int faraday_pci_probe(struct platform_device *pdev)
 	}
 
 	/* Setup hostbridge */
-	val = readl(p->base + PCI_CTRL);
+	val = readl(p->base + FTPCI_CTRL);
 	val |= PCI_COMMAND_IO;
 	val |= PCI_COMMAND_MEMORY;
 	val |= PCI_COMMAND_MASTER;
-	writel(val, p->base + PCI_CTRL);
+	writel(val, p->base + FTPCI_CTRL);
 	/* Mask and clear all interrupts */
 	faraday_raw_pci_write_config(p, 0, 0, FARADAY_PCI_CTRL2 + 2, 2, 0xF000);
 	if (variant->cascaded_irq) {
drivers/pci/controller/pci-hyperv.c +23 -7
index d57c538bbb2d..44e15f0e3a2e 100644
@@ -444,7 +444,6 @@ enum hv_pcibus_state {
 	hv_pcibus_probed,
 	hv_pcibus_installed,
 	hv_pcibus_removing,
-	hv_pcibus_removed,
 	hv_pcibus_maximum
 };
 
@@ -3247,8 +3246,9 @@ static int hv_pci_bus_exit(struct hv_device *hdev, bool keep_devs)
 		struct pci_packet teardown_packet;
 		u8 buffer[sizeof(struct pci_message)];
 	} pkt;
-	struct hv_dr_state *dr;
 	struct hv_pci_compl comp_pkt;
+	struct hv_pci_dev *hpdev, *tmp;
+	unsigned long flags;
 	int ret;
 
 	/*
@@ -3260,9 +3260,16 @@ static int hv_pci_bus_exit(struct hv_device *hdev, bool keep_devs)
 
 	if (!keep_devs) {
 		/* Delete any children which might still exist. */
-		dr = kzalloc(sizeof(*dr), GFP_KERNEL);
-		if (dr && hv_pci_start_relations_work(hbus, dr))
-			kfree(dr);
+		spin_lock_irqsave(&hbus->device_list_lock, flags);
+		list_for_each_entry_safe(hpdev, tmp, &hbus->children, list_entry) {
+			list_del(&hpdev->list_entry);
+			if (hpdev->pci_slot)
+				pci_destroy_slot(hpdev->pci_slot);
+			/* For the two refs got in new_pcichild_device() */
+			put_pcichild(hpdev);
+			put_pcichild(hpdev);
+		}
+		spin_unlock_irqrestore(&hbus->device_list_lock, flags);
 	}
 
 	ret = hv_send_resources_released(hdev);
@@ -3305,13 +3312,23 @@ static int hv_pci_remove(struct hv_device *hdev)
 
 	hbus = hv_get_drvdata(hdev);
 	if (hbus->state == hv_pcibus_installed) {
+		tasklet_disable(&hdev->channel->callback_event);
+		hbus->state = hv_pcibus_removing;
+		tasklet_enable(&hdev->channel->callback_event);
+		destroy_workqueue(hbus->wq);
+		hbus->wq = NULL;
+		/*
+		 * At this point, no work is running or can be scheduled
+		 * on hbus-wq. We can't race with hv_pci_devices_present()
+		 * or hv_pci_eject_device(), it's safe to proceed.
+		 */
+
 		/* Remove the bus from PCI's point of view. */
 		pci_lock_rescan_remove();
 		pci_stop_root_bus(hbus->pci_bus);
 		hv_pci_remove_slots(hbus);
 		pci_remove_root_bus(hbus->pci_bus);
 		pci_unlock_rescan_remove();
-		hbus->state = hv_pcibus_removed;
 	}
 
 	ret = hv_pci_bus_exit(hdev, false);
@@ -3326,7 +3343,6 @@ static int hv_pci_remove(struct hv_device *hdev)
 	irq_domain_free_fwnode(hbus->sysdata.fwnode);
 	put_hvpcibus(hbus);
 	wait_for_completion(&hbus->remove_event);
-	destroy_workqueue(hbus->wq);
 
 	hv_put_dom_num(hbus->sysdata.domain);
 
drivers/pci/controller/pci-tegra.c +1 -0
index 8fcabed7c6a6..1a2af963599c 100644
@@ -2506,6 +2506,7 @@ static const struct of_device_id tegra_pcie_of_match[] = {
 	{ .compatible = "nvidia,tegra20-pcie", .data = &tegra20_pcie },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, tegra_pcie_of_match);
 
 static void *tegra_pcie_ports_seq_start(struct seq_file *s, loff_t *pos)
 {
drivers/pci/controller/pcie-iproc-msi.c +18 -11
index eede4e8f3f75..81b4effeb130 100644
@@ -171,7 +171,7 @@ static struct irq_chip iproc_msi_irq_chip = {
 
 static struct msi_domain_info iproc_msi_domain_info = {
 	.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX,
+		MSI_FLAG_PCI_MSIX,
 	.chip = &iproc_msi_irq_chip,
 };
 
@@ -250,20 +250,23 @@ static int iproc_msi_irq_domain_alloc(struct irq_domain *domain,
 	struct iproc_msi *msi = domain->host_data;
 	int hwirq, i;
 
+	if (msi->nr_cpus > 1 && nr_irqs > 1)
+		return -EINVAL;
+
 	mutex_lock(&msi->bitmap_lock);
 
-	/* Allocate 'nr_cpus' number of MSI vectors each time */
-	hwirq = bitmap_find_next_zero_area(msi->bitmap, msi->nr_msi_vecs, 0,
-					   msi->nr_cpus, 0);
-	if (hwirq < msi->nr_msi_vecs) {
-		bitmap_set(msi->bitmap, hwirq, msi->nr_cpus);
-	} else {
-		mutex_unlock(&msi->bitmap_lock);
-		return -ENOSPC;
-	}
+	/*
+	 * Allocate 'nr_irqs' multiplied by 'nr_cpus' number of MSI vectors
+	 * each time
+	 */
+	hwirq = bitmap_find_free_region(msi->bitmap, msi->nr_msi_vecs,
+					order_base_2(msi->nr_cpus * nr_irqs));
 
 	mutex_unlock(&msi->bitmap_lock);
 
+	if (hwirq < 0)
+		return -ENOSPC;
+
 	for (i = 0; i < nr_irqs; i++) {
 		irq_domain_set_info(domain, virq + i, hwirq + i,
 				    &iproc_msi_bottom_irq_chip,
@@ -284,7 +287,8 @@ static void iproc_msi_irq_domain_free(struct irq_domain *domain,
 	mutex_lock(&msi->bitmap_lock);
 
 	hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq);
-	bitmap_clear(msi->bitmap, hwirq, msi->nr_cpus);
+	bitmap_release_region(msi->bitmap, hwirq,
+			      order_base_2(msi->nr_cpus * nr_irqs));
 
 	mutex_unlock(&msi->bitmap_lock);
 
@@ -539,6 +543,9 @@ int iproc_msi_init(struct iproc_pcie *pcie, struct device_node *node)
 	mutex_init(&msi->bitmap_lock);
 	msi->nr_cpus = num_possible_cpus();
 
+	if (msi->nr_cpus == 1)
+		iproc_msi_domain_info.flags |=  MSI_FLAG_MULTI_PCI_MSI;
+
 	msi->nr_irqs = of_irq_count(node);
 	if (!msi->nr_irqs) {
 		dev_err(pcie->dev, "found no MSI GIC interrupt\n");
drivers/pci/controller/pcie-rockchip-host.c +6 -6
index 9705059523a6..0d6df73bb918 100644
@@ -593,10 +593,6 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip)
 	if (err)
 		return err;
 
-	err = rockchip_pcie_setup_irq(rockchip);
-	if (err)
-		return err;
-
 	rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v");
 	if (IS_ERR(rockchip->vpcie12v)) {
 		if (PTR_ERR(rockchip->vpcie12v) != -ENODEV)
@@ -974,8 +970,6 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
 	if (err)
 		goto err_vpcie;
 
-	rockchip_pcie_enable_interrupts(rockchip);
-
 	err = rockchip_pcie_init_irq_domain(rockchip);
 	if (err < 0)
 		goto err_deinit_port;
@@ -993,6 +987,12 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
 	bridge->sysdata = rockchip;
 	bridge->ops = &rockchip_pcie_ops;
 
+	err = rockchip_pcie_setup_irq(rockchip);
+	if (err)
+		goto err_remove_irq_domain;
+
+	rockchip_pcie_enable_interrupts(rockchip);
+
 	err = pci_host_probe(bridge);
 	if (err < 0)
 		goto err_remove_irq_domain;
drivers/pci/hotplug/pciehp_hpc.c +36 -0
index fb3840e222ad..9d06939736c0 100644
@@ -563,6 +563,32 @@ void pciehp_power_off_slot(struct controller *ctrl)
 		 PCI_EXP_SLTCTL_PWR_OFF);
 }
 
+static void pciehp_ignore_dpc_link_change(struct controller *ctrl,
+					  struct pci_dev *pdev, int irq)
+{
+	/*
+	 * Ignore link changes which occurred while waiting for DPC recovery.
+	 * Could be several if DPC triggered multiple times consecutively.
+	 */
+	synchronize_hardirq(irq);
+	atomic_and(~PCI_EXP_SLTSTA_DLLSC, &ctrl->pending_events);
+	if (pciehp_poll_mode)
+		pcie_capability_write_word(pdev, PCI_EXP_SLTSTA,
+					   PCI_EXP_SLTSTA_DLLSC);
+	ctrl_info(ctrl, "Slot(%s): Link Down/Up ignored (recovered by DPC)\n",
+		  slot_name(ctrl));
+
+	/*
+	 * If the link is unexpectedly down after successful recovery,
+	 * the corresponding link change may have been ignored above.
+	 * Synthesize it to ensure that it is acted on.
+	 */
+	down_read(&ctrl->reset_lock);
+	if (!pciehp_check_link_active(ctrl))
+		pciehp_request(ctrl, PCI_EXP_SLTSTA_DLLSC);
[… more lines in the raw message]

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

drivers/pci/p2pdma.c +32 -2
index de1c331dbed4..f07c5dbc94e1 100644

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

drivers/pci/pci-label.c +1 -1
index 781e45cf60d1..cd84cf52a92e 100644

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

drivers/pci/pci.h +4 -0
index 09ebc134d0d7..a96dc6f53076 100644

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

drivers/pci/pcie/dpc.c +69 -5

74 lines not on this page · raw message

drivers/phy/intel/phy-intel-keembay-emmc.c +2 -1
index eb7c635ed89a..0eb11ac7c2e2 100644

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

drivers/power/reset/gpio-poweroff.c +1 -0
index c5067eb75370..1c5af2fef142 100644

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

drivers/power/supply/Kconfig +2 -1
index 1699b9269a78..0aa46b451017 100644

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

drivers/power/supply/ab8500_btemp.c +1 -0
index 909f0242bacb..4417d64c31f9 100644

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

drivers/power/supply/ab8500_charger.c +18 -1
index db65be026920..3d627768ad7b 100644

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

drivers/power/supply/ab8500_fg.c +1 -0
index 592a73d4dde6..f1da757c939f 100644

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

drivers/power/supply/charger-manager.c +1 -0
index 6fcebe441552..333349275b96 100644

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

drivers/power/supply/max17042_battery.c +1 -1
index 2e9672fe4df1..794caf03658d 100644

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

drivers/power/supply/rt5033_battery.c +7 -0
index f330452341f0..9ad0afe83d1b 100644

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

drivers/power/supply/sc2731_charger.c +1 -0
index 335cb857ef30..288b79836c13 100644

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

drivers/power/supply/sc27xx_fuel_gauge.c +1 -0
index 9c627618c224..1ae8374e1ceb 100644

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

drivers/pwm/pwm-img.c +1 -1
index a34d95ed70b2..22c002e685b3 100644

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

drivers/pwm/pwm-imx1.c +0 -2
index f8b2c2e001a7..c17652c40e14 100644

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

drivers/pwm/pwm-spear.c +0 -4
index 6c6b44fd3f43..2d11ac277de8 100644

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

drivers/pwm/pwm-tegra.c +0 -13
index 1daf591025c0..8c4e6657b61e 100644

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

drivers/remoteproc/remoteproc_cdev.c +1 -1
index b19ea3057bde..ff92ed25d8b0 100644

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

drivers/remoteproc/remoteproc_core.c +1 -1
index dab2c0f5caf0..47924d5ed4f5 100644

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

drivers/remoteproc/ti_k3_r5_remoteproc.c +1 -1
index d9307935441d..afeb9d6e4313 100644

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

drivers/reset/Kconfig +3 -1
index 07d162b179fc..147543ad303f 100644

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

drivers/reset/core.c +4 -1
index a2df88e90011..f93388b9a4a1 100644

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

drivers/reset/reset-a10sr.c +1 -0
index 7eacc89382f8..99b3bc8382f3 100644

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

drivers/reset/reset-brcmstb.c +1 -0
index f213264c8567..42c9d5241c53 100644

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

drivers/rtc/proc.c +2 -2
index 73344598fc1b..cbcdbb19d848 100644

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

drivers/s390/char/sclp_vt220.c +2 -2
index 3f9a6ef650fa..3c2ed6d01387 100644

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

drivers/s390/scsi/zfcp_sysfs.c +1 -0
index 8d9662e8b717..3c7f5ecf5511 100644

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

drivers/scsi/arcmsr/arcmsr_hba.c +15 -4
index e4fdb473b990..9294a2c677b3 100644

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

drivers/scsi/be2iscsi/be_main.c +3 -2
index 5c3513a4b450..987dc8135a9b 100644

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

drivers/scsi/bnx2i/bnx2i_iscsi.c +1 -1
index fdd446765311..21efc73b87be 100644

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

drivers/scsi/cxgbi/libcxgbi.c +2 -2
index f078b3c4e083..ecb134b4699f 100644

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

drivers/scsi/device_handler/scsi_dh_alua.c +6 -5
index df5a3bbeba5e..fe8a5e5c0df8 100644

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

drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +6 -6
index 6c2a97f80b12..2e529d67de73 100644

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

drivers/scsi/hosts.c +4 -0
index b93dd8ef4ac8..da3920a19d53 100644

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

drivers/scsi/libiscsi.c +57 -65

122 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_els.c +9 -0
index b60945182db8..3d9889b3d5c8 100644

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

drivers/scsi/lpfc/lpfc_sli.c +3 -2
index bf171ef61abd..990b700de689 100644

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

drivers/scsi/megaraid/megaraid_sas.h +12 -0
index 5e4137f10e0e..6b8ec57e8bdf 100644

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

drivers/scsi/megaraid/megaraid_sas_base.c +88 -8

96 lines not on this page · raw message

drivers/scsi/megaraid/megaraid_sas_fp.c +5 -1
index b6c08d620033..83f69c33b01a 100644

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

drivers/scsi/megaraid/megaraid_sas_fusion.c +8 -2
index b0c01cf0428f..13022a42fd6f 100644

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

drivers/scsi/mpt3sas/mpt3sas_scsih.c +22 -0
index 008f734698f7..31c384108bc9 100644

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

drivers/scsi/qedi/qedi.h +1 -0
index c342defc3f52..ce199a7a16b8 100644

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

drivers/scsi/qedi/qedi_fw.c +2 -22
index 440ddd2309f1..4c87640e6a91 100644

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

drivers/scsi/qedi/qedi_iscsi.c +32 -5
index 08c05403cd72..f51723e2d522 100644

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

drivers/scsi/qedi/qedi_main.c +1 -1
index 69c5b5ee2169..b33eff9ea80b 100644

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

drivers/scsi/scsi_lib.c +6 -4
index a045d00509d5..d89db29fa829 100644

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

drivers/scsi/scsi_transport_iscsi.c +12 -0
index 2735178f15c7..2171dab3e5dc 100644

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

drivers/scsi/scsi_transport_sas.c +4 -5
index c9abed8429c9..4a96fb05731d 100644

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

drivers/scsi/sd.c +6 -6
index 01f87bcab3dd..f0c0935d7909 100644

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

drivers/scsi/sr.c +1 -1
index 77961f058367..726b7048a767 100644

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

drivers/scsi/storvsc_drv.c +33 -28

61 lines not on this page · raw message

drivers/staging/rtl8723bs/hal/odm.h +1 -4
index 16e8f66a3171..a8d232245227 100644

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

drivers/thermal/rcar_gen3_thermal.c +1 -1
index 0dd47dca3e77..8d724d92d57f 100644

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

drivers/thermal/sprd_thermal.c +1 -0
index 3682edb2f466..fe06cccf14b3 100644

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

drivers/tty/serial/8250/serial_cs.c +10 -1
index 1d3ec8503cef..7c3ea68e533e 100644

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

drivers/tty/serial/fsl_lpuart.c +9 -0
index de5ee4aad9f3..2e74c88808db 100644

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

drivers/tty/serial/uartlite.c +6 -21
index 09379db613d8..7081ab322b40 100644

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

drivers/usb/common/usb-conn-gpio.c +26 -18

44 lines not on this page · raw message

drivers/usb/gadget/function/f_hid.c +1 -1
index e55699308117..a82b3de1a54b 100644

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

drivers/usb/gadget/legacy/hid.c +3 -1
index c4eda7fe7ab4..5b27d289443f 100644

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

drivers/vdpa/mlx5/net/mlx5_vnet.c +16 -12
index 8af30d07f688..fe7ed3212473 100644

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

drivers/video/backlight/lm3630a_bl.c +6 -6
index 662029d6a3dc..419b0334cf08 100644

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

drivers/video/fbdev/core/fbmem.c +5 -7
index 8268bbee8cae..98030d75833b 100644

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

drivers/w1/slaves/w1_ds2438.c +2 -2
index 5cfb0ae23e91..5698566b0ee0 100644

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

drivers/watchdog/aspeed_wdt.c +1 -1
index 7e00960651fa..507fd815d767 100644

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

drivers/watchdog/iTCO_wdt.c +9 -3
index a370a185a41c..519a539eeb9e 100644

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

drivers/watchdog/imx_sc_wdt.c +4 -7
index e9ee22a7cb45..8ac021748d16 100644

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

drivers/watchdog/jz4740_wdt.c +2 -2
index bdf9564efa29..395bde79e292 100644

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

drivers/watchdog/lpc18xx_wdt.c +1 -1
index 78cf11c94941..60b6d74f267d 100644

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

drivers/watchdog/sbc60xxwdt.c +1 -1
index a947a63fb44a..7b974802dfc7 100644

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

drivers/watchdog/sc520_wdt.c +1 -1
index e66e6b905964..ca65468f4b9c 100644

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

drivers/watchdog/w83877f_wdt.c +1 -1
index 5772cc5d3780..f2650863fd02 100644

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

fs/ceph/addr.c +1 -9
index 8b0507f69c15..3465ff95cb89 100644

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

fs/cifs/connect.c +2 -4
index fb7088d57e46..8ffe8063e42c 100644

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

fs/f2fs/gc.c +1 -0
index 9b38cef4d50f..e02affb5c0e7 100644

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

fs/f2fs/namei.c +12 -4
index 5f7ab4f11322..17d0e5f4efec 100644

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

fs/f2fs/super.c +1 -0
index 4af02719bb14..c52988067887 100644

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

fs/jfs/jfs_logmgr.c +1 -0
index 9330eff210e0..78fd136ac13b 100644

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

fs/nfs/delegation.c +56 -15

71 lines not on this page · raw message

fs/nfs/delegation.h +1 -0
index 9b00a0b7f832..26f57a99da84 100644

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

fs/nfs/direct.c +7 -10
index 2d30a4da49fa..2e894fec036b 100644

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

fs/nfs/inode.c +4 -0
index dc2cbca98fb0..9811880470a0 100644

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

fs/nfs/nfs3proc.c +2 -2
index 2397ceedba8a..e1491def7124 100644

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

fs/nfs/nfs4_fs.h +1 -0
index 543d916f79ab..3e344bec3647 100644

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

fs/nfs/nfs4client.c +42 -40

82 lines not on this page · raw message

fs/nfs/pnfs.c +20 -20
index 4d20125e982a..371665e0c154 100644

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

fs/nfs/pnfs_nfs.c +26 -26

52 lines not on this page · raw message

fs/nfsd/nfs4state.c +0 -3
index ac20f79bbedd..80e394a2e3fd 100644

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

fs/nfsd/trace.h +0 -29
index 99bf07800cd0..c8ca73d69ad0 100644

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

fs/nfsd/vfs.c +16 -2
index 1ecaceebee13..011cd570b50d 100644

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

fs/orangefs/super.c +1 -1
index ee5efdc35cc1..2f2e430461b2 100644

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

fs/seq_file.c +3 -0
index 03a369ccd28c..472714716be6 100644

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

fs/ubifs/dir.c +7 -0
index 08fde777c324..ad90a3a64293 100644

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

fs/ubifs/journal.c +2 -1
index 091c2ad8f211..7274bd23881b 100644

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

fs/ubifs/xattr.c +1 -1
index 09280796fc61..17745f5462f0 100644

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

include/linux/compiler-clang.h +17 -0
index 189149de77a9..9ba951e3a6c2 100644

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

include/linux/compiler-gcc.h +6 -0
index 555ab0fddbef..4cf524ccab43 100644

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

include/linux/compiler_types.h +1 -1
index ac3fa37a84f9..2a1c202baa1f 100644

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

include/linux/nfs_fs.h +1 -0
index a2c6455ea3fa..91a6525a98cb 100644

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

include/linux/rcupdate.h +1 -1
index c5adba5e79e7..7d12c76e8fa4 100644

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

include/linux/sched/signal.h +12 -7
index 4b6a8234d7fc..657640015b33 100644

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

include/scsi/libiscsi.h +5 -6
index b3bbd10eb3f0..2b5f97224f69 100644

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

include/scsi/scsi_transport_iscsi.h +2 -0
index fc5a39839b4b..f28bb20d6271 100644

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

kernel/cgroup/cgroup-v1.c +2 -0
index f6dddb3a8f4a..04eb28f7735f 100644

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

kernel/jump_label.c +8 -5
index a0c325664190..4ae693ce71a4 100644

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

kernel/rcu/rcu.h +2 -0
index e01cba5e4b52..fcf95d1eec69 100644

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

kernel/rcu/srcutree.c +3 -0
index c13348ee80a5..68ceac387844 100644

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

kernel/rcu/tree.c +15 -1
index 45b60e997461..8c3ba0185082 100644

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

kernel/rcu/update.c +1 -1
index 39334d2d2b37..849f0aa99333 100644

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

kernel/sched/sched.h +14 -7
index fdebfcbdfca9..39112ac7ab34 100644

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

kernel/static_call.c +8 -5
index f59089a12231..b62a0c41c905 100644

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

kernel/trace/trace_events_hist.c +3 -3
index 0b24938cbe92..49d886b328dc 100644

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

lib/decompress_unlz4.c +8 -0
index c0cfcfd486be..e6327391b6b6 100644

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

net/bridge/br_multicast.c +6 -0
index 5015ece7adf7..e5328a2777ec 100644

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

net/sunrpc/xprtsock.c +2 -1
index c56a66cdf4ac..9c0f71e82d97 100644

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

sound/ac97/bus.c +1 -1
index 7985dd8198b6..99e1728b52ae 100644

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

sound/firewire/Kconfig +3 -2
index 9897bd26a438..12664c3a1414 100644

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

sound/firewire/bebob/bebob.c +4 -1
index daeecfa8b9aa..67fa0f2178b0 100644

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

sound/firewire/motu/motu-protocol-v2.c +6 -7
index 784073aa1026..f0a0ecad4d74 100644

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

sound/firewire/oxfw/oxfw.c +1 -1
index 9eea25c46dc7..5490637d278a 100644

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

sound/isa/cmi8330.c +1 -1
index 4669eb0cc8ce..5434cc90db1d 100644

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

sound/isa/sb/sb16_csp.c +6 -2
index 1528e04a4d28..dbcd9ab2c2b7 100644

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

sound/pci/hda/hda_tegra.c +3 -0
index 361cf2041911..07787698b973 100644

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

sound/ppc/powermac.c +5 -1
index 96ef55082bf9..b135d114ce89 100644

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

sound/soc/img/img-i2s-in.c +1 -1
index 0843235d73c9..fd3432a1d6ab 100644

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

sound/soc/intel/boards/kbl_da7219_max98357a.c +2 -2
index dc3d897ad280..36f1f49e0b76 100644

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

sound/soc/intel/boards/sof_da7219_max98373.c +1 -0
index f3cb0773e70e..8d1ad892e86b 100644

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

sound/soc/intel/boards/sof_rt5682.c +1 -0
index ddbb9fe7cc06..1f94fa5a15db 100644

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

sound/soc/intel/boards/sof_sdw.c +17 -2
index 75a0bfedb449..2770e8179983 100644

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

sound/soc/intel/boards/sof_sdw_common.h +1 -0
index f3cb6796363e..ea60e8ed215c 100644

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

sound/soc/intel/common/soc-acpi-intel-kbl-match.c +1 -1
index a4fbe6707ca7..4ed1349affc4 100644

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

sound/soc/soc-core.c +1 -1
index b22674e3a89c..e677422c1058 100644

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

sound/soc/soc-pcm.c +1 -1
index 91bf33958159..8b8a9aca2912 100644

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

sound/usb/mixer_scarlett_gen2.c +22 -17
index 97e72b3e06c2..1b7c7b754c38 100644

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

sound/usb/usx2y/usX2Yhwdep.c +28 -28

56 lines not on this page · raw message

sound/usb/usx2y/usX2Yhwdep.h +1 -1
index 457199b5ed03..34cef625712c 100644

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

sound/usb/usx2y/usb_stream.c +5 -2
index 091c071b270a..cff684942c4f 100644

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

sound/usb/usx2y/usbus428ctldefs.h +51 -51

102 lines not on this page · raw message

sound/usb/usx2y/usbusx2y.c +109 -109

218 lines not on this page · raw message

sound/usb/usx2y/usbusx2y.h +29 -29

58 lines not on this page · raw message

sound/usb/usx2y/usbusx2yaudio.c +224 -224

448 lines not on this page · raw message

sound/usb/usx2y/usx2yhwdeppcm.c +205 -205

410 lines not on this page · raw message

sound/usb/usx2y/usx2yhwdeppcm.h +2 -2
index eb5a46466f0e..731b1c5a3474 100644

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

tools/testing/selftests/powerpc/pmu/ebb/no_handler_test.c +0 -2
index fc5bf4870d8e..01e827c31169 100644

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

tools/testing/selftests/timers/rtcpie.c +9 -1
index 47b5bad1b393..4ef2184f1558 100644

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

virt/kvm/coalesced_mmio.c +1 -1
index 6edfcf1f3bd6..d5bebb37238c 100644

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

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

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