Skip to contentSkip to conversation

Linux 5.4.243

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages May 17, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.243 kernel.

All users of the 5.4 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/media/uapi/v4l/subdev-formats.rst             |   27 +
 Makefile                                                    |    2 
 arch/arm/boot/dts/exynos4412-itop-elite.dts                 |    2 
 arch/arm/boot/dts/qcom-ipq4019.dtsi                         |    4 
 arch/arm/boot/dts/qcom-ipq8064.dtsi                         |   12 
 arch/arm/boot/dts/s5pv210.dtsi                              |    2 
 arch/arm64/boot/dts/renesas/r8a774c0.dtsi                   |    3 
 arch/arm64/boot/dts/renesas/r8a77990.dtsi                   |    3 
 arch/arm64/include/asm/debug-monitors.h                     |    1 
 arch/arm64/kernel/debug-monitors.c                          |    5 
 arch/arm64/kernel/kgdb.c                                    |    2 
 arch/ia64/kernel/salinfo.c                                  |    2 
 arch/ia64/mm/contig.c                                       |    2 
 arch/mips/fw/lib/cmdline.c                                  |    2 
 arch/openrisc/kernel/entry.S                                |    6 
 arch/parisc/kernel/real2.S                                  |    5 
 arch/powerpc/kernel/rtas.c                                  |    2 
 arch/powerpc/platforms/512x/clock-commonclk.c               |    2 
 arch/powerpc/platforms/embedded6xx/flipper-pic.c            |    2 
 arch/powerpc/platforms/embedded6xx/hlwd-pic.c               |    2 
 arch/powerpc/platforms/embedded6xx/wii.c                    |    4 
 arch/powerpc/sysdev/tsi108_pci.c                            |    5 
 arch/sh/kernel/cpu/sh4/sq.c                                 |    2 
 arch/sh/kernel/head_32.S                                    |    6 
 arch/sh/kernel/nmi_debug.c                                  |    4 
 arch/sh/kernel/setup.c                                      |    4 
 arch/sh/math-emu/sfp-util.h                                 |    4 
 arch/x86/kernel/apic/apic.c                                 |    5 
 arch/x86/kernel/apic/io_apic.c                              |   14 
 arch/x86/kvm/vmx/vmx.c                                      |   15 
 crypto/drbg.c                                               |   16 
 drivers/base/cpu.c                                          |    3 
 drivers/base/power/domain.c                                 |  194 ++++----
 drivers/base/power/domain_governor.c                        |   12 
 drivers/block/drbd/drbd_receiver.c                          |    2 
 drivers/bluetooth/btsdio.c                                  |    1 
 drivers/char/ipmi/ipmi_ssif.c                               |    8 
 drivers/char/tpm/tpm_tis_core.c                             |   29 -
 drivers/clk/clk-conf.c                                      |   12 
 drivers/clk/rockchip/clk-rk3399.c                           |    2 
 drivers/clocksource/timer-davinci.c                         |   48 +-
 drivers/counter/104-quad-8.c                                |   30 -
 drivers/crypto/inside-secure/safexcel.c                     |   50 +-
 drivers/crypto/inside-secure/safexcel.h                     |    3 
 drivers/dma/at_xdmac.c                                      |    5 
 drivers/dma/dw-edma/dw-edma-core.c                          |   27 -
 drivers/dma/mv_xor_v2.c                                     |    2 
 drivers/edac/skx_base.c                                     |    4 
 drivers/firmware/qcom_scm.c                                 |    3 
 drivers/firmware/raspberrypi.c                              |   70 ++
 drivers/firmware/stratix10-svc.c                            |    4 
 drivers/fpga/fpga-bridge.c                                  |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c                   |    6 
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c                       |    3 
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c                       |    1 
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c                      |    8 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c           |    5 
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c           |    3 
 drivers/gpu/drm/drm_fb_helper.c                             |    3 
 drivers/gpu/drm/drm_probe_helper.c                          |    5 
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c               |    4 
 drivers/gpu/drm/exynos/exynos_drm_dsi.c                     |    7 
 drivers/gpu/drm/lima/lima_drv.c                             |    6 
 drivers/gpu/drm/msm/adreno/adreno_device.c                  |    7 
 drivers/gpu/drm/msm/adreno/adreno_gpu.c                     |    5 
 drivers/gpu/drm/panel/panel-orisetech-otm8009a.c            |    2 
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c                 |    3 
 drivers/gpu/drm/vgem/vgem_fence.c                           |    1 
 drivers/hid/wacom_wac.c                                     |   38 +
 drivers/hid/wacom_wac.h                                     |    1 
 drivers/i2c/busses/i2c-omap.c                               |    2 
 drivers/iio/adc/palmas_gpadc.c                              |    2 
 drivers/iio/light/max44009.c                                |   13 
 drivers/infiniband/hw/hfi1/mmu_rb.c                         |   13 
 drivers/infiniband/hw/mlx4/qp.c                             |    8 
 drivers/infiniband/hw/mlx5/qp.c                             |    2 
 drivers/infiniband/sw/rdmavt/qp.c                           |    2 
 drivers/infiniband/sw/siw/siw_main.c                        |    3 
 drivers/infiniband/sw/siw/siw_qp_tx.c                       |    2 
 drivers/input/touchscreen/raspberrypi-ts.c                  |    3 
 drivers/leds/Kconfig                                        |    2 
 drivers/macintosh/Kconfig                                   |    1 
 drivers/macintosh/windfarm_smu_sat.c                        |    1 
 drivers/mailbox/zynqmp-ipi-mailbox.c                        |   19 
 drivers/md/dm-clone-target.c                                |    1 
 drivers/md/dm-flakey.c                                      |    4 
 drivers/md/dm-integrity.c                                   |    8 
 drivers/md/dm-ioctl.c                                       |    7 
 drivers/md/dm-verity-target.c                               |   17 
 drivers/md/raid10.c                                         |   96 ++--
 drivers/md/raid5.c                                          |   10 
 drivers/media/pci/dm1105/dm1105.c                           |    1 
 drivers/media/pci/saa7134/saa7134-ts.c                      |    1 
 drivers/media/pci/saa7134/saa7134-vbi.c                     |    1 
 drivers/media/pci/saa7134/saa7134-video.c                   |    1 
 drivers/media/pci/ttpci/av7110_av.c                         |    4 
 drivers/media/platform/rcar_fdp1.c                          |   50 +-
 drivers/media/platform/sti/bdisp/bdisp-v4l2.c               |    2 
 drivers/media/rc/gpio-ir-recv.c                             |    2 
 drivers/misc/vmw_vmci/vmci_host.c                           |    8 
 drivers/mmc/host/sdhci-of-esdhc.c                           |   24 -
 drivers/mtd/spi-nor/cadence-quadspi.c                       |   77 +--
 drivers/mtd/ubi/eba.c                                       |   19 
 drivers/net/dsa/mt7530.c                                    |    4 
 drivers/net/dsa/mv88e6xxx/chip.c                            |    1 
 drivers/net/ethernet/amd/nmclan_cs.c                        |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c            |   23 
 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c         |    2 
 drivers/net/virtio_net.c                                    |   43 +
 drivers/net/wireless/ath/ath5k/eeprom.c                     |    2 
 drivers/net/wireless/ath/ath6kl/bmi.c                       |    2 
 drivers/net/wireless/ath/ath6kl/htc_pipe.c                  |    4 
 drivers/net/wireless/ath/ath9k/hif_usb.c                    |   19 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |    5 
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c            |   10 
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c             |    3 
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c      |    1 
 drivers/net/wireless/realtek/rtlwifi/base.c                 |  144 +++---
 drivers/net/wireless/realtek/rtlwifi/cam.c                  |   82 +--
 drivers/net/wireless/realtek/rtlwifi/core.c                 |  259 +++++------
 drivers/net/wireless/realtek/rtlwifi/debug.c                |   16 
 drivers/net/wireless/realtek/rtlwifi/debug.h                |   11 
 drivers/net/wireless/realtek/rtlwifi/efuse.c                |   72 +--
 drivers/net/wireless/realtek/rtlwifi/pci.c                  |  282 ++++++------
 drivers/net/wireless/realtek/rtlwifi/ps.c                   |   98 ++--
 drivers/net/wireless/realtek/rtlwifi/regd.c                 |   18 
 drivers/net/wireless/realtek/rtlwifi/usb.c                  |   18 
 drivers/net/wireless/realtek/rtw88/mac.c                    |    8 
 drivers/nvme/host/core.c                                    |   34 +
 drivers/nvme/host/trace.h                                   |   15 
 drivers/nvme/target/fcloop.c                                |   48 +-
 drivers/of/device.c                                         |    7 
 drivers/pci/controller/dwc/pci-imx6.c                       |    7 
 drivers/pci/hotplug/pciehp.h                                |    3 
 drivers/pci/hotplug/pciehp_core.c                           |    2 
 drivers/pci/hotplug/pciehp_hpc.c                            |   19 
 drivers/pci/hotplug/pciehp_pci.c                            |   15 
 drivers/phy/tegra/xusb.c                                    |    2 
 drivers/platform/x86/touchscreen_dmi.c                      |   24 +
 drivers/power/supply/generic-adc-battery.c                  |    3 
 drivers/pwm/pwm-meson.c                                     |    6 
 drivers/pwm/pwm-mtk-disp.c                                  |   94 +---
 drivers/regulator/core.c                                    |   93 +++
 drivers/regulator/stm32-pwr.c                               |    7 
 drivers/remoteproc/st_remoteproc.c                          |    5 
 drivers/remoteproc/stm32_rproc.c                            |    6 
 drivers/rtc/rtc-meson-vrtc.c                                |    4 
 drivers/rtc/rtc-omap.c                                      |    1 
 drivers/s390/block/dasd.c                                   |    2 
 drivers/scsi/lpfc/lpfc_init.c                               |   10 
 drivers/scsi/megaraid.c                                     |    1 
 drivers/spi/spi-fsl-spi.c                                   |   12 
 drivers/spi/spi-qup.c                                       |   22 
 drivers/spmi/spmi.c                                         |    3 
 drivers/staging/iio/resolver/ad2s1210.c                     |    2 
 drivers/staging/rtl8192e/rtl8192e/rtl_core.c                |    1 
 drivers/target/iscsi/iscsi_target.c                         |   16 
 drivers/tty/serial/8250/8250.h                              |   12 
 drivers/tty/serial/8250/8250_port.c                         |   16 
 drivers/tty/serial/fsl_lpuart.c                             |    2 
 drivers/tty/tty_io.c                                        |    4 
 drivers/tty/tty_ioctl.c                                     |   45 +
 drivers/usb/chipidea/core.c                                 |    2 
 drivers/usb/dwc3/core.c                                     |   15 
 drivers/usb/gadget/udc/renesas_usb3.c                       |    1 
 drivers/usb/host/xhci-debugfs.c                             |    1 
 drivers/usb/host/xhci-rcar.c                                |    3 
 drivers/usb/mtu3/mtu3_qmu.c                                 |    5 
 drivers/usb/serial/option.c                                 |    6 
 fs/afs/inode.c                                              |    1 
 fs/btrfs/block-rsv.c                                        |    3 
 fs/btrfs/ctree.c                                            |   32 +
 fs/btrfs/ioctl.c                                            |    5 
 fs/btrfs/print-tree.c                                       |    6 
 fs/cifs/smb2ops.c                                           |    2 
 fs/debugfs/file.c                                           |    8 
 fs/erofs/internal.h                                         |    2 
 fs/erofs/zmap.c                                             |    4 
 fs/ext4/balloc.c                                            |   25 +
 fs/ext4/extents.c                                           |    3 
 fs/ext4/extents_status.c                                    |   30 -
 fs/ext4/inline.c                                            |   17 
 fs/ext4/mballoc.c                                           |    6 
 fs/ext4/super.c                                             |   19 
 fs/ext4/xattr.c                                             |    5 
 fs/f2fs/file.c                                              |   15 
 fs/f2fs/namei.c                                             |   16 
 fs/fs-writeback.c                                           |    2 
 fs/nfs/nfs4state.c                                          |    4 
 fs/nilfs2/bmap.c                                            |   16 
 fs/nilfs2/segment.c                                         |    5 
 fs/notify/inotify/inotify_fsnotify.c                        |   11 
 fs/pstore/pmsg.c                                            |    7 
 fs/reiserfs/xattr_security.c                                |    8 
 fs/ubifs/dir.c                                              |    1 
 fs/ubifs/tnc.c                                              |  142 +++---
 include/asm-generic/io.h                                    |    4 
 include/linux/debugfs.h                                     |    1 
 include/linux/interrupt.h                                   |    4 
 include/linux/mailbox/zynqmp-ipi-message.h                  |    2 
 include/linux/netfilter/nfnetlink.h                         |    1 
 include/linux/nvme.h                                        |    4 
 include/linux/pm_domain.h                                   |   12 
 include/linux/printk.h                                      |   19 
 include/linux/sunrpc/sched.h                                |    3 
 include/linux/tick.h                                        |    9 
 include/linux/tty.h                                         |    2 
 include/linux/vt_buffer.h                                   |    2 
 include/net/netfilter/nf_tables.h                           |    1 
 include/net/scm.h                                           |   13 
 include/soc/bcm2835/raspberrypi-firmware.h                  |   10 
 include/trace/events/timer.h                                |    3 
 include/uapi/linux/btrfs.h                                  |    1 
 include/uapi/linux/const.h                                  |    2 
 include/uapi/linux/media-bus-format.h                       |    8 
 kernel/bpf/cgroup.c                                         |    9 
 kernel/events/core.c                                        |    4 
 kernel/irq/manage.c                                         |   11 
 kernel/kheaders.c                                           |   10 
 kernel/relay.c                                              |   18 
 kernel/time/jiffies.c                                       |    7 
 kernel/time/tick-broadcast.c                                |    2 
 kernel/time/tick-common.c                                   |   30 -
 kernel/time/tick-internal.h                                 |    1 
 kernel/time/tick-sched.c                                    |  119 +++--
 kernel/time/timekeeping.c                                   |    6 
 kernel/time/timekeeping.h                                   |    3 
 kernel/trace/ring_buffer.c                                  |    4 
 lib/debugobjects.c                                          |  141 +++---
 mm/page_alloc.c                                             |   16 
 net/8021q/vlan_dev.c                                        |    2 
 net/bluetooth/hci_sock.c                                    |    9 
 net/core/skbuff.c                                           |    3 
 net/ipv4/ip_output.c                                        |   16 
 net/ipv6/sit.c                                              |    8 
 net/ncsi/ncsi-aen.c                                         |    1 
 net/netfilter/nf_tables_api.c                               |   20 
 net/netfilter/nfnetlink.c                                   |    2 
 net/netfilter/nft_dynset.c                                  |    2 
 net/netfilter/nft_lookup.c                                  |    2 
 net/netfilter/nft_objref.c                                  |    2 
 net/netlink/af_netlink.c                                    |   75 ---
 net/packet/af_packet.c                                      |   32 -
 net/packet/diag.c                                           |    4 
 net/packet/internal.h                                       |   26 -
 net/rxrpc/sendmsg.c                                         |    2 
 net/sched/act_mirred.c                                      |    2 
 net/sched/cls_api.c                                         |    1 
 net/sunrpc/clnt.c                                           |    3 
 net/sunrpc/sched.c                                          |    1 
 scripts/gdb/linux/clk.py                                    |    2 
 scripts/gdb/linux/genpd.py                                  |   16 
 scripts/gdb/linux/timerlist.py                              |    4 
 scripts/gdb/linux/utils.py                                  |    5 
 security/selinux/Makefile                                   |    4 
 sound/soc/codecs/es8316.c                                   |   17 
 sound/soc/intel/boards/bytcr_rt5640.c                       |   12 
 sound/usb/caiaq/input.c                                     |    1 
 tools/bpf/bpftool/json_writer.c                             |    3 
 tools/bpf/bpftool/xlated_dumper.c                           |    7 
 tools/perf/builtin-sched.c                                  |    2 
 tools/perf/pmu-events/arch/powerpc/power9/other.json        |    4 
 tools/perf/pmu-events/arch/powerpc/power9/pipeline.json     |    2 
 tools/perf/util/auxtrace.c                                  |    5 
 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c         |    2 
 tools/perf/util/sort.c                                      |    3 
 tools/perf/util/symbol-elf.c                                |    2 
 267 files changed, 2495 insertions(+), 1583 deletions(-)

Adrian Hunter (2):
perf auxtrace: Fix address filter entire kernel size perf intel-pt: Fix CYC timestamps after standalone CBR

Akhil P Oommen (1):
drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()

Akilesh Kailash (1):
dm verity: skip redundant verity_handle_err() on I/O errors

Alexander Mikhalitsyn (1):
scm: fix MSG_CTRUNC setting condition for SO_PASSSEC

Alexey V. Vissarionov (1):
wifi: ath6kl: minor fix for allocation size

Anastasia Belova (1):
btrfs: print-tree: parent bytenr must be aligned to sector size

Andrey Avdeev (1):
platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i

Angelo Dureghello (1):

      net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu

AngeloGioacchino Del Regno (1):
pwm: mtk-disp: Disable shadow registers before setting backlight values

Arnaldo Carvalho de Melo (1):
perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)

Arınç ÜNAL (2):
USB: serial: option: add UNISOC vendor and TOZED LT70C product
net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621

Aurabindo Pillai (1):
drm/amd/display: Fix hang when skipping modeset

Barry Song (1):
genirq: Add IRQF_NO_AUTOEN for request_irq/nmi()

Bitterblue Smith (1):
wifi: rtl8xxxu: RTL8192EU always needs full init

Cai Huoqing (1):
media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()

Chia-I Wu (1):
drm/amdgpu: add a missing lock for AMDGPU_SCHED

Christian Marangi (1):
ARM: dts: qcom: ipq8064: reduce pci IO size to 64K

Christoph Böhmwalder (1):
drbd: correctly submit flush bio on barrier

Christoph Hellwig (1):
md: update the optimal I/O size on reshape

Christophe JAILLET (4):
clocksource/drivers/davinci: Avoid trailing '\n' hidden in pr_fmt()
clocksource: davinci: axe a pointless __GFP_NOFAIL
dmaengine: mv_xor_v2: Fix an error code.
mailbox: zynq: Switch to flexible array to simplify code

Christophe Leroy (1):
spi: fsl-spi: Fix CPM/QE mode Litte Endian

Chunfeng Yun (1):
usb: mtu3: fix kernel panic at qmu transfer done irq handler

Claudiu Beznea (1):
dmaengine: at_xdmac: do not enable all cyclic channels

Clément Léger (1):
clk: add missing of_node_put() in "assigned-clocks" property parsing

Cong Wang (1):

      sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()

Corey Minyard (1):
ipmi:ssif: Add send_retries increment

Cosmo Chou (1):
net/ncsi: clear Tx enable mode when handling a Config required AEN

Cristian Ciocaltea (1):
ASoC: es8316: Handle optional IRQ assignment

Dae R. Jeong (1):
vmci_host: fix a race condition in vmci_host_poll() causing GPF

Dafna Hirschfeld (1):
media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format.

Dai Ngo (1):
SUNRPC: remove the maximum number of retries in call_bind_status

Dan Carpenter (4):
media: av7110: prevent underflow in write_ts_to_decoder()
wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()

Daniel Borkmann (1):
bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap

Daniel Vetter (1):
drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var

Daniil Dulov (1):
RDMA/siw: Fix potential page_array out of range access

Danila Chernetsov (1):
scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS

David Howells (1):
rxrpc: Fix hard call timeout units

Dhruva Gole (1):
spi: cadence-quadspi: fix suspend-resume implementations

Dom Cobley (1):
drm/probe-helper: Cancel previous job before starting new one

Douglas Anderson (2):
regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
regulator: core: Avoid lockdep reports when resolving supplies

Emmanuel Grumbach (1):
wifi: iwlwifi: make the loop for card preparation effective

Eric Dumazet (3):

      net/packet: annotate accesses to po->xmit
      net/packet: convert po->origdev to an atomic flag
      net/packet: convert po->auxdata to an atomic flag

Fedor Pchelkin (2):
wifi: ath9k: hif_usb: fix memory leak of remain_skbs
wifi: ath6kl: reduce WARN to dev_dbg() in callback

Filipe Manana (1):
btrfs: fix btrfs_prev_leaf() to not return the same key twice

Florian Fainelli (4):
media: rc: gpio-ir-recv: Fix support for wake-up scripts/gdb: bail early if there are no clocks scripts/gdb: bail early if there are no generic PD
serial: 8250: Add missing wakeup event reporting

Florian Westphal (1):
netfilter: nf_tables: don't write table validation state without mutex

Frederic Weisbecker (1):
nohz: Add TICK_DEP_BIT_RCU

Gao Xiang (1):
erofs: stop parsing non-compact HEAD index if clusterofs is invalid

Gaosheng Cui (1):
phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port

Geert Uytterhoeven (4):
debugfs: regset32: Add Runtime PM support
arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
PM: domains: Restore comment indentation for generic_pm_domain.child_links

Gencen Gan (1):
net: amd: Fix link leak when verifying config failed

Georgii Kruglov (1):
mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data

Greg Kroah-Hartman (1):

      Linux 5.4.243

Guchun Chen (2):
drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend

H. Nikolaus Schaller (1):
PCI: imx6: Install the fault handler only on compatible match

Hamza Mahfooz (1):
drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()

Hans de Goede (3):
ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors

Harshit Mogalapalli (1):
drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()

Heiner Kallweit (2):
pwm: meson: Fix axg ao mux parents
pwm: meson: Fix g12a ao clk81 name

Helge Deller (1):
parisc: Fix argument pointer in real64_call_asm()

Herbert Xu (1):
crypto: drbg - Only fail when jent is unavailable in FIPS mode

Ilpo Järvinen (2):
tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
serial: 8250: Fix serial8250_tx_empty() race with DMA Tx

Jaegeuk Kim (1):
f2fs: fix potential corruption when moving a directory

James Cowgill (1):
drm/panel: otm8009a: Set backlight parent to panel device

Jan Kara (2):
inotify: Avoid reporting event with invalid wd
ext4: fix data races when using cached status extents

Jiasheng Jiang (1):
media: bdisp: Add missing check for create_workqueue

Jiaxun Yang (1):
MIPS: fw: Allow firmware to pass a empty env

Jingbo Xu (1):
erofs: fix potential overflow calculating xattr_isize

Jishnu Prakash (1):
spmi: Add a check for remove callback when removing a SPMI driver

Jisoo Jang (1):
wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()

Jitao Shi (1):
pwm: mtk-disp: Adjust the clocks to avoid them mismatch

Joe Damato (2):
ixgbe: Allow flow hash to be set via ethtool
ixgbe: Enable setting RSS table to default values

Joel Fernandes (Google) (1):
tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem

Johan Hovold (4):
USB: dwc3: fix runtime pm imbalance on probe errors
USB: dwc3: fix runtime pm imbalance on unbind
xhci: fix debugfs register accesses while suspended drm/msm/adreno: drop bogus pm_runtime_set_active()

Johannes Berg (2):
ring-buffer: Sync IRQ works before buffer destruction
wifi: iwlwifi: mvm: check firmware response size

John Paul Adrian Glaubitz (1):
sh: sq: Fix incorrect element size for allocating bitmap buffer

John Stultz (1):
pstore: Revert pmsg_lock back to a normal mutex

Jonathan Marek (1):

      drm/msm: fix unbalanced pm_runtime_enable in adreno_gpu_{init, cleanup}

Jonathan McDowell (1):
crypto: safexcel - Cleanup ring IRQ workqueues on load failure

Josef Bacik (1):
btrfs: don't free qgroup space unless specified

Kajol Jain (1):
perf vendor events power9: Remove UTF-8 characters from JSON files

Kees Cook (2):
kheaders: Use array declaration instead of char
PM: domains: Fix up terminology with parent/child

Keith Busch (1):
nvme: fix async event trace event

Kevin Brodsky (1):
uapi/linux/const.h: prefer ISO-friendly __typeof__

Krzysztof Kozlowski (4):
iio: light: max44009: add missing OF device matching
rtc: omap: include header for omap_rtc_power_off_program prototype
ARM: dts: exynos: fix WM8960 clock name in Itop Elite
ARM: dts: s5pv210: correct MIPI CSIS clock name

Kuniyuki Iwashima (3):
netlink: Use copy_to_user() for optval in netlink_getsockopt(). tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
af_packet: Don't send zero-byte data in packet_sendmsg_spkt().

Larry Finger (2):
rtlwifi: Start changing RT_TRACE into rtl_dbg
rtlwifi: Replace RT_TRACE with rtl_dbg

Li Nan (1):
md/raid10: fix null-ptr-deref in raid10_sync_request

Liang He (1):
macintosh/windfarm_smu_sat: Add missing of_node_put()

Lino Sanfilippo (1):
tpm, tpm_tis: Do not skip reset of original interrupt vector

Liu Jian (1):
Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"

Luis Gerhorst (1):
tools: bpftool: Remove invalid \' json escape

Lukas Wunner (1):
PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock

Manivannan Sadhasivam (2):
ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
ARM: dts: qcom: ipq8064: Fix the PCI I/O port range

Marc Dionne (1):
afs: Fix updating of i_size with dv jump from server

Marco Pagani (1):
fpga: bridge: fix kernel-doc parameter description

Mark Zhang (1):
RDMA/mlx5: Use correct device num_ports when modify DC

Markus Elfring (1):
perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()

Martin Blumenstingl (3):
wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time

Mathieu Poirier (2):
remoteproc: stm32: Call of_node_put() on iteration error
remoteproc: st: Call of_node_put() on iteration error

Mauro Carvalho Chehab (2):
media: rcar_fdp1: simplify error check logic at fdp_open()
media: rcar_fdp1: fix pm_runtime_get_sync() usage count

Maxim Korotkov (1):
writeback: fix call of incorrect macro

Maximilian Luz (1):
drm/msm: Fix double pm_runtime_disable() call

Maíra Canal (1):
drm/vgem: add missing mutex_destroy

Miaoqian Lin (2):
media: rcar_fdp1: Fix refcount leak in probe and remove function
Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe

Michael Kelley (1):
nvme: handle the persistent internal error AER

Mike Christie (1):
scsi: target: iscsit: Fix TAS handling during conn cleanup

Mike Snitzer (3):
dm clone: call kmem_cache_destroy() in dm_clone_init() error path dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path dm ioctl: fix nested locking in table_clear() to remove deadlock concern

Mikulas Patocka (1):
dm flakey: fix a crash with invalid table line

Ming Lei (1):

      nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"

Miquel Raynal (1):
of: Fix modalias string generation

Mukesh Ojha (1):
firmware: qcom_scm: Clear download bit during reboot

Mårten Lindahl (1):
ubifs: Free memory for tmpfile name

Natalia Petrova (1):
RDMA/rdmavt: Delete unnecessary NULL check

Nathan Lynch (1):
powerpc/rtas: use memmove for potentially overlapping buffer copy

Nicolai Stange (1):
crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors

Nicolas Saenz Julienne (3):
firmware: raspberrypi: Keep count of all consumers
firmware: raspberrypi: Introduce devm_rpi_firmware_get()
input: raspberrypi-ts: Release firmware handle when not needed

Nuno Sá (1):
staging: iio: resolver: ads1210: fix config mode

Ondrej Mosnacek (1):
selinux: fix Makefile dependencies of flask.h

Pablo Neira Ayuso (1):
netfilter: nf_tables: deactivate anonymous set from preparation phase

Patrick Kelsey (1):
IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order

Patrik Dahlström (1):
iio: adc: palmas_gpadc: fix NULL dereference on rmmod

Paul Moore (1):
selinux: ensure av_permissions.h is built when needed

Pawel Witek (1):
cifs: fix pcchunk length type in smb2_copychunk_range

Peng Liu (1):
scripts/gdb: fix lx-timerlist for Python3

Pengcheng Yang (1):
kernel/relay.c: fix read_pos error when multiple readers

Philipp Hortmann (1):
staging: rtl8192e: Fix W_DISABLE# does not work after stop/start

Ping Cheng (2):
HID: wacom: Set a default resolution for older tablets
HID: wacom: insert timestamp to packed Bluetooth (BT) events

Qinrun Dai (1):
clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails

Qiuxu Zhuo (1):
EDAC/skx: Fix overflows on the DRAM row address mapping arrays

Qu Wenruo (1):
btrfs: scrub: reject unsupported scrub flags

Quentin Monnet (1):
bpftool: Fix bug for long instructions in program CFG dumps

Quentin Schulz (1):
clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent

Randy Dunlap (11):
linux/vt_buffer.h: allow either builtin or modular for macros
ia64: mm/contig: fix section mismatch warning/error
ia64: salinfo: placate defined-but-not-used warning powerpc/mpc512x: fix resource printk format warning powerpc/wii: fix resource printk format warnings powerpc/sysdev/tsi108: fix resource printk format warnings
macintosh: via-pmu-led: requires ATA to be set
leds: TI_LMU_COMMON: select REGMAP instead of depending on it
sh: math-emu: fix macro redefined warning
sh: init: use OF_EARLY_FLATTREE for early init
sh: nmi_debug: fix return value of __setup handler

Reid Tonking (1):
i2c: omap: Fix standard mode false ACK readings

Rob Clark (2):
drm/rockchip: Drop unbalanced obj unref drm/msm/adreno: Defer enabling runpm until hw_init()

Roberto Sassu (1):
reiserfs: Add security prefix to xattr name in reiserfs_security_write()

Ruihan Li (1):
bluetooth: Perform careful capability checks in hci_sock_ioctl()

Ruliang Lin (1):
ALSA: caiaq: input: Add error handling for unsupported input methods in snd_usb_caiaq_input_init

Ryusuke Konishi (2):
nilfs2: do not write dirty data after degenerating to read-only
nilfs2: fix infinite loop in nilfs_mdt_get_block()

Saurabh Sengar (1):
x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()

Sean Christopherson (1):
KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted

Sebastian Andrzej Siewior (1):
tick/common: Align tick period with the HZ tick.

Sebastian Reichel (1):
power: supply: generic-adc-battery: fix unit scaling

Shannon Nelson (1):
ionic: remove noise from ethtool rxnfc error msg

Shenwei Wang (1):
tty: serial: fsl_lpuart: adjust buffer length to the intended size

Shuchang Li (1):
scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()

Shunsuke Mie (2):
dmaengine: dw-edma: Fix to change for continuous transfer
dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing

Stafford Horne (1):
openrisc: Properly store r31 to pt_regs on unhandled exceptions

Stanislav Fomichev (1):
bpf: Don't EFAULT for getsockopt with optval=NULL

Stefan Haberland (1):
s390/dasd: fix hanging blockdevice after request requeue

Sumit Garg (1):
arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step

Sven Auhagen (1):
crypto: inside-secure - irq balance

Tang Bin (1):
media: rcar_fdp1: Fix the correct variable assignments

Tanmay Shah (3):
mailbox: zynqmp: Fix IPI isr handling
mailbox: zynqmp: Fix typo in IPI documentation
mailbox: zynqmp: Fix counts of child nodes

Tetsuo Handa (3):
RDMA/siw: Remove namespace check from siw_netdev_event()
printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock

Theodore Ts'o (6):
ext4: improve error recovery code paths in __ext4_remount()
ext4: fix deadlock when converting an inline directory in nojournal mode
ext4: add bounds checking in get_max_inline_xattr_value_size()
ext4: bail out of ext4_xattr_ibody_get() fails for any reason
ext4: remove a BUG_ON in ext4_mb_release_group_pa()
ext4: fix invalid free tracking in ext4_xattr_move_to_block()

Thomas Gleixner (6):
debugobject: Prevent init race with static objects
timekeeping: Split jiffies seqlock
tick/sched: Use tick_next_period for lockless quick check tick/sched: Optimize tick_do_update_jiffies64() further
tick: Get rid of tick_period
debugobject: Ensure pool refill (again)

Tian Tao (1):
drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag

Trond Myklebust (1):
NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease

Tudor Ambarus (1):
ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum

Uros Bizjak (1):
x86/apic: Fix atomic update of offset in reserve_eilvt_offset()

Uwe Kleine-König (2):
spi: qup: Don't skip cleanup in remove's error path
pwm: mtk-disp: Don't check the return code of pwmchip_remove()

Vadim Fedorenko (1):
vlan: partially enable SIOCSHWTSTAMP in container

Victor Nogueira (1):
net/sched: act_mirred: Add carrier check

Vignesh Raghavendra (4):
mtd: spi-nor: cadence-quadspi: Make driver independent of flash geometry
mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode
mtd: spi-nor: cadence-quadspi: Don't initialize rx_dma_complete on failure
mtd: spi-nor: cadence-quadspi: Handle probe deferral while requesting DMA channel

Vlad Buslov (1):
net/sched: cls_api: remove block_cb from driver_list before freeing

Vladimir Oltean (1):
asm-generic/io.h: suppress endianness warnings for readq() and writeq()

Wang YanQing (1):
ubi: Fix return value overwrite issue in try_write_vid_and_data()

Wei Chen (2):
wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()

Wenliang Wang (1):
virtio_net: suppress cpu stall when free_unused_bufs

William Breathitt Gray (1):
counter: 104-quad-8: Fix race condition between FLAG and CNTR reads

Wolfram Sang (1):
usb: host: xhci-rcar: remove leftover quirk handling

Xin Liu (1):
bpf, sockmap: fix deadlocks in the sockhash and sockmap

Xuan Zhuo (1):
virtio_net: split free_unused_bufs()

YAN SHI (1):
regulator: stm32-pwr: fix of_iomap leak

Yang Jihong (2):
perf/core: Fix hardlockup failure caused by perf throttle perf symbols: Fix return incorrect build_id size in elf_read_build_id()

Yang Yingliang (1):
firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe()

Yangtao Li (1):
f2fs: handle dqget error in f2fs_transfer_project_quota()

Ye Bin (2):
ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
ext4: fix WARNING in mb_find_extent

Yeongjin Gil (1):
dm verity: fix error handling for check_at_most_once on FEC

Yinhao Hu (1):
usb: chipidea: fix missing goto in ci_hdrc_probe

Yu Kuai (3):

      md/raid10: fix leak of 'r10bio->remaining' for recovery
      md/raid10: fix memleak for 'conf->bio_split'
      md/raid10: fix memleak of md thread

Yunfeng Ye (1):
tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64()

Zhang Yuchen (1):
ipmi: fix SSIF not responding under certain cond.

Zhang Zhengming (1):
relayfs: fix out-of-bounds access in relay_file_read

Zheng Wang (3):
media: dm1105: Fix use after free bug in dm1105_remove due to race condition
media: saa7134: fix use after free bug in saa7134_finidev due to race condition
usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition

Zhihao Cheng (2):
Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
ubifs: Fix memleak when insert_old_idx() failed

Ziyang Xuan (1):
ipv4: Fix potential uninit variable access bug in __ip_make_skb()

author maintainer
#1 lore raw
Documentation/media/uapi/v4l/subdev-formats.rst +27 -0
index 15e11f27b4c8..b89a2f6c9155 100644
@@ -7794,3 +7794,30 @@ formats.
       - 0x5001
       - Interleaved raw UYVY and JPEG image format with embedded meta-data
 	used by Samsung S3C73MX camera sensors.
+
+.. _v4l2-mbus-metadata-fmts:
+
+Metadata Formats
+^^^^^^^^^^^^^^^^
+
+This section lists all metadata formats.
+
+The following table lists the existing metadata formats.
+
+.. tabularcolumns:: |p{8.0cm}|p{1.4cm}|p{7.7cm}|
+
+.. flat-table:: Metadata formats
+    :header-rows:  1
+    :stub-columns: 0
+
+    * - Identifier
+      - Code
+      - Comments
+    * .. _MEDIA-BUS-FMT-METADATA-FIXED:
+
+      - MEDIA_BUS_FMT_METADATA_FIXED
+      - 0x7001
+      - This format should be used when the same driver handles
+	both sides of the link and the bus format is a fixed
+	metadata format that is not configurable from userspace.
+	Width and height will be set to 0 for this format.
Makefile +1 -1
index ab3ba4358842..f660c3e224ec 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 242
+SUBLEVEL = 243
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm/boot/dts/exynos4412-itop-elite.dts +1 -1
index f6d0a5f5d339..9a2a49420d4d 100644
@@ -179,7 +179,7 @@
 		compatible = "wlf,wm8960";
 		reg = <0x1a>;
 		clocks = <&pmu_system_controller 0>;
-		clock-names = "MCLK1";
+		clock-names = "mclk";
 		wlf,shared-lrclk;
 		#sound-dai-cells = <0>;
 	};
arch/arm/boot/dts/qcom-ipq4019.dtsi +2 -2
index 338256c59ca5..fc31ee980639 100644
@@ -393,8 +393,8 @@
 			#address-cells = <3>;
 			#size-cells = <2>;
 
-			ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>,
-				 <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>;
+			ranges = <0x81000000 0x0 0x00000000 0x40200000 0x0 0x00100000>,
+				 <0x82000000 0x0 0x40300000 0x40300000 0x0 0x00d00000>;
 
 			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "msi";
arch/arm/boot/dts/qcom-ipq8064.dtsi +6 -6
index 16c0da97932c..976a8a1fa953 100644
@@ -451,8 +451,8 @@
 			#address-cells = <3>;
 			#size-cells = <2>;
 
-			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */
-				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
+			ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00010000   /* I/O */
+				  0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* MEM */
 
 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "msi";
@@ -502,8 +502,8 @@
 			#address-cells = <3>;
 			#size-cells = <2>;
 
-			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */
-				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
+			ranges = <0x81000000 0x0 0x00000000 0x31e00000 0x0 0x00010000   /* I/O */
+				  0x82000000 0x0 0x2e000000 0x2e000000 0x0 0x03e00000>; /* MEM */
 
 			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "msi";
@@ -553,8 +553,8 @@
 			#address-cells = <3>;
 			#size-cells = <2>;
 
-			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */
-				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
+			ranges = <0x81000000 0x0 0x00000000 0x35e00000 0x0 0x00010000   /* I/O */
+				  0x82000000 0x0 0x32000000 0x32000000 0x0 0x03e00000>; /* MEM */
 
 			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "msi";
arch/arm/boot/dts/s5pv210.dtsi +1 -1
index 61822afa30ab..cd8f6e7a7f7f 100644
@@ -571,7 +571,7 @@
 				interrupts = <29>;
 				clocks = <&clocks CLK_CSIS>,
 						<&clocks SCLK_CSIS>;
-				clock-names = "clk_csis",
+				clock-names = "csis",
 						"sclk_csis";
 				bus-width = <4>;
 				status = "disabled";
arch/arm64/boot/dts/renesas/r8a774c0.dtsi +0 -3
index 73ded80a79ba..1de7891c658c 100644
@@ -49,17 +49,14 @@
 		opp-shared;
 		opp-800000000 {
 			opp-hz = /bits/ 64 <800000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1200000000 {
 			opp-hz = /bits/ 64 <1200000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 			opp-suspend;
 		};
arch/arm64/boot/dts/renesas/r8a77990.dtsi +0 -3
index dabee157119f..82efc8a3627d 100644
@@ -60,17 +60,14 @@
 		opp-shared;
 		opp-800000000 {
 			opp-hz = /bits/ 64 <800000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 		};
 		opp-1200000000 {
 			opp-hz = /bits/ 64 <1200000000>;
-			opp-microvolt = <820000>;
 			clock-latency-ns = <300000>;
 			opp-suspend;
 		};
arch/arm64/include/asm/debug-monitors.h +1 -0
index 0253691c4b3a..bd451732a3af 100644
@@ -116,6 +116,7 @@ void user_regs_reset_single_step(struct user_pt_regs *regs,
 void kernel_enable_single_step(struct pt_regs *regs);
 void kernel_disable_single_step(void);
 int kernel_active_single_step(void);
+void kernel_rewind_single_step(struct pt_regs *regs);
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT
 int reinstall_suspended_bps(struct pt_regs *regs);
arch/arm64/kernel/debug-monitors.c +5 -0
index d64a3c1e1b6b..62ab9d4f995e 100644
@@ -441,6 +441,11 @@ int kernel_active_single_step(void)
 }
 NOKPROBE_SYMBOL(kernel_active_single_step);
 
+void kernel_rewind_single_step(struct pt_regs *regs)
+{
+	set_regs_spsr_ss(regs);
+}
+
 /* ptrace API */
 void user_enable_single_step(struct task_struct *task)
 {
arch/arm64/kernel/kgdb.c +2 -0
index 1a157ca33262..e4e95821b1f6 100644
@@ -223,6 +223,8 @@ int kgdb_arch_handle_exception(int exception_vector, int signo,
 		 */
 		if (!kernel_active_single_step())
 			kernel_enable_single_step(linux_regs);
+		else
+			kernel_rewind_single_step(linux_regs);
 		err = 0;
 		break;
 	default:
arch/ia64/kernel/salinfo.c +1 -1
index b392c0a50346..0ec8b55b28ac 100644
@@ -581,7 +581,7 @@ static int salinfo_cpu_pre_down(unsigned int cpu)
  * 'data' contains an integer that corresponds to the feature we're
  * testing
  */
-static int proc_salinfo_show(struct seq_file *m, void *v)
+static int __maybe_unused proc_salinfo_show(struct seq_file *m, void *v)
 {
 	unsigned long data = (unsigned long)v;
 	seq_puts(m, (sal_platform_features & data) ? "1\n" : "0\n");
arch/ia64/mm/contig.c +1 -1
index 5b00dc3898e1..f2b40bcd2495 100644
@@ -81,7 +81,7 @@ void *per_cpu_init(void)
 	return __per_cpu_start + __per_cpu_offset[smp_processor_id()];
 }
 
-static inline void
+static inline __init void
 alloc_per_cpu_data(void)
 {
 	size_t size = PERCPU_PAGE_SIZE * num_possible_cpus();
arch/mips/fw/lib/cmdline.c +1 -1
index 6ecda64ad184..ed88abc40513 100644
@@ -51,7 +51,7 @@ char *fw_getenv(char *envname)
 {
 	char *result = NULL;
 
-	if (_fw_envp != NULL) {
+	if (_fw_envp != NULL && fw_envp(0) != NULL) {
 		/*
 		 * Return a pointer to the given environment variable.
 		 * YAMON uses "name", "value" pairs, while U-Boot uses
arch/openrisc/kernel/entry.S +2 -4
index 6b27cf4a0d78..8db433947d39 100644
@@ -173,7 +173,6 @@ handler:							;\
 	l.sw    PT_GPR28(r1),r28					;\
 	l.sw    PT_GPR29(r1),r29					;\
 	/* r30 already save */					;\
-/*        l.sw    PT_GPR30(r1),r30*/					;\
 	l.sw    PT_GPR31(r1),r31					;\
 	TRACE_IRQS_OFF_ENTRY						;\
 	/* Store -1 in orig_gpr11 for non-syscall exceptions */	;\
@@ -211,9 +210,8 @@ handler:							;\
 	l.sw    PT_GPR27(r1),r27					;\
 	l.sw    PT_GPR28(r1),r28					;\
 	l.sw    PT_GPR29(r1),r29					;\
-	/* r31 already saved */					;\
-	l.sw    PT_GPR30(r1),r30					;\
-/*        l.sw    PT_GPR31(r1),r31	*/				;\
+	/* r30 already saved */						;\
+	l.sw    PT_GPR31(r1),r31					;\
 	/* Store -1 in orig_gpr11 for non-syscall exceptions */	;\
 	l.addi	r30,r0,-1					;\
 	l.sw	PT_ORIG_GPR11(r1),r30				;\
arch/parisc/kernel/real2.S +2 -3
index 2b16d8d6598f..c37010a13586 100644
@@ -248,9 +248,6 @@ ENTRY_CFI(real64_call_asm)
 	/* save fn */
 	copy	%arg2, %r31
 
-	/* set up the new ap */
-	ldo	64(%arg1), %r29
-
 	/* load up the arg registers from the saved arg area */
 	/* 32-bit calling convention passes first 4 args in registers */
 	ldd	0*REG_SZ(%arg1), %arg0		/* note overwriting arg0 */
@@ -262,7 +259,9 @@ ENTRY_CFI(real64_call_asm)
 	ldd	7*REG_SZ(%arg1), %r19
 	ldd	1*REG_SZ(%arg1), %arg1		/* do this one last! */
 
+	/* set up real-mode stack and real-mode ap */
 	tophys_r1 %sp
+	ldo	-16(%sp), %r29			/* Reference param save area */
 
 	b,l	rfi_virt2real,%r2
 	nop
arch/powerpc/kernel/rtas.c +1 -1
index ee810df7d522..0793579f2bb9 100644
@@ -398,7 +398,7 @@ static char *__fetch_rtas_last_error(char *altbuf)
 				buf = kmalloc(RTAS_ERROR_LOG_MAX, GFP_ATOMIC);
 		}
 		if (buf)
-			memcpy(buf, rtas_err_buf, RTAS_ERROR_LOG_MAX);
+			memmove(buf, rtas_err_buf, RTAS_ERROR_LOG_MAX);
 	}
 
 	return buf;
arch/powerpc/platforms/512x/clock-commonclk.c +1 -1
index 30342b60aa63..42c3d40355d9 100644
@@ -984,7 +984,7 @@ static void mpc5121_clk_provide_migration_support(void)
 
 #define NODE_PREP do { \
 	of_address_to_resource(np, 0, &res); \
-	snprintf(devname, sizeof(devname), "%08x.%s", res.start, np->name); \
+	snprintf(devname, sizeof(devname), "%pa.%s", &res.start, np->name); \
 } while (0)
 
 #define NODE_CHK(clkname, clkitem, regnode, regflag) do { \
arch/powerpc/platforms/embedded6xx/flipper-pic.c +1 -1
index d39a9213a3e6..7dd2e2f97aae 100644
@@ -144,7 +144,7 @@ static struct irq_domain * __init flipper_pic_init(struct device_node *np)
 	}
 	io_base = ioremap(res.start, resource_size(&res));
 
-	pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base);
+	pr_info("controller at 0x%pa mapped to 0x%p\n", &res.start, io_base);
 
 	__flipper_quiesce(io_base);
 
arch/powerpc/platforms/embedded6xx/hlwd-pic.c +1 -1
index de10c13de15c..c6b492ebb766 100644
@@ -173,7 +173,7 @@ static struct irq_domain *hlwd_pic_init(struct device_node *np)
 		return NULL;
 	}
 
-	pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base);
+	pr_info("controller at 0x%pa mapped to 0x%p\n", &res.start, io_base);
 
 	__hlwd_quiesce(io_base);
 
arch/powerpc/platforms/embedded6xx/wii.c +2 -2
index 67e48b0a164e..c691453dfd3f 100644
@@ -89,8 +89,8 @@ static void __iomem *wii_ioremap_hw_regs(char *name, char *compatible)
 
 	hw_regs = ioremap(res.start, resource_size(&res));
 	if (hw_regs) {
-		pr_info("%s at 0x%08x mapped to 0x%p\n", name,
-			res.start, hw_regs);
+		pr_info("%s at 0x%pa mapped to 0x%p\n", name,
+			&res.start, hw_regs);
 	}
 
 out_put:
arch/powerpc/sysdev/tsi108_pci.c +2 -3
index 49f9541954f8..3664ffcbb313 100644
@@ -216,9 +216,8 @@ int __init tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary)
 
 	(hose)->ops = &tsi108_direct_pci_ops;
 
-	printk(KERN_INFO "Found tsi108 PCI host bridge at 0x%08x. "
-	       "Firmware bus number: %d->%d\n",
-	       rsrc.start, hose->first_busno, hose->last_busno);
+	pr_info("Found tsi108 PCI host bridge at 0x%pa. Firmware bus number: %d->%d\n",
+		&rsrc.start, hose->first_busno, hose->last_busno);
 
 	/* Interpret the "ranges" property */
 	/* This also maps the I/O region and sets isa_io/mem_base */
arch/sh/kernel/cpu/sh4/sq.c +1 -1
index 934ff84844fa..c633fe4d7039 100644
@@ -380,7 +380,7 @@ static int __init sq_api_init(void)
 	if (unlikely(!sq_cache))
 		return ret;
 
-	sq_bitmap = kzalloc(size, GFP_KERNEL);
+	sq_bitmap = kcalloc(size, sizeof(long), GFP_KERNEL);
 	if (unlikely(!sq_bitmap))
 		goto out;
 
arch/sh/kernel/head_32.S +3 -3
index 4adbd4ade319..b603b7968b38 100644
@@ -64,7 +64,7 @@ ENTRY(_stext)
 	ldc	r0, r6_bank
 #endif
 
-#ifdef CONFIG_OF_FLATTREE
+#ifdef CONFIG_OF_EARLY_FLATTREE
 	mov	r4, r12		! Store device tree blob pointer in r12
 #endif
 	
@@ -315,7 +315,7 @@ ENTRY(_stext)
 10:		
 #endif
 
-#ifdef CONFIG_OF_FLATTREE
+#ifdef CONFIG_OF_EARLY_FLATTREE
 	mov.l	8f, r0		! Make flat device tree available early.
 	jsr	@r0
 	 mov	r12, r4
@@ -346,7 +346,7 @@ ENTRY(stack_start)
 5:	.long	start_kernel
 6:	.long	cpu_init
 7:	.long	init_thread_union
-#if defined(CONFIG_OF_FLATTREE)
+#if defined(CONFIG_OF_EARLY_FLATTREE)
 8:	.long	sh_fdt_init
 #endif
 
arch/sh/kernel/nmi_debug.c +2 -2
index 11777867c6f5..a212b645b4cf 100644
@@ -49,7 +49,7 @@ static int __init nmi_debug_setup(char *str)
 	register_die_notifier(&nmi_debug_nb);
 
 	if (*str != '=')
-		return 0;
+		return 1;
 
 	for (p = str + 1; *p; p = sep + 1) {
 		sep = strchr(p, ',');
@@ -70,6 +70,6 @@ static int __init nmi_debug_setup(char *str)
 			break;
 	}
 
-	return 0;
+	return 1;
 }
 __setup("nmi_debug", nmi_debug_setup);
arch/sh/kernel/setup.c +2 -2
index 2c0e0f37a318..c25ee383cb83 100644
@@ -243,7 +243,7 @@ void __init __weak plat_early_device_setup(void)
 {
 }
 
-#ifdef CONFIG_OF_FLATTREE
+#ifdef CONFIG_OF_EARLY_FLATTREE
 void __ref sh_fdt_init(phys_addr_t dt_phys)
 {
 	static int done = 0;
@@ -330,7 +330,7 @@ void __init setup_arch(char **cmdline_p)
 	/* Let earlyprintk output early console messages */
 	early_platform_driver_probe("earlyprintk", 1, 1);
 
-#ifdef CONFIG_OF_FLATTREE
+#ifdef CONFIG_OF_EARLY_FLATTREE
 #ifdef CONFIG_USE_BUILTIN_DTB
 	unflatten_and_copy_device_tree();
 #else
arch/sh/math-emu/sfp-util.h +0 -4
index 784f541344f3..bda50762b3d3 100644
@@ -67,7 +67,3 @@
   } while (0)
 
 #define abort()	return 0
-
-#define __BYTE_ORDER __LITTLE_ENDIAN
-
-
arch/x86/kernel/apic/apic.c +2 -3
index 68c734032523..a3b7b2fb04cb 100644
@@ -410,10 +410,9 @@ static unsigned int reserve_eilvt_offset(int offset, unsigned int new)
 		if (vector && !eilvt_entry_is_changeable(vector, new))
 			/* may not change if vectors are different */
 			return rsvd;
-		rsvd = atomic_cmpxchg(&eilvt_offsets[offset], rsvd, new);
-	} while (rsvd != new);
+	} while (!atomic_try_cmpxchg(&eilvt_offsets[offset], &rsvd, new));
 
-	rsvd &= ~APIC_EILVT_MASKED;
+	rsvd = new & ~APIC_EILVT_MASKED;
 	if (rsvd && rsvd != vector)
 		pr_info("LVT offset %d assigned for vector 0x%02x\n",
 			offset, rsvd);
arch/x86/kernel/apic/io_apic.c +9 -5
index 1622cff009c9..e4d63392c619 100644
@@ -2455,17 +2455,21 @@ static int io_apic_get_redir_entries(int ioapic)
 
 unsigned int arch_dynirq_lower_bound(unsigned int from)
 {
+	unsigned int ret;
+
 	/*
 	 * dmar_alloc_hwirq() may be called before setup_IO_APIC(), so use
 	 * gsi_top if ioapic_dynirq_base hasn't been initialized yet.
 	 */
-	if (!ioapic_initialized)
-		return gsi_top;
+	ret = ioapic_dynirq_base ? : gsi_top;
+
 	/*
-	 * For DT enabled machines ioapic_dynirq_base is irrelevant and not
-	 * updated. So simply return @from if ioapic_dynirq_base == 0.
+	 * For DT enabled machines ioapic_dynirq_base is irrelevant and
+	 * always 0. gsi_top can be 0 if there is no IO/APIC registered.
+	 * 0 is an invalid interrupt number for dynamic allocations. Return
+	 * @from instead.
 	 */
-	return ioapic_dynirq_base ? : from;
+	return ret ? : from;
 }
 
 #ifdef CONFIG_X86_32
arch/x86/kvm/vmx/vmx.c +15 -0
index e6dd6a7e8689..9bd08d264603 100644
@@ -7266,6 +7266,21 @@ static int vmx_check_intercept(struct kvm_vcpu *vcpu,
 		/* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED.  */
 		break;
 
+	case x86_intercept_pause:
+		/*
+		 * PAUSE is a single-byte NOP with a REPE prefix, i.e. collides
+		 * with vanilla NOPs in the emulator.  Apply the interception
+		 * check only to actual PAUSE instructions.  Don't check
+		 * PAUSE-loop-exiting, software can't expect a given PAUSE to
+		 * exit, i.e. KVM is within its rights to allow L2 to execute
+		 * the PAUSE.
+		 */
+		if ((info->rep_prefix != REPE_PREFIX) ||
+		    !nested_cpu_has2(vmcs12, CPU_BASED_PAUSE_EXITING))
+			return X86EMUL_CONTINUE;
+
+		break;
+
 	/* TODO: check more intercepts... */
 	default:
 		break;
crypto/drbg.c +8 -8
index 9329d9dcc210..df80752fb649 100644
@@ -1515,6 +1515,14 @@ static int drbg_prepare_hrng(struct drbg_state *drbg)
 		return 0;
 
 	drbg->jent = crypto_alloc_rng("jitterentropy_rng", 0, 0);
+	if (IS_ERR(drbg->jent)) {
+		const int err = PTR_ERR(drbg->jent);
+
+		drbg->jent = NULL;
+		if (fips_enabled)
+			return err;
+		pr_info("DRBG: Continuing without Jitter RNG\n");
+	}
 
 	return 0;
 }
@@ -1570,14 +1578,6 @@ static int drbg_instantiate(struct drbg_state *drbg, struct drbg_string *pers,
 		if (ret)
 			goto free_everything;
 
-		if (IS_ERR(drbg->jent)) {
-			ret = PTR_ERR(drbg->jent);
-			drbg->jent = NULL;
-			if (fips_enabled || ret != -ENOENT)
-				goto free_everything;
-			pr_info("DRBG: Continuing without Jitter RNG\n");
-		}
-
 		reseed = false;
 	}
 
drivers/base/cpu.c +2 -1
index 7000c836951c..980e9a76e172 100644
@@ -491,7 +491,8 @@ static const struct attribute_group *cpu_root_attr_groups[] = {
 bool cpu_is_hotpluggable(unsigned cpu)
 {
 	struct device *dev = get_cpu_device(cpu);
-	return dev && container_of(dev, struct cpu, dev)->hotpluggable;
+	return dev && container_of(dev, struct cpu, dev)->hotpluggable
+		&& tick_nohz_cpu_hotpluggable(cpu);
 }
 EXPORT_SYMBOL_GPL(cpu_is_hotpluggable);
 
drivers/base/power/domain.c +97 -97

404 lines not on this page · raw message

drivers/base/power/domain_governor.c +6 -6
index daa8c7689f7e..490ed7deb99a 100644
@@ -135,8 +135,8 @@ static bool __default_power_down_ok(struct dev_pm_domain *pd,
 	 *
 	 * All subdomains have been powered off already at this point.
 	 */
-	list_for_each_entry(link, &genpd->master_links, master_node) {
-		struct generic_pm_domain *sd = link->slave;
+	list_for_each_entry(link, &genpd->parent_links, parent_node) {
+		struct generic_pm_domain *sd = link->child;
 		s64 sd_max_off_ns = sd->max_off_time_ns;
 
 		if (sd_max_off_ns < 0)
@@ -217,13 +217,13 @@ static bool default_power_down_ok(struct dev_pm_domain *pd)
 	}
 
 	/*
-	 * We have to invalidate the cached results for the masters, so
+	 * We have to invalidate the cached results for the parents, so
 	 * use the observation that default_power_down_ok() is not
-	 * going to be called for any master until this instance
+	 * going to be called for any parent until this instance
 	 * returns.
 	 */
-	list_for_each_entry(link, &genpd->slave_links, slave_node)
-		link->master->max_off_time_changed = true;
+	list_for_each_entry(link, &genpd->child_links, child_node)
+		link->parent->max_off_time_changed = true;
 
 	genpd->max_off_time_ns = -1;
 	genpd->max_off_time_changed = false;
drivers/block/drbd/drbd_receiver.c +1 -1
index 2b3103c30857..d94f41a0abbe 100644
@@ -1298,7 +1298,7 @@ static void submit_one_flush(struct drbd_device *device, struct issue_flush_cont
 	bio_set_dev(bio, device->ldev->backing_bdev);
 	bio->bi_private = octx;
 	bio->bi_end_io = one_flush_endio;
-	bio->bi_opf = REQ_OP_FLUSH | REQ_PREFLUSH;
+	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 
 	device->flush_jif = jiffies;
 	set_bit(FLUSH_PENDING, &device->flags);
drivers/bluetooth/btsdio.c +0 -1
index 81125fb18035..fd9571d5fdac 100644
@@ -343,7 +343,6 @@ static void btsdio_remove(struct sdio_func *func)
 
 	BT_DBG("func %p", func);
 
-	cancel_work_sync(&data->work);
 	if (!data)
 		return;
 
drivers/char/ipmi/ipmi_ssif.c +5 -3
index d5f068a10a5a..2907b0bca1af 100644
@@ -562,8 +562,10 @@ static void retry_timeout(struct timer_list *t)
 
 	if (waiting)
 		start_get(ssif_info);
-	if (resend)
+	if (resend) {
 		start_resend(ssif_info);
+		ssif_inc_stat(ssif_info, send_retries);
+	}
 }
 
 static void watch_timeout(struct timer_list *t)
@@ -789,9 +791,9 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 		} else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2
 			   || data[1] != IPMI_GET_MSG_FLAGS_CMD) {
 			/*
-			 * Don't abort here, maybe it was a queued
-			 * response to a previous command.
+			 * Recv error response, give up.
 			 */
+			ssif_info->ssif_state = SSIF_IDLE;
 			ipmi_ssif_unlock_cond(ssif_info, flags);
 			dev_warn(&ssif_info->client->dev,
 				 "Invalid response getting flags: %x %x\n",
drivers/char/tpm/tpm_tis_core.c +11 -18
index 70f785994228..cb0660304e48 100644
@@ -613,7 +613,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
 	return IRQ_HANDLED;
 }
 
-static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
+static void tpm_tis_gen_interrupt(struct tpm_chip *chip)
 {
 	const char *desc = "attempting to generate an interrupt";
 	u32 cap2;
@@ -622,7 +622,7 @@ static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
 
 	ret = request_locality(chip, 0);
 	if (ret < 0)
-		return ret;
+		return;
 
 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
 		ret = tpm2_get_tpm_pt(chip, 0x100, &cap2, desc);
@@ -630,8 +630,6 @@ static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
 		ret = tpm1_getcap(chip, TPM_CAP_PROP_TIS_TIMEOUT, &cap, desc, 0);
 
 	release_locality(chip, 0);
-
-	return ret;
 }
 
 /* Register the IRQ and issue a command that will cause an interrupt. If an
@@ -661,42 +659,37 @@ static int tpm_tis_probe_irq_single(struct tpm_chip *chip, u32 intmask,
 
 	rc = tpm_tis_write8(priv, TPM_INT_VECTOR(priv->locality), irq);
 	if (rc < 0)
-		return rc;
+		goto restore_irqs;
 
 	rc = tpm_tis_read32(priv, TPM_INT_STATUS(priv->locality), &int_status);
 	if (rc < 0)
-		return rc;
+		goto restore_irqs;
 
 	/* Clear all existing */
 	rc = tpm_tis_write32(priv, TPM_INT_STATUS(priv->locality), int_status);
 	if (rc < 0)
-		return rc;
-
+		goto restore_irqs;
 	/* Turn on */
 	rc = tpm_tis_write32(priv, TPM_INT_ENABLE(priv->locality),
 			     intmask | TPM_GLOBAL_INT_ENABLE);
 	if (rc < 0)
-		return rc;
+		goto restore_irqs;
 
 	priv->irq_tested = false;
 
 	/* Generate an interrupt by having the core call through to
 	 * tpm_tis_send
 	 */
-	rc = tpm_tis_gen_interrupt(chip);
-	if (rc < 0)
-		return rc;
+	tpm_tis_gen_interrupt(chip);
 
+restore_irqs:
 	/* tpm_tis_send will either confirm the interrupt is working or it
 	 * will call disable_irq which undoes all of the above.
 	 */
 	if (!(chip->flags & TPM_CHIP_FLAG_IRQ)) {
-		rc = tpm_tis_write8(priv, original_int_vec,
-				TPM_INT_VECTOR(priv->locality));
-		if (rc < 0)
-			return rc;
-
-		return 1;
+		tpm_tis_write8(priv, original_int_vec,
+			       TPM_INT_VECTOR(priv->locality));
+		return -1;
 	}
 
 	return 0;
drivers/clk/clk-conf.c +10 -2
index 2ef819606c41..1a4e6340f95c 100644
@@ -33,9 +33,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
 			else
 				return rc;
 		}
-		if (clkspec.np == node && !clk_supplier)
+		if (clkspec.np == node && !clk_supplier) {
+			of_node_put(clkspec.np);
 			return 0;
+		}
 		pclk = of_clk_get_from_provider(&clkspec);
+		of_node_put(clkspec.np);
 		if (IS_ERR(pclk)) {
 			if (PTR_ERR(pclk) != -EPROBE_DEFER)
 				pr_warn("clk: couldn't get parent clock %d for %pOF\n",
@@ -48,10 +51,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
 		if (rc < 0)
 			goto err;
 		if (clkspec.np == node && !clk_supplier) {
+			of_node_put(clkspec.np);
 			rc = 0;
 			goto err;
 		}
 		clk = of_clk_get_from_provider(&clkspec);
+		of_node_put(clkspec.np);
 		if (IS_ERR(clk)) {
 			if (PTR_ERR(clk) != -EPROBE_DEFER)
 				pr_warn("clk: couldn't get assigned clock %d for %pOF\n",
@@ -93,10 +98,13 @@ static int __set_clk_rates(struct device_node *node, bool clk_supplier)
 				else
 					return rc;
 			}
-			if (clkspec.np == node && !clk_supplier)
+			if (clkspec.np == node && !clk_supplier) {
+				of_node_put(clkspec.np);
 				return 0;
+			}
 
 			clk = of_clk_get_from_provider(&clkspec);
+			of_node_put(clkspec.np);
 			if (IS_ERR(clk)) {
 				if (PTR_ERR(clk) != -EPROBE_DEFER)
 					pr_warn("clk: couldn't get clock %d for %pOF\n",
drivers/clk/rockchip/clk-rk3399.c +1 -1
index ce1d2446f142..1a75cc9f68ef 100644
@@ -1259,7 +1259,7 @@ static struct rockchip_clk_branch rk3399_clk_branches[] __initdata = {
 			RK3399_CLKSEL_CON(56), 6, 2, MFLAGS,
 			RK3399_CLKGATE_CON(10), 7, GFLAGS),
 
-	COMPOSITE_NOGATE(SCLK_CIF_OUT, "clk_cifout", mux_clk_cif_p, 0,
+	COMPOSITE_NOGATE(SCLK_CIF_OUT, "clk_cifout", mux_clk_cif_p, CLK_SET_RATE_PARENT,
 			 RK3399_CLKSEL_CON(56), 5, 1, MFLAGS, 0, 5, DFLAGS),
 
 	/* gic */
drivers/clocksource/timer-davinci.c +32 -16

111 lines not on this page · raw message

drivers/counter/104-quad-8.c +4 -26
index f261a57af1c0..919d6f1ced8d 100644
@@ -57,10 +57,6 @@ struct quad8_iio {
 
 #define QUAD8_REG_CHAN_OP 0x11
 #define QUAD8_REG_INDEX_INPUT_LEVELS 0x16
-/* Borrow Toggle flip-flop */
-#define QUAD8_FLAG_BT BIT(0)
-/* Carry Toggle flip-flop */
-#define QUAD8_FLAG_CT BIT(1)
 /* Error flag */
 #define QUAD8_FLAG_E BIT(4)
 /* Up/Down flag */
@@ -97,9 +93,6 @@ static int quad8_read_raw(struct iio_dev *indio_dev,
 {
 	struct quad8_iio *const priv = iio_priv(indio_dev);
 	const int base_offset = priv->base + 2 * chan->channel;
-	unsigned int flags;
-	unsigned int borrow;
-	unsigned int carry;
 	int i;
 
 	switch (mask) {
@@ -110,12 +103,7 @@ static int quad8_read_raw(struct iio_dev *indio_dev,
 			return IIO_VAL_INT;
 		}
 
-		flags = inb(base_offset + 1);
-		borrow = flags & QUAD8_FLAG_BT;
-		carry = !!(flags & QUAD8_FLAG_CT);
-
-		/* Borrow XOR Carry effectively doubles count range */
-		*val = (borrow ^ carry) << 24;
+		*val = 0;
 
 		mutex_lock(&priv->lock);
 
@@ -639,19 +627,9 @@ static int quad8_count_read(struct counter_device *counter,
 {
 	struct quad8_iio *const priv = counter->priv;
 	const int base_offset = priv->base + 2 * count->id;
-	unsigned int flags;
-	unsigned int borrow;
-	unsigned int carry;
-	unsigned long position;
+	unsigned long position = 0;
 	int i;
 
-	flags = inb(base_offset + 1);
-	borrow = flags & QUAD8_FLAG_BT;
-	carry = !!(flags & QUAD8_FLAG_CT);
-
-	/* Borrow XOR Carry effectively doubles count range */
-	position = (unsigned long)(borrow ^ carry) << 24;
-
 	mutex_lock(&priv->lock);
 
 	/* Reset Byte Pointer; transfer Counter to Output Latch */
@@ -1204,8 +1182,8 @@ static ssize_t quad8_count_ceiling_read(struct counter_device *counter,
 
 	mutex_unlock(&priv->lock);
 
-	/* By default 0x1FFFFFF (25 bits unsigned) is maximum count */
-	return sprintf(buf, "33554431\n");
+	/* By default 0xFFFFFF (24 bits unsigned) is maximum count */
+	return sprintf(buf, "16777215\n");
 }
 
 static ssize_t quad8_count_ceiling_write(struct counter_device *counter,
drivers/crypto/inside-secure/safexcel.c +38 -12

120 lines not on this page · raw message

drivers/crypto/inside-secure/safexcel.h +3 -0
index 930cc48a6f85..6a4d7f09bca9 100644
@@ -640,6 +640,9 @@ struct safexcel_ring {
 	 */
 	struct crypto_async_request *req;
 	struct crypto_async_request *backlog;
+
+	/* irq of this ring */
+	int irq;
 };
 
 /* EIP integration context flags */
drivers/dma/at_xdmac.c +4 -1
index a406b3c0d170..fdf3b5be2d50 100644
@@ -212,6 +212,7 @@ struct at_xdmac {
 	int			irq;
 	struct clk		*clk;
 	u32			save_gim;
+	u32			save_gs;
 	struct dma_pool		*at_xdmac_desc_pool;
 	struct at_xdmac_chan	chan[0];
 };
@@ -1922,6 +1923,7 @@ static int atmel_xdmac_suspend(struct device *dev)
 		}
 	}
 	atxdmac->save_gim = at_xdmac_read(atxdmac, AT_XDMAC_GIM);
+	atxdmac->save_gs = at_xdmac_read(atxdmac, AT_XDMAC_GS);
 
 	at_xdmac_off(atxdmac);
 	clk_disable_unprepare(atxdmac->clk);
@@ -1958,7 +1960,8 @@ static int atmel_xdmac_resume(struct device *dev)
 			at_xdmac_chan_write(atchan, AT_XDMAC_CNDC, atchan->save_cndc);
 			at_xdmac_chan_write(atchan, AT_XDMAC_CIE, atchan->save_cim);
 			wmb();
-			at_xdmac_write(atxdmac, AT_XDMAC_GE, atchan->mask);
+			if (atxdmac->save_gs & atchan->mask)
+				at_xdmac_write(atxdmac, AT_XDMAC_GE, atchan->mask);
 		}
 	}
 	return 0;
drivers/dma/dw-edma/dw-edma-core.c +16 -11
index afbd1a459019..25d65f64cd50 100644
@@ -165,7 +165,7 @@ static void vchan_free_desc(struct virt_dma_desc *vdesc)
 	dw_edma_free_desc(vd2dw_edma_desc(vdesc));
 }
 
-static void dw_edma_start_transfer(struct dw_edma_chan *chan)
+static int dw_edma_start_transfer(struct dw_edma_chan *chan)
 {
 	struct dw_edma_chunk *child;
 	struct dw_edma_desc *desc;
@@ -173,16 +173,16 @@ static void dw_edma_start_transfer(struct dw_edma_chan *chan)
 
 	vd = vchan_next_desc(&chan->vc);
 	if (!vd)
-		return;
+		return 0;
 
 	desc = vd2dw_edma_desc(vd);
 	if (!desc)
-		return;
+		return 0;
 
 	child = list_first_entry_or_null(&desc->chunk->list,
 					 struct dw_edma_chunk, list);
 	if (!child)
-		return;
+		return 0;
 
 	dw_edma_v0_core_start(child, !desc->xfer_sz);
 	desc->xfer_sz += child->ll_region.sz;
@@ -190,6 +190,8 @@ static void dw_edma_start_transfer(struct dw_edma_chan *chan)
 	list_del(&child->list);
 	kfree(child);
 	desc->chunks_alloc--;
+
+	return 1;
 }
 
 static int dw_edma_device_config(struct dma_chan *dchan,
@@ -273,9 +275,12 @@ static void dw_edma_device_issue_pending(struct dma_chan *dchan)
 	struct dw_edma_chan *chan = dchan2dw_edma_chan(dchan);
 	unsigned long flags;
 
+	if (!chan->configured)
+		return;
+
 	spin_lock_irqsave(&chan->vc.lock, flags);
-	if (chan->configured && chan->request == EDMA_REQ_NONE &&
-	    chan->status == EDMA_ST_IDLE && vchan_issue_pending(&chan->vc)) {
+	if (vchan_issue_pending(&chan->vc) && chan->request == EDMA_REQ_NONE &&
+	    chan->status == EDMA_ST_IDLE) {
 		chan->status = EDMA_ST_BUSY;
 		dw_edma_start_transfer(chan);
 	}
@@ -483,14 +488,14 @@ static void dw_edma_done_interrupt(struct dw_edma_chan *chan)
 		switch (chan->request) {
 		case EDMA_REQ_NONE:
 			desc = vd2dw_edma_desc(vd);
-			if (desc->chunks_alloc) {
-				chan->status = EDMA_ST_BUSY;
-				dw_edma_start_transfer(chan);
-			} else {
+			if (!desc->chunks_alloc) {
 				list_del(&vd->node);
 				vchan_cookie_complete(vd);
-				chan->status = EDMA_ST_IDLE;
 			}
+
+			/* Continue transferring if there are remaining chunks or issued requests.
+			 */
+			chan->status = dw_edma_start_transfer(chan) ? EDMA_ST_BUSY : EDMA_ST_IDLE;
 			break;
 
 		case EDMA_REQ_STOP:
drivers/dma/mv_xor_v2.c +1 -1
index 3fa884145eb1..d5109d96ebf1 100644
@@ -751,7 +751,7 @@ static int mv_xor_v2_probe(struct platform_device *pdev)
 
 	xor_dev->clk = devm_clk_get(&pdev->dev, NULL);
 	if (IS_ERR(xor_dev->clk) && PTR_ERR(xor_dev->clk) == -EPROBE_DEFER) {
-		ret = EPROBE_DEFER;
+		ret = -EPROBE_DEFER;
 		goto disable_reg_clk;
 	}
 	if (!IS_ERR(xor_dev->clk)) {
drivers/edac/skx_base.c +2 -2
index b1d717cb8df9..f382cc70f9aa 100644
@@ -459,7 +459,7 @@ static bool skx_rir_decode(struct decoded_addr *res)
 }
 
 static u8 skx_close_row[] = {
-	15, 16, 17, 18, 20, 21, 22, 28, 10, 11, 12, 13, 29, 30, 31, 32, 33
+	15, 16, 17, 18, 20, 21, 22, 28, 10, 11, 12, 13, 29, 30, 31, 32, 33, 34
 };
 
 static u8 skx_close_column[] = {
@@ -467,7 +467,7 @@ static u8 skx_close_column[] = {
 };
 
 static u8 skx_open_row[] = {
-	14, 15, 16, 20, 28, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33
+	14, 15, 16, 20, 28, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34
 };
 
 static u8 skx_open_column[] = {
drivers/firmware/qcom_scm.c +1 -2
index b9fdc20b4eb9..eda25d506059 100644
@@ -585,8 +585,7 @@ static int qcom_scm_probe(struct platform_device *pdev)
 static void qcom_scm_shutdown(struct platform_device *pdev)
 {
 	/* Clean shutdown, disable download mode to allow normal restart */
-	if (download_mode)
-		qcom_scm_set_download_mode(false);
+	qcom_scm_set_download_mode(false);
 }
 
 static const struct of_device_id qcom_scm_dt_match[] = {
drivers/firmware/raspberrypi.c +67 -3

127 lines not on this page · raw message

drivers/firmware/stratix10-svc.c +2 -2
index 08c422380a00..7122bc6ea796 100644
@@ -981,8 +981,8 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev)
 		return ret;
 
 	genpool = svc_create_memory_pool(pdev, sh_memory);
-	if (!genpool)
-		return -ENOMEM;
+	if (IS_ERR(genpool))
+		return PTR_ERR(genpool);
 
 	/* allocate service controller and supporting channel */
 	controller = devm_kzalloc(dev, sizeof(*controller), GFP_KERNEL);
drivers/fpga/fpga-bridge.c +1 -1
index 4bab9028940a..aea4ceeed536 100644
@@ -115,7 +115,7 @@ static int fpga_bridge_dev_match(struct device *dev, const void *data)
 /**
  * fpga_bridge_get - get an exclusive reference to a fpga bridge
  * @dev:	parent device that fpga bridge was registered with
- * @info:	fpga manager info
+ * @info:	fpga image specific information
  *
  * Given a device, get an exclusive reference to a fpga bridge.
  *
drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +5 -1
index c799691dfa84..94a503dc08b7 100644
@@ -58,6 +58,7 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
 {
 	struct fd f = fdget(fd);
 	struct amdgpu_fpriv *fpriv;
+	struct amdgpu_ctx_mgr *mgr;
 	struct amdgpu_ctx *ctx;
 	uint32_t id;
 	int r;
@@ -71,8 +72,11 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
 		return r;
 	}
 
-	idr_for_each_entry(&fpriv->ctx_mgr.ctx_handles, ctx, id)
+	mgr = &fpriv->ctx_mgr;
+	mutex_lock(&mgr->lock);
+	idr_for_each_entry(&mgr->ctx_handles, ctx, id)
 		amdgpu_ctx_priority_override(ctx, priority);
+	mutex_unlock(&mgr->lock);
 
 	fdput(f);
 	return 0;
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +2 -1
index 685a2df01d09..762a407a4997 100644
@@ -3908,7 +3908,8 @@ static int gfx_v9_0_hw_fini(void *handle)
 {
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
-	amdgpu_irq_put(adev, &adev->gfx.cp_ecc_error_irq, 0);
+	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__GFX))
+		amdgpu_irq_put(adev, &adev->gfx.cp_ecc_error_irq, 0);
 	amdgpu_irq_put(adev, &adev->gfx.priv_reg_irq, 0);
 	amdgpu_irq_put(adev, &adev->gfx.priv_inst_irq, 0);
 
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +0 -1
index 63205de4a565..7a50713268b6 100644
@@ -1534,7 +1534,6 @@ static int gmc_v9_0_hw_fini(void *handle)
 		return 0;
 	}
 
-	amdgpu_irq_put(adev, &adev->gmc.ecc_irq, 0);
 	amdgpu_irq_put(adev, &adev->gmc.vm_fault, 0);
 
 	return 0;
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +5 -3
index 23de332f3c6e..7ca7a68d588e 100644
@@ -1911,9 +1911,11 @@ static int sdma_v4_0_hw_fini(void *handle)
 	if (amdgpu_sriov_vf(adev))
 		return 0;
 
-	for (i = 0; i < adev->sdma.num_instances; i++) {
-		amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
-			       AMDGPU_SDMA_IRQ_INSTANCE0 + i);
+	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__SDMA)) {
+		for (i = 0; i < adev->sdma.num_instances; i++) {
+			amdgpu_irq_put(adev, &adev->sdma.ecc_irq,
+				       AMDGPU_SDMA_IRQ_INSTANCE0 + i);
+		}
 	}
 
 	sdma_v4_0_ctx_switch_enable(adev, false);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +4 -1
index 1e7083bc8a52..3f3242783e1c 100644
@@ -5776,6 +5776,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
 			continue;
 
 		dc_plane = dm_new_plane_state->dc_state;
+		if (!dc_plane)
+			continue;
 
 		bundle->surface_updates[planes_count].surface = dc_plane;
 		if (new_pcrtc_state->color_mgmt_changed) {
@@ -7029,8 +7031,9 @@ static int dm_update_plane_state(struct dc *dc,
 			return -EINVAL;
 		}
 
+		if (dm_old_plane_state->dc_state)
+			dc_plane_state_release(dm_old_plane_state->dc_state);
 
-		dc_plane_state_release(dm_old_plane_state->dc_state);
 		dm_new_plane_state->dc_state = NULL;
 
 		*lock_and_validation_needed = true;
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +3 -0
index de246e183d6b..cdcd5051dd66 100644
@@ -1315,6 +1315,9 @@ bool dc_remove_plane_from_context(
 	struct dc_stream_status *stream_status = NULL;
 	struct resource_pool *pool = dc->res_pool;
 
+	if (!plane_state)
+		return true;
+
 	for (i = 0; i < context->stream_count; i++)
 		if (context->streams[i] == stream) {
 			stream_status = &context->stream_status[i];
drivers/gpu/drm/drm_fb_helper.c +3 -0
index 4ae68bf04892..9eb490a6e016 100644
@@ -1340,6 +1340,9 @@ int drm_fb_helper_check_var(struct fb_var_screeninfo *var,
 		return -EINVAL;
 	}
 
+	var->xres_virtual = fb->width;
+	var->yres_virtual = fb->height;
+
 	/*
 	 * Workaround for SDL 1.2, which is known to be setting all pixel format
 	 * fields values to zero in some cases. We treat this situation as a
drivers/gpu/drm/drm_probe_helper.c +3 -2
index d45f43feaf86..4c8bb93a89fb 100644
@@ -460,8 +460,9 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
 		 */
 		dev->mode_config.delayed_event = true;
 		if (dev->mode_config.poll_enabled)
-			schedule_delayed_work(&dev->mode_config.output_poll_work,
-					      0);
+			mod_delayed_work(system_wq,
+					 &dev->mode_config.output_poll_work,
+					 0);
 	}
 
 	/* Re-enable polling in case the global poll config changed. */
drivers/gpu/drm/exynos/exynos5433_drm_decon.c +2 -2
index 9c262daf5816..1061430aced2 100644
@@ -775,8 +775,8 @@ static int decon_conf_irq(struct decon_context *ctx, const char *name,
 			return irq;
 		}
 	}
-	irq_set_status_flags(irq, IRQ_NOAUTOEN);
-	ret = devm_request_irq(ctx->dev, irq, handler, flags, "drm_decon", ctx);
+	ret = devm_request_irq(ctx->dev, irq, handler,
+			       flags | IRQF_NO_AUTOEN, "drm_decon", ctx);
 	if (ret < 0) {
 		dev_err(ctx->dev, "IRQ %s request failed\n", name);
 		return ret;
drivers/gpu/drm/exynos/exynos_drm_dsi.c +3 -4
index babf3db82ce3..bfcbb89ff40a 100644
@@ -1350,10 +1350,9 @@ static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi,
 	}
 
 	te_gpio_irq = gpio_to_irq(dsi->te_gpio);
-	irq_set_status_flags(te_gpio_irq, IRQ_NOAUTOEN);
 
 	ret = request_threaded_irq(te_gpio_irq, exynos_dsi_te_irq_handler, NULL,
-					IRQF_TRIGGER_RISING, "TE", dsi);
+				   IRQF_TRIGGER_RISING | IRQF_NO_AUTOEN, "TE", dsi);
 	if (ret) {
 		dev_err(dsi->dev, "request interrupt failed with %d\n", ret);
 		gpio_free(dsi->te_gpio);
@@ -1792,9 +1791,9 @@ static int exynos_dsi_probe(struct platform_device *pdev)
 		return dsi->irq;
 	}
 
-	irq_set_status_flags(dsi->irq, IRQ_NOAUTOEN);
 	ret = devm_request_threaded_irq(dev, dsi->irq, NULL,
-					exynos_dsi_irq, IRQF_ONESHOT,
+					exynos_dsi_irq,
+					IRQF_ONESHOT | IRQF_NO_AUTOEN,
 					dev_name(dev), dsi);
 	if (ret) {
 		dev_err(dev, "failed to request dsi irq\n");
drivers/gpu/drm/lima/lima_drv.c +4 -2
index 75ec703d22e0..89513c7c50d5 100644
@@ -300,8 +300,10 @@ static int lima_pdev_probe(struct platform_device *pdev)
 
 	/* Allocate and initialize the DRM device. */
 	ddev = drm_dev_alloc(&lima_drm_driver, &pdev->dev);
-	if (IS_ERR(ddev))
-		return PTR_ERR(ddev);
+	if (IS_ERR(ddev)) {
+		err = PTR_ERR(ddev);
+		goto err_out0;
+	}
 
 	ddev->dev_private = ldev;
 	ldev->ddev = ddev;
drivers/gpu/drm/msm/adreno/adreno_device.c +5 -2
index 0888e0df660d..2a727ab0faf7 100644
@@ -233,8 +233,11 @@ struct msm_gpu *adreno_load_gpu(struct drm_device *dev)
 	if (ret)
 		return NULL;
 
-	/* Make sure pm runtime is active and reset any previous errors */
-	pm_runtime_set_active(&pdev->dev);
+	/*
+	 * Now that we have firmware loaded, and are ready to begin
+	 * booting the gpu, go ahead and enable runpm:
+	 */
+	pm_runtime_enable(&pdev->dev);
 
 	ret = pm_runtime_get_sync(&pdev->dev);
 	if (ret < 0) {
drivers/gpu/drm/msm/adreno/adreno_gpu.c +4 -1
index 3802ad38c519..6f83253a8c58 100644
@@ -899,7 +899,6 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
 	pm_runtime_set_autosuspend_delay(&pdev->dev,
 		adreno_gpu->info->inactive_period);
 	pm_runtime_use_autosuspend(&pdev->dev);
-	pm_runtime_enable(&pdev->dev);
 
 	return msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base,
 			adreno_gpu->info->name, &adreno_gpu_config);
@@ -908,11 +907,15 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
 {
 	struct msm_gpu *gpu = &adreno_gpu->base;
+	struct msm_drm_private *priv = gpu->dev ? gpu->dev->dev_private : NULL;
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++)
 		release_firmware(adreno_gpu->fw[i]);
 
+	if (priv && pm_runtime_enabled(&priv->gpu_pdev->dev))
+		pm_runtime_disable(&priv->gpu_pdev->dev);
+
 	icc_put(gpu->icc_path);
 
 	msm_gpu_cleanup(&adreno_gpu->base);
drivers/gpu/drm/panel/panel-orisetech-otm8009a.c +1 -1
index c7b48df8869a..3ee265f1755f 100644
@@ -460,7 +460,7 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi)
 	ctx->panel.funcs = &otm8009a_drm_funcs;
 
 	ctx->bl_dev = devm_backlight_device_register(dev, dev_name(dev),
-						     dsi->host->dev, ctx,
+						     dev, ctx,
 						     &otm8009a_backlight_ops,
 						     NULL);
 	if (IS_ERR(ctx->bl_dev)) {
drivers/gpu/drm/rockchip/rockchip_drm_gem.c +0 -3
index 291e89b4045f..96cc794147b5 100644
@@ -249,9 +249,6 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj,
 	else
 		ret = rockchip_drm_gem_object_mmap_dma(obj, vma);
 
-	if (ret)
-		drm_gem_vm_close(vma);
-
 	return ret;
 }
 
drivers/gpu/drm/vgem/vgem_fence.c +1 -0
index 9268f6fc3f66..92895937aba9 100644
@@ -249,4 +249,5 @@ void vgem_fence_close(struct vgem_file *vfile)
 {
 	idr_for_each(&vfile->fence_idr, __vgem_fence_idr_fini, vfile);
 	idr_destroy(&vfile->fence_idr);
+	mutex_destroy(&vfile->fence_mutex);
 }
drivers/hid/wacom_wac.c +36 -2
index aa477a43a312..339bc7f1fced 100644
@@ -1265,6 +1265,9 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
 
 	struct input_dev *pen_input = wacom->pen_input;
 	unsigned char *data = wacom->data;
+	int number_of_valid_frames = 0;
+	int time_interval = 15000000;
+	ktime_t time_packet_received = ktime_get();
 	int i;
 
 	if (wacom->features.type == INTUOSP2_BT ||
@@ -1285,12 +1288,30 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
 		wacom->id[0] |= (wacom->serial[0] >> 32) & 0xFFFFF;
 	}
 
+	/* number of valid frames */
 	for (i = 0; i < pen_frames; i++) {
 		unsigned char *frame = &data[i*pen_frame_len + 1];
 		bool valid = frame[0] & 0x80;
+
+		if (valid)
+			number_of_valid_frames++;
+	}
+
+	if (number_of_valid_frames) {
+		if (wacom->hid_data.time_delayed)
+			time_interval = ktime_get() - wacom->hid_data.time_delayed;
+		time_interval /= number_of_valid_frames;
+		wacom->hid_data.time_delayed = time_packet_received;
+	}
+
+	for (i = 0; i < number_of_valid_frames; i++) {
+		unsigned char *frame = &data[i*pen_frame_len + 1];
+		bool valid = frame[0] & 0x80;
 		bool prox = frame[0] & 0x40;
 		bool range = frame[0] & 0x20;
 		bool invert = frame[0] & 0x10;
+		int frames_number_reversed = number_of_valid_frames - i - 1;
+		int event_timestamp = time_packet_received - frames_number_reversed * time_interval;
 
 		if (!valid)
 			continue;
@@ -1303,6 +1324,7 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
 			wacom->tool[0] = 0;
 			wacom->id[0] = 0;
 			wacom->serial[0] = 0;
+			wacom->hid_data.time_delayed = 0;
 			return;
 		}
 
@@ -1339,6 +1361,7 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
 						 get_unaligned_le16(&frame[11]));
 			}
 		}
+
 		if (wacom->tool[0]) {
 			input_report_abs(pen_input, ABS_PRESSURE, get_unaligned_le16(&frame[5]));
 			if (wacom->features.type == INTUOSP2_BT ||
@@ -1362,6 +1385,9 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
 
 		wacom->shared->stylus_in_proximity = prox;
 
+		/* add timestamp to unpack the frames */
+		input_set_timestamp(pen_input, event_timestamp);
+
 		input_sync(pen_input);
 	}
 }
@@ -1853,6 +1879,7 @@ static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage,
 	int fmax = field->logical_maximum;
 	unsigned int equivalent_usage = wacom_equivalent_usage(usage->hid);
 	int resolution_code = code;
+	int resolution = hidinput_calc_abs_res(field, resolution_code);
 
 	if (equivalent_usage == HID_DG_TWIST) {
 		resolution_code = ABS_RZ;
@@ -1875,8 +1902,15 @@ static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage,
 	switch (type) {
 	case EV_ABS:
 		input_set_abs_params(input, code, fmin, fmax, fuzz, 0);
-		input_abs_set_res(input, code,
-				  hidinput_calc_abs_res(field, resolution_code));
+
+		/* older tablet may miss physical usage */
+		if ((code == ABS_X || code == ABS_Y) && !resolution) {
+			resolution = WACOM_INTUOS_RES;
+			hid_warn(input,
+				 "Wacom usage (%d) missing resolution \n",
+				 code);
+		}
+		input_abs_set_res(input, code, resolution);
 		break;
 	case EV_KEY:
 		input_set_capability(input, EV_KEY, code);
drivers/hid/wacom_wac.h +1 -0
index ca172efcf072..88badfbae999 100644
@@ -320,6 +320,7 @@ struct hid_data {
 	int bat_connected;
 	int ps_connected;
 	bool pad_input_event_flag;
+	int time_delayed;
 };
 
 struct wacom_remote_data {
drivers/i2c/busses/i2c-omap.c +1 -1
index c36522849325..a788f2e70677 100644
@@ -1058,7 +1058,7 @@ omap_i2c_isr(int irq, void *dev_id)
 	u16 stat;
 
 	stat = omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG);
-	mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG);
+	mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG) & ~OMAP_I2C_STAT_NACK;
 
 	if (stat & mask)
 		ret = IRQ_WAKE_THREAD;
drivers/iio/adc/palmas_gpadc.c +1 -1
index 2bd785e9e42a..4861093b0764 100644
@@ -630,7 +630,7 @@ static int palmas_gpadc_probe(struct platform_device *pdev)
 
 static int palmas_gpadc_remove(struct platform_device *pdev)
 {
-	struct iio_dev *indio_dev = dev_to_iio_dev(&pdev->dev);
+	struct iio_dev *indio_dev = dev_get_drvdata(&pdev->dev);
 	struct palmas_gpadc *adc = iio_priv(indio_dev);
 
 	if (adc->wakeup1_enable || adc->wakeup2_enable)
drivers/iio/light/max44009.c +7 -6
index 00ba15499638..5103b1061a77 100644
@@ -529,6 +529,12 @@ static int max44009_probe(struct i2c_client *client,
 	return devm_iio_device_register(&client->dev, indio_dev);
 }
 
+static const struct of_device_id max44009_of_match[] = {
+	{ .compatible = "maxim,max44009" },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, max44009_of_match);
+
 static const struct i2c_device_id max44009_id[] = {
 	{ "max44009", 0 },
 	{ }
@@ -538,18 +544,13 @@ MODULE_DEVICE_TABLE(i2c, max44009_id);
 static struct i2c_driver max44009_driver = {
 	.driver = {
 		.name = MAX44009_DRV_NAME,
+		.of_match_table = max44009_of_match,
 	},
 	.probe = max44009_probe,
 	.id_table = max44009_id,
 };
 module_i2c_driver(max44009_driver);
 
-static const struct of_device_id max44009_of_match[] = {
-	{ .compatible = "maxim,max44009" },
-	{ }
-};
-MODULE_DEVICE_TABLE(of, max44009_of_match);
-
 MODULE_AUTHOR("Robert Eshleman <[email protected]>");
 MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("MAX44009 ambient light sensor driver");
drivers/infiniband/hw/hfi1/mmu_rb.c +6 -7
index 14d2a90964c3..a5631286c8e0 100644
@@ -173,7 +173,7 @@ int hfi1_mmu_rb_insert(struct mmu_rb_handler *handler,
 		goto unlock;
 	}
 	__mmu_int_rb_insert(mnode, &handler->root);
-	list_add(&mnode->list, &handler->lru_list);
+	list_add_tail(&mnode->list, &handler->lru_list);
 
 	ret = handler->ops->insert(handler->ops_arg, mnode);
 	if (ret) {
@@ -220,8 +220,10 @@ bool hfi1_mmu_rb_remove_unless_exact(struct mmu_rb_handler *handler,
 	spin_lock_irqsave(&handler->lock, flags);
 	node = __mmu_rb_search(handler, addr, len);
 	if (node) {
-		if (node->addr == addr && node->len == len)
+		if (node->addr == addr && node->len == len) {
+			list_move_tail(&node->list, &handler->lru_list);
 			goto unlock;
+		}
 		__mmu_int_rb_remove(node, &handler->root);
 		list_del(&node->list); /* remove from LRU list */
 		ret = true;
@@ -242,8 +244,7 @@ void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg)
 	INIT_LIST_HEAD(&del_list);
 
 	spin_lock_irqsave(&handler->lock, flags);
-	list_for_each_entry_safe_reverse(rbnode, ptr, &handler->lru_list,
-					 list) {
+	list_for_each_entry_safe(rbnode, ptr, &handler->lru_list, list) {
 		if (handler->ops->evict(handler->ops_arg, rbnode, evict_arg,
 					&stop)) {
 			__mmu_int_rb_remove(rbnode, &handler->root);
@@ -255,9 +256,7 @@ void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg)
 	}
 	spin_unlock_irqrestore(&handler->lock, flags);
 
-	while (!list_empty(&del_list)) {
-		rbnode = list_first_entry(&del_list, struct mmu_rb_node, list);
-		list_del(&rbnode->list);
+	list_for_each_entry_safe(rbnode, ptr, &del_list, list) {
 		handler->ops->remove(handler->ops_arg, rbnode);
 	}
 }
drivers/infiniband/hw/mlx4/qp.c +6 -2
index bca5358f3ef2..4523eb85ec69 100644
@@ -438,9 +438,13 @@ static int set_user_sq_size(struct mlx4_ib_dev *dev,
 			    struct mlx4_ib_qp *qp,
 			    struct mlx4_ib_create_qp *ucmd)
 {
+	u32 cnt;
+
 	/* Sanity check SQ size before proceeding */
-	if ((1 << ucmd->log_sq_bb_count) > dev->dev->caps.max_wqes	 ||
-	    ucmd->log_sq_stride >
+	if (check_shl_overflow(1, ucmd->log_sq_bb_count, &cnt) ||
+	    cnt > dev->dev->caps.max_wqes)
+		return -EINVAL;
+	if (ucmd->log_sq_stride >
 		ilog2(roundup_pow_of_two(dev->dev->caps.max_sq_desc_sz)) ||
 	    ucmd->log_sq_stride < MLX4_IB_MIN_SQ_STRIDE)
 		return -EINVAL;
drivers/infiniband/hw/mlx5/qp.c +1 -1
index 6edd30c92156..51623431b879 100644
@@ -3821,7 +3821,7 @@ static int mlx5_ib_modify_dct(struct ib_qp *ibqp, struct ib_qp_attr *attr,
 			return -EINVAL;
 
 		if (attr->port_num == 0 ||
-		    attr->port_num > MLX5_CAP_GEN(dev->mdev, num_ports)) {
+		    attr->port_num > dev->num_ports) {
 			mlx5_ib_dbg(dev, "invalid port number %d. number of ports is %d\n",
 				    attr->port_num, dev->num_ports);
 			return -EINVAL;
drivers/infiniband/sw/rdmavt/qp.c +0 -2
index e97c13967174..905e2eaed095 100644
@@ -505,8 +505,6 @@ void rvt_qp_exit(struct rvt_dev_info *rdi)
 	if (qps_inuse)
 		rvt_pr_err(rdi, "QP memory leak! %u still in use\n",
 			   qps_inuse);
-	if (!rdi->qp_dev)
-		return;
 
 	kfree(rdi->qp_dev->qp_table);
 	free_qpn_table(&rdi->qp_dev->qpn_table);
drivers/infiniband/sw/siw/siw_main.c +0 -3
index dbbf8c6c16d3..a462c2fc6f31 100644
@@ -472,9 +472,6 @@ static int siw_netdev_event(struct notifier_block *nb, unsigned long event,
 
 	dev_dbg(&netdev->dev, "siw: event %lu\n", event);
 
-	if (dev_net(netdev) != &init_net)
-		return NOTIFY_OK;
-
 	base_dev = ib_device_get_by_netdev(netdev, RDMA_DRIVER_SIW);
 	if (!base_dev)
 		return NOTIFY_OK;
drivers/infiniband/sw/siw/siw_qp_tx.c +1 -1
index 2b5120a13e37..42d03bd1622d 100644
@@ -548,7 +548,7 @@ static int siw_tx_hdt(struct siw_iwarp_tx *c_tx, struct socket *s)
 			data_len -= plen;
 			fp_off = 0;
 
-			if (++seg > (int)MAX_ARRAY) {
+			if (++seg >= (int)MAX_ARRAY) {
 				siw_dbg_qp(tx_qp(c_tx), "to many fragments\n");
 				siw_unmap_pages(page_array, kmap_mask);
 				wqe->processed -= c_tx->bytes_unsent;
drivers/input/touchscreen/raspberrypi-ts.c +1 -2
index 69881265d121..8135a80226fd 100644
@@ -137,7 +137,7 @@ static int rpi_ts_probe(struct platform_device *pdev)
 		return -ENOENT;
 	}
 
-	fw = rpi_firmware_get(fw_node);
+	fw = devm_rpi_firmware_get(&pdev->dev, fw_node);
 	of_node_put(fw_node);
 	if (!fw)
 		return -EPROBE_DEFER;
@@ -164,7 +164,6 @@ static int rpi_ts_probe(struct platform_device *pdev)
 	touchbuf = (u32)ts->fw_regs_phys;
 	error = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF,
 				      &touchbuf, sizeof(touchbuf));
-
 	if (error || touchbuf != 0) {
 		dev_warn(dev, "Failed to set touchbuf, %d\n", error);
 		return error;
drivers/leds/Kconfig +1 -1
index 2cbf66d1c300..34334adcad01 100644
@@ -802,7 +802,7 @@ config LEDS_SPI_BYTE
 config LEDS_TI_LMU_COMMON
 	tristate "LED driver for TI LMU"
 	depends on LEDS_CLASS
-	depends on REGMAP
+	select REGMAP
 	help
 	  Say Y to enable the LED driver for TI LMU devices.
 	  This supports common features between the TI LM3532, LM3631, LM3632,
drivers/macintosh/Kconfig +1 -0
index b5a534206edd..1605dcaa89e3 100644
@@ -86,6 +86,7 @@ config ADB_PMU_LED
 
 config ADB_PMU_LED_DISK
 	bool "Use front LED as DISK LED by default"
+	depends on ATA
 	depends on ADB_PMU_LED
 	depends on LEDS_CLASS
 	select LEDS_TRIGGERS
drivers/macintosh/windfarm_smu_sat.c +1 -0
index cb75dc035616..30d53a535d55 100644
@@ -171,6 +171,7 @@ static void wf_sat_release(struct kref *ref)
 
 	if (sat->nr >= 0)
 		sats[sat->nr] = NULL;
+	of_node_put(sat->node);
 	kfree(sat);
 }
 
drivers/mailbox/zynqmp-ipi-mailbox.c +11 -8
index 1d0b8abbafc3..bb7bb1738647 100644
@@ -110,7 +110,7 @@ struct zynqmp_ipi_pdata {
 	unsigned int method;
 	u32 local_id;
 	int num_mboxes;
-	struct zynqmp_ipi_mbox *ipi_mboxes;
+	struct zynqmp_ipi_mbox ipi_mboxes[];
 };
 
 static struct device_driver zynqmp_ipi_mbox_driver = {
@@ -152,7 +152,7 @@ static irqreturn_t zynqmp_ipi_interrupt(int irq, void *data)
 	struct zynqmp_ipi_message *msg;
 	u64 arg0, arg3;
 	struct arm_smccc_res res;
-	int ret, i;
+	int ret, i, status = IRQ_NONE;
 
 	(void)irq;
 	arg0 = SMC_IPI_MAILBOX_STATUS_ENQUIRY;
@@ -170,11 +170,11 @@ static irqreturn_t zynqmp_ipi_interrupt(int irq, void *data)
 				memcpy_fromio(msg->data, mchan->req_buf,
 					      msg->len);
 				mbox_chan_received_data(chan, (void *)msg);
-				return IRQ_HANDLED;
+				status = IRQ_HANDLED;
 			}
 		}
 	}
-	return IRQ_NONE;
+	return status;
 }
 
 /**
@@ -634,8 +634,13 @@ static int zynqmp_ipi_probe(struct platform_device *pdev)
 	struct zynqmp_ipi_mbox *mbox;
 	int num_mboxes, ret = -EINVAL;
 
-	num_mboxes = of_get_child_count(np);
-	pdata = devm_kzalloc(dev, sizeof(*pdata) + (num_mboxes * sizeof(*mbox)),
+	num_mboxes = of_get_available_child_count(np);
+	if (num_mboxes == 0) {
+		dev_err(dev, "mailbox nodes not available\n");
+		return -EINVAL;
+	}
+
+	pdata = devm_kzalloc(dev, struct_size(pdata, ipi_mboxes, num_mboxes),
 			     GFP_KERNEL);
 	if (!pdata)
 		return -ENOMEM;
@@ -649,8 +654,6 @@ static int zynqmp_ipi_probe(struct platform_device *pdev)
 	}
 
 	pdata->num_mboxes = num_mboxes;
-	pdata->ipi_mboxes = (struct zynqmp_ipi_mbox *)
-			    ((char *)pdata + sizeof(*pdata));
 
 	mbox = pdata->ipi_mboxes;
 	for_each_available_child_of_node(np, nc) {
drivers/md/dm-clone-target.c +1 -0
index ce9d03f4e981..355afca2969d 100644
@@ -2232,6 +2232,7 @@ static int __init dm_clone_init(void)
 	r = dm_register_target(&clone_target);
 	if (r < 0) {
 		DMERR("Failed to register clone target");
+		kmem_cache_destroy(_hydration_cache);
 		return r;
 	}
 
drivers/md/dm-flakey.c +2 -2
index bed263267323..967d4ad6d32c 100644
@@ -124,9 +124,9 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
 			 * Direction r or w?
 			 */
 			arg_name = dm_shift_arg(as);
-			if (!strcasecmp(arg_name, "w"))
+			if (arg_name && !strcasecmp(arg_name, "w"))
 				fc->corrupt_bio_rw = WRITE;
-			else if (!strcasecmp(arg_name, "r"))
+			else if (arg_name && !strcasecmp(arg_name, "r"))
 				fc->corrupt_bio_rw = READ;
 			else {
 				ti->error = "Invalid corrupt bio direction (r or w)";
drivers/md/dm-integrity.c +5 -3
index 3c9a2be97e55..d7911c623edd 100644
@@ -4288,11 +4288,13 @@ static int __init dm_integrity_init(void)
 	}
 
 	r = dm_register_target(&integrity_target);
-
-	if (r < 0)
+	if (r < 0) {
 		DMERR("register failed %d", r);
+		kmem_cache_destroy(journal_io_cache);
+		return r;
+	}
 
-	return r;
+	return 0;
 }
 
 static void __exit dm_integrity_exit(void)
drivers/md/dm-ioctl.c +4 -3
index bcb282f11053..477e616a21c7 100644
@@ -1435,11 +1435,12 @@ static int table_clear(struct file *filp, struct dm_ioctl *param, size_t param_s
 		hc->new_map = NULL;
 	}
 
-	param->flags &= ~DM_INACTIVE_PRESENT_FLAG;
-
-	__dev_status(hc->md, param);
 	md = hc->md;
 	up_write(&_hash_lock);
+
+	param->flags &= ~DM_INACTIVE_PRESENT_FLAG;
+	__dev_status(md, param);
+
 	if (old_map) {
 		dm_sync_table(md);
 		dm_table_destroy(old_map);
drivers/md/dm-verity-target.c +13 -4
index 9dcdf34b7e32..965b5139c897 100644
@@ -471,13 +471,14 @@ static int verity_verify_io(struct dm_verity_io *io)
 	struct bvec_iter start;
 	unsigned b;
 	struct crypto_wait wait;
+	struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_io_data_size);
 
 	for (b = 0; b < io->n_blocks; b++) {
 		int r;
 		sector_t cur_block = io->block + b;
 		struct ahash_request *req = verity_io_hash_req(v, io);
 
-		if (v->validated_blocks &&
+		if (v->validated_blocks && bio->bi_status == BLK_STS_OK &&
 		    likely(test_bit(cur_block, v->validated_blocks))) {
 			verity_bv_skip_block(v, io, &io->iter);
 			continue;
@@ -525,9 +526,17 @@ static int verity_verify_io(struct dm_verity_io *io)
 		else if (verity_fec_decode(v, io, DM_VERITY_BLOCK_TYPE_DATA,
 					   cur_block, NULL, &start) == 0)
 			continue;
-		else if (verity_handle_err(v, DM_VERITY_BLOCK_TYPE_DATA,
-					   cur_block))
-			return -EIO;
+		else {
+			if (bio->bi_status) {
+				/*
+				 * Error correction failed; Just return error
+				 */
+				return -EIO;
+			}
+			if (verity_handle_err(v, DM_VERITY_BLOCK_TYPE_DATA,
+					      cur_block))
+				return -EIO;
+		}
 	}
 
 	return 0;
drivers/md/raid10.c +51 -45

176 lines not on this page · raw message

drivers/md/raid5.c +8 -2
index d0c3f49c8c16..113ba084fab4 100644
@@ -7159,6 +7159,12 @@ static int only_parity(int raid_disk, int algo, int raid_disks, int max_degraded
 	return 0;
 }
 
+static void raid5_set_io_opt(struct r5conf *conf)
+{
+	blk_queue_io_opt(conf->mddev->queue, (conf->chunk_sectors << 9) *
+			 (conf->raid_disks - conf->max_degraded));
+}
+
 static int raid5_run(struct mddev *mddev)
 {
 	struct r5conf *conf;
@@ -7448,8 +7454,7 @@ static int raid5_run(struct mddev *mddev)
 
 		chunk_size = mddev->chunk_sectors << 9;
 		blk_queue_io_min(mddev->queue, chunk_size);
-		blk_queue_io_opt(mddev->queue, chunk_size *
-				 (conf->raid_disks - conf->max_degraded));
+		raid5_set_io_opt(conf);
 		mddev->queue->limits.raid_partial_stripes_expensive = 1;
 		/*
 		 * We can only discard a whole stripe. It doesn't make sense to
@@ -8043,6 +8048,7 @@ static void end_reshape(struct r5conf *conf)
 						   / PAGE_SIZE);
 			if (conf->mddev->queue->backing_dev_info->ra_pages < 2 * stripe)
 				conf->mddev->queue->backing_dev_info->ra_pages = 2 * stripe;
+			raid5_set_io_opt(conf);
 		}
 	}
 }
drivers/media/pci/dm1105/dm1105.c +1 -0
index bb3a8cc9de0c..6dbd98a3e5b8 100644
@@ -1179,6 +1179,7 @@ static void dm1105_remove(struct pci_dev *pdev)
 	struct dvb_demux *dvbdemux = &dev->demux;
 	struct dmx_demux *dmx = &dvbdemux->dmx;
 
+	cancel_work_sync(&dev->ir.work);
 	dm1105_ir_exit(dev);
 	dmx->close(dmx);
 	dvb_net_release(&dev->dvbnet);
drivers/media/pci/saa7134/saa7134-ts.c +1 -0
index 6a5053126237..437dbe5e75e2 100644
@@ -300,6 +300,7 @@ int saa7134_ts_start(struct saa7134_dev *dev)
 
 int saa7134_ts_fini(struct saa7134_dev *dev)
 {
+	del_timer_sync(&dev->ts_q.timeout);
 	saa7134_pgtable_free(dev->pci, &dev->ts_q.pt);
 	return 0;
 }
drivers/media/pci/saa7134/saa7134-vbi.c +1 -0
index 3f0b0933eed6..3e773690468b 100644
@@ -185,6 +185,7 @@ int saa7134_vbi_init1(struct saa7134_dev *dev)
 int saa7134_vbi_fini(struct saa7134_dev *dev)
 {
 	/* nothing */
+	del_timer_sync(&dev->vbi_q.timeout);
 	return 0;
 }
 
drivers/media/pci/saa7134/saa7134-video.c +1 -0
index e454a288229b..ea26c8c57494 100644
@@ -2154,6 +2154,7 @@ int saa7134_video_init1(struct saa7134_dev *dev)
 
 void saa7134_video_fini(struct saa7134_dev *dev)
 {
+	del_timer_sync(&dev->video_q.timeout);
 	/* free stuff */
 	vb2_queue_release(&dev->video_vbq);
 	saa7134_pgtable_free(dev->pci, &dev->video_q.pt);
drivers/media/pci/ttpci/av7110_av.c +2 -2
index ea9f7d0058a2..e201d5a56bc6 100644
@@ -822,10 +822,10 @@ static int write_ts_to_decoder(struct av7110 *av7110, int type, const u8 *buf, s
 		av7110_ipack_flush(ipack);
 
 	if (buf[3] & ADAPT_FIELD) {
+		if (buf[4] > len - 1 - 4)
+			return 0;
 		len -= buf[4] + 1;
 		buf += buf[4] + 1;
-		if (!len)
-			return 0;
 	}
 
 	av7110_ipack_instant_repack(buf + 4, len - 4, ipack);
drivers/media/platform/rcar_fdp1.c +31 -19

124 lines not on this page · raw message

drivers/media/platform/sti/bdisp/bdisp-v4l2.c +2 -0
index 16a097f93b42..2485a3657c89 100644
@@ -1308,6 +1308,8 @@ static int bdisp_probe(struct platform_device *pdev)
 	init_waitqueue_head(&bdisp->irq_queue);
 	INIT_DELAYED_WORK(&bdisp->timeout_work, bdisp_irq_timeout);
 	bdisp->work_queue = create_workqueue(BDISP_NAME);
+	if (!bdisp->work_queue)
+		return -ENOMEM;
 
 	spin_lock_init(&bdisp->slock);
 	mutex_init(&bdisp->lock);
drivers/media/rc/gpio-ir-recv.c +2 -0
index a20413008c3c..f50398b3ed5f 100644
@@ -83,6 +83,8 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
 		rcdev->map_name = RC_MAP_EMPTY;
 
 	gpio_dev->rcdev = rcdev;
+	if (of_property_read_bool(np, "wakeup-source"))
+		device_init_wakeup(dev, true);
 
 	rc = devm_rc_register_device(dev, rcdev);
 	if (rc < 0) {
drivers/misc/vmw_vmci/vmci_host.c +7 -1
index 833e2bd248a5..8ff8d649d9b3 100644
@@ -160,10 +160,16 @@ static int vmci_host_close(struct inode *inode, struct file *filp)
 static __poll_t vmci_host_poll(struct file *filp, poll_table *wait)
 {
 	struct vmci_host_dev *vmci_host_dev = filp->private_data;
-	struct vmci_ctx *context = vmci_host_dev->context;
+	struct vmci_ctx *context;
 	__poll_t mask = 0;
 
 	if (vmci_host_dev->ct_type == VMCIOBJ_CONTEXT) {
+		/*
+		 * Read context only if ct_type == VMCIOBJ_CONTEXT to make
+		 * sure that context is initialized
+		 */
+		context = vmci_host_dev->context;
+
 		/* Check for VMCI calls to this VM context. */
 		if (wait)
 			poll_wait(filp, &context->host_context.wait_queue,
drivers/mmc/host/sdhci-of-esdhc.c +11 -13
index 69c133e7ced0..48765208e295 100644
@@ -124,6 +124,7 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host,
 			return ret;
 		}
 	}
+
 	/*
 	 * The DAT[3:0] line signal levels and the CMD line signal level are
 	 * not compatible with standard SDHC register. The line signal levels
@@ -135,6 +136,16 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host,
 		ret = value & 0x000fffff;
 		ret |= (value >> 4) & SDHCI_DATA_LVL_MASK;
 		ret |= (value << 1) & SDHCI_CMD_LVL;
+
+		/*
+		 * Some controllers have unreliable Data Line Active
+		 * bit for commands with busy signal. This affects
+		 * Command Inhibit (data) bit. Just ignore it since
+		 * MMC core driver has already polled card status
+		 * with CMD13 after any command with busy siganl.
+		 */
+		if (esdhc->quirk_ignore_data_inhibit)
+			ret &= ~SDHCI_DATA_INHIBIT;
 		return ret;
 	}
 
@@ -149,19 +160,6 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host,
 		return ret;
 	}
 
-	/*
-	 * Some controllers have unreliable Data Line Active
-	 * bit for commands with busy signal. This affects
-	 * Command Inhibit (data) bit. Just ignore it since
-	 * MMC core driver has already polled card status
-	 * with CMD13 after any command with busy siganl.
-	 */
-	if ((spec_reg == SDHCI_PRESENT_STATE) &&
-	(esdhc->quirk_ignore_data_inhibit == true)) {
-		ret = value & ~SDHCI_DATA_INHIBIT;
-		return ret;
-	}
-
 	ret = value;
 	return ret;
 }
drivers/mtd/spi-nor/cadence-quadspi.c +34 -43

152 lines not on this page · raw message

drivers/mtd/ubi/eba.c +14 -5
index 5133e1be5331..3243bca19b8b 100644
@@ -947,7 +947,7 @@ static int try_write_vid_and_data(struct ubi_volume *vol, int lnum,
 				  int offset, int len)
 {
 	struct ubi_device *ubi = vol->ubi;
-	int pnum, opnum, err, vol_id = vol->vol_id;
+	int pnum, opnum, err, err2, vol_id = vol->vol_id;
 
 	pnum = ubi_wl_get_peb(ubi);
 	if (pnum < 0) {
@@ -982,10 +982,19 @@ static int try_write_vid_and_data(struct ubi_volume *vol, int lnum,
 out_put:
 	up_read(&ubi->fm_eba_sem);
 
-	if (err && pnum >= 0)
-		err = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1);
-	else if (!err && opnum >= 0)
-		err = ubi_wl_put_peb(ubi, vol_id, lnum, opnum, 0);
+	if (err && pnum >= 0) {
+		err2 = ubi_wl_put_peb(ubi, vol_id, lnum, pnum, 1);
+		if (err2) {
+			ubi_warn(ubi, "failed to return physical eraseblock %d, error %d",
+				 pnum, err2);
+		}
+	} else if (!err && opnum >= 0) {
+		err2 = ubi_wl_put_peb(ubi, vol_id, lnum, opnum, 0);
+		if (err2) {
+			ubi_warn(ubi, "failed to return physical eraseblock %d, error %d",
+				 opnum, err2);
+		}
+	}
 
 	return err;
 }
drivers/net/dsa/mt7530.c +2 -2
index 2d8382eb9add..baa994b7f78b 100644
@@ -397,9 +397,9 @@ mt7530_pad_clk_setup(struct dsa_switch *ds, int mode)
 	case PHY_INTERFACE_MODE_TRGMII:
 		trgint = 1;
 		if (priv->id == ID_MT7621) {
-			/* PLL frequency: 150MHz: 1.2GBit */
+			/* PLL frequency: 125MHz: 1.0GBit */
 			if (xtal == HWTRAP_XTAL_40MHZ)
-				ncpo1 = 0x0780;
+				ncpo1 = 0x0640;
 			if (xtal == HWTRAP_XTAL_25MHZ)
 				ncpo1 = 0x0a00;
 		} else { /* PLL frequency: 250MHz: 2.0Gbit */
drivers/net/dsa/mv88e6xxx/chip.c +1 -0
index ea32be579e7b..3a8a49b7ec3d 100644
@@ -3876,6 +3876,7 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
 	.set_cpu_port = mv88e6095_g1_set_cpu_port,
 	.set_egress_port = mv88e6095_g1_set_egress_port,
 	.watchdog_ops = &mv88e6390_watchdog_ops,
+	.mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu,
 	.reset = mv88e6352_g1_reset,
 	.vtu_getnext = mv88e6185_g1_vtu_getnext,
 	.vtu_loadpurge = mv88e6185_g1_vtu_loadpurge,
drivers/net/ethernet/amd/nmclan_cs.c +1 -1
index 9c152d85840d..c9d2a6f15062 100644
@@ -652,7 +652,7 @@ static int nmclan_config(struct pcmcia_device *link)
     } else {
       pr_notice("mace id not found: %x %x should be 0x40 0x?9\n",
 		sig[0], sig[1]);
-      return -ENODEV;
+      goto failed;
     }
   }
 
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +12 -11
index 7c52ae8ac005..a43cb7bfcccd 100644
@@ -2542,6 +2542,14 @@ static int ixgbe_get_rss_hash_opts(struct ixgbe_adapter *adapter,
 	return 0;
 }
 
+static int ixgbe_rss_indir_tbl_max(struct ixgbe_adapter *adapter)
+{
+	if (adapter->hw.mac.type < ixgbe_mac_X550)
+		return 16;
+	else
+		return 64;
+}
+
 static int ixgbe_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
 			   u32 *rule_locs)
 {
@@ -2550,7 +2558,8 @@ static int ixgbe_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
 
 	switch (cmd->cmd) {
 	case ETHTOOL_GRXRINGS:
-		cmd->data = adapter->num_rx_queues;
+		cmd->data = min_t(int, adapter->num_rx_queues,
+				  ixgbe_rss_indir_tbl_max(adapter));
 		ret = 0;
 		break;
 	case ETHTOOL_GRXCLSRLCNT:
@@ -2952,14 +2961,6 @@ static int ixgbe_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
 	return ret;
 }
 
-static int ixgbe_rss_indir_tbl_max(struct ixgbe_adapter *adapter)
-{
-	if (adapter->hw.mac.type < ixgbe_mac_X550)
-		return 16;
-	else
-		return 64;
-}
-
 static u32 ixgbe_get_rxfh_key_size(struct net_device *netdev)
 {
 	return IXGBE_RSS_KEY_SIZE;
@@ -3008,8 +3009,8 @@ static int ixgbe_set_rxfh(struct net_device *netdev, const u32 *indir,
 	int i;
 	u32 reta_entries = ixgbe_rss_indir_tbl_entries(adapter);
 
-	if (hfunc)
-		return -EINVAL;
+	if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)
+		return -EOPNOTSUPP;
 
 	/* Fill out the redirection table */
 	if (indir) {
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c +1 -1
index b8de3784d976..c53d2271d8ab 100644
@@ -573,7 +573,7 @@ static int ionic_get_rxnfc(struct net_device *netdev,
 		info->data = lif->nxqs;
 		break;
 	default:
-		netdev_err(netdev, "Command parameter %d is not supported\n",
+		netdev_dbg(netdev, "Command parameter %d is not supported\n",
 			   info->cmd);
 		err = -EOPNOTSUPP;
 	}
drivers/net/virtio_net.c +27 -16

59 lines not on this page · raw message

drivers/net/wireless/ath/ath5k/eeprom.c +1 -1
index 01163b333945..92f5c8e83090 100644
@@ -529,7 +529,7 @@ ath5k_eeprom_read_freq_list(struct ath5k_hw *ah, int *offset, int max,
 		ee->ee_n_piers[mode]++;
 
 		freq2 = (val >> 8) & 0xff;
-		if (!freq2)
+		if (!freq2 || i >= max)
 			break;
 
 		pc[i++].freq = ath5k_eeprom_bin2freq(ee,
drivers/net/wireless/ath/ath6kl/bmi.c +1 -1
index bde5a10d470c..af98e871199d 100644
@@ -246,7 +246,7 @@ int ath6kl_bmi_execute(struct ath6kl *ar, u32 addr, u32 *param)
 		return -EACCES;
 	}
 
-	size = sizeof(cid) + sizeof(addr) + sizeof(param);
+	size = sizeof(cid) + sizeof(addr) + sizeof(*param);
 	if (size > ar->bmi.max_cmd_size) {
 		WARN_ON(1);
 		return -EINVAL;
drivers/net/wireless/ath/ath6kl/htc_pipe.c +2 -2
index c68848819a52..9b88d96bfe96 100644
@@ -960,8 +960,8 @@ static int ath6kl_htc_pipe_rx_complete(struct ath6kl *ar, struct sk_buff *skb,
 	 * Thus the possibility of ar->htc_target being NULL
 	 * via ath6kl_recv_complete -> ath6kl_usb_io_comp_work.
 	 */
-	if (WARN_ON_ONCE(!target)) {
-		ath6kl_err("Target not yet initialized\n");
+	if (!target) {
+		ath6kl_dbg(ATH6KL_DBG_HTC, "Target not yet initialized\n");
 		status = -EINVAL;
 		goto free_skb;
 	}
drivers/net/wireless/ath/ath9k/hif_usb.c +19 -0
index e23d58f83dd6..3aa915d21554 100644
@@ -534,6 +534,24 @@ static struct ath9k_htc_hif hif_usb = {
 	.send = hif_usb_send,
 };
 
+/* Need to free remain_skb allocated in ath9k_hif_usb_rx_stream
+ * in case ath9k_hif_usb_rx_stream wasn't called next time to
+ * process the buffer and subsequently free it.
+ */
+static void ath9k_hif_usb_free_rx_remain_skb(struct hif_device_usb *hif_dev)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&hif_dev->rx_lock, flags);
+	if (hif_dev->remain_skb) {
+		dev_kfree_skb_any(hif_dev->remain_skb);
+		hif_dev->remain_skb = NULL;
+		hif_dev->rx_remain_len = 0;
+		RX_STAT_INC(hif_dev, skb_dropped);
+	}
[… more lines in the raw message]

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +5 -0
index cd146bbca670..5bfff309f547 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c +10 -0
index 524f9dd2323d..f8785c70842d 100644

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

drivers/net/wireless/intel/iwlwifi/pcie/trans.c +2 -1
index 8915030030c4..3a93a7b8ba0a 100644

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

drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +1 -0
index edd2960c109a..e26a722852ee 100644

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

drivers/net/wireless/realtek/rtlwifi/base.c +72 -72

144 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/cam.c +40 -42

82 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/core.c +130 -129

259 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/debug.c +8 -8
index ec0da33da4f8..3866ea300a70 100644

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

drivers/net/wireless/realtek/rtlwifi/debug.h +11 -0
index 69f169d4d4ae..dbfb4d67ca31 100644

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

drivers/net/wireless/realtek/rtlwifi/efuse.c +36 -36

72 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/pci.c +141 -141

282 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/ps.c +49 -49

98 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/regd.c +9 -9
index 8be31e0ad878..4cf8face0bbd 100644

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

drivers/net/wireless/realtek/rtlwifi/usb.c +9 -9
index 9bcb187d37dc..fc1548ad434f 100644

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

drivers/net/wireless/realtek/rtw88/mac.c +5 -3
index b61b073031e5..94e69e97d5f5 100644

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

drivers/nvme/host/core.c +29 -5
index 029a89aead53..9144ed14b074 100644

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

drivers/nvme/host/trace.h +6 -9
index 35bac7a25422..700fdce2ecf1 100644

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

drivers/nvme/target/fcloop.c +27 -21

48 lines not on this page · raw message

drivers/of/device.c +5 -2
index da8158392010..7fb870097a84 100644

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

drivers/pci/controller/dwc/pci-imx6.c +7 -0
index b34b52b364d5..30c259f63239 100644

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

drivers/pci/hotplug/pciehp.h +3 -0
index aa61d4c219d7..79a713f5dbf4 100644

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

drivers/pci/hotplug/pciehp_core.c +1 -1
index 312cc45c44c7..f5255045b149 100644

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

drivers/pci/hotplug/pciehp_hpc.c +17 -2
index 13f3bc239c66..651664fe4058 100644

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

drivers/pci/hotplug/pciehp_pci.c +15 -0
index d17f3bf36f70..ad12515a4a12 100644

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

drivers/phy/tegra/xusb.c +2 -0
index bf5d80b97597..efe7abf459fd 100644

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

drivers/platform/x86/touchscreen_dmi.c +24 -0
index 61cb1a4a8257..0346bf751537 100644

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

drivers/power/supply/generic-adc-battery.c +3 -0
index 97b0e873e87d..c2d6378bb897 100644

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

drivers/pwm/pwm-meson.c +3 -3
index 3c81858a8261..9fc08d1de34c 100644

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

drivers/pwm/pwm-mtk-disp.c +43 -51

94 lines not on this page · raw message

drivers/regulator/core.c +85 -8

93 lines not on this page · raw message

drivers/regulator/stm32-pwr.c +3 -4
index e0e627b0106e..b94da4992376 100644

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

drivers/remoteproc/st_remoteproc.c +4 -1
index ee13d23b43a9..2ed8f96efe8e 100644

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

drivers/remoteproc/stm32_rproc.c +5 -1
index 2cf4b2992bfc..041dff62ddff 100644

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

drivers/rtc/rtc-meson-vrtc.c +2 -2
index 89e5ba0dae69..1cf98542578f 100644

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

drivers/rtc/rtc-omap.c +1 -0
index a2941c875a06..bf502fcd6077 100644

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

drivers/s390/block/dasd.c +1 -1
index 3362f235e891..187565830b5b 100644

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

drivers/scsi/lpfc/lpfc_init.c +6 -4
index 8930696021fb..af5238ab6309 100644

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

drivers/scsi/megaraid.c +1 -0
index 8b1ba690039b..8c88190673c2 100644

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

drivers/spi/spi-fsl-spi.c +7 -5
index 02b999d48ca1..ae805f91eafa 100644

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

drivers/spi/spi-qup.c +13 -9
index ead6c211047d..ebcf9f4d5679 100644

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

drivers/spmi/spmi.c +2 -1
index c16b60f645a4..8ca7e004a53d 100644

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

drivers/staging/iio/resolver/ad2s1210.c +1 -1
index ed404355ea4c..a00693c61870 100644

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

drivers/staging/rtl8192e/rtl8192e/rtl_core.c +1 -0
index bcbf0c8cd420..be377e75703b 100644

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

drivers/target/iscsi/iscsi_target.c +9 -7
index 3403667a9592..8b8afa95fbba 100644

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

drivers/tty/serial/8250/8250.h +12 -0
index 33ad9d6de532..e50af46f8c19 100644

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

drivers/tty/serial/8250/8250_port.c +13 -3
index 907130244e1f..96ae6c6031d4 100644

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

drivers/tty/serial/fsl_lpuart.c +1 -1
index b722ab941528..0b57973e7c65 100644

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

drivers/tty/tty_io.c +2 -2
index 37c46c65a65f..bb14bd4f6e55 100644

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

drivers/tty/tty_ioctl.c +33 -12

45 lines not on this page · raw message

drivers/usb/chipidea/core.c +1 -1
index 7a86979cf140..27298ca083d1 100644

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

drivers/usb/dwc3/core.c +6 -9
index db1aaed07e05..27b60623c280 100644

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

drivers/usb/gadget/udc/renesas_usb3.c +1 -0
index 0bbd180022aa..e04acf2dfa65 100644

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

drivers/usb/host/xhci-debugfs.c +1 -0
index f5c8e4eb62ae..dc332f5800ad 100644

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

drivers/usb/host/xhci-rcar.c +0 -3
index 3da75b367f95..5d7835299245 100644

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

drivers/usb/mtu3/mtu3_qmu.c +3 -2
index 2ea3157ddb6e..e65586147965 100644

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

drivers/usb/serial/option.c +6 -0
index e51ed6b45a47..972d9ddb0473 100644

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

fs/afs/inode.c +1 -0
index 622363af4c1b..fd681eec49aa 100644

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

fs/btrfs/block-rsv.c +2 -1
index 343400d49bd1..36ef3228bac8 100644

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

fs/btrfs/ctree.c +31 -1
index 822c615840e8..1420df997485 100644

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

fs/btrfs/ioctl.c +5 -0
index 64b443aa61ca..22f95a5a58fe 100644

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

fs/btrfs/print-tree.c +3 -3
index f4edadf1067f..cec6c283a691 100644

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

fs/cifs/smb2ops.c +1 -1
index a82d757a2341..cd0030533bf7 100644

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

fs/debugfs/file.c +8 -0
index 9efc243e991a..3547388ad60b 100644

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

fs/erofs/internal.h +1 -1
index 544a453f3076..cc7a42682814 100644

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

fs/erofs/zmap.c +4 -0
index fff574100721..b5ee58fdd82f 100644

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

fs/ext4/balloc.c +25 -0
index 031ff3f19018..b68cee75f5c5 100644

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

fs/ext4/extents.c +2 -1
index 27760c39f70e..478c35d45378 100644

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

fs/ext4/extents_status.c +13 -17
index 9d0bed2e4d05..80b5288cc0e9 100644

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

fs/ext4/inline.c +14 -3
index 8b8f7f00b835..549ceac9099c 100644

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

fs/ext4/mballoc.c +5 -1
index 3c3166ba4364..caab9781bee7 100644

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

fs/ext4/super.c +12 -7
index 789a9f6a2ec6..9bbd52508656 100644

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

fs/ext4/xattr.c +3 -2
index 008d9b897987..498ef733b73c 100644

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

fs/f2fs/file.c +8 -7
index ef08ef017030..8d4e66f36cf7 100644

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

fs/f2fs/namei.c +15 -1
index ed95c27e9302..9cb2a87247b2 100644

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

fs/fs-writeback.c +1 -1
index 5b3a288e0f14..3ec2c16abece 100644

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

fs/nfs/nfs4state.c +4 -0
index 2ee30ffeb6b9..01b185670594 100644

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

fs/nilfs2/bmap.c +12 -4
index fb5a9a8a13cf..2ba57e4b4f0a 100644

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

fs/nilfs2/segment.c +4 -1
index b23ed9a35e5e..3091d1a3edde 100644

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

fs/notify/inotify/inotify_fsnotify.c +9 -2
index 589dee962993..a3cbfd38f1f6 100644

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

fs/pstore/pmsg.c +3 -4
index 18cf94b597e0..d8542ec2f38c 100644

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

fs/reiserfs/xattr_security.c +6 -2
index 59d87f9f72fb..159af6c26f4b 100644

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

fs/ubifs/dir.c +1 -0
index 332c0b02a0ad..a5294e737909 100644

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

fs/ubifs/tnc.c +86 -56

142 lines not on this page · raw message

include/asm-generic/io.h +2 -2
index d02806513670..3dd3416f1df0 100644

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

include/linux/debugfs.h +1 -0
index d0238d3b2f31..8565c8842cde 100644

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

include/linux/interrupt.h +4 -0
index 30e92536c78c..01517747214a 100644

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

include/linux/mailbox/zynqmp-ipi-message.h +1 -1
index 9542b41eacfd..41c6bd711940 100644

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

include/linux/netfilter/nfnetlink.h +0 -1
index f6267e2883f2..41de4156540a 100644

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

include/linux/nvme.h +4 -0
index ff0ee07b1e8f..dd2801c28b99 100644

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

include/linux/pm_domain.h +6 -6
index baf02ff91a31..4476994d40c9 100644

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

include/linux/printk.h +19 -0
index 3b5cb66d8bc1..eb2a093ba042 100644

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

include/linux/sunrpc/sched.h +1 -2
index a6ef35184ef1..5c37fabdec10 100644

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

include/linux/tick.h +8 -1
index f92a10b5e112..cf6c92060929 100644

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

include/linux/tty.h +2 -0
index eb33d948788c..8be25caa97f6 100644

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

include/linux/vt_buffer.h +1 -1
index 848db1b1569f..919d999a8c1d 100644

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

include/net/netfilter/nf_tables.h +1 -0
index 886866bee8b2..ad2a52a6c478 100644

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

include/net/scm.h +12 -1
index 1ce365f4c256..585adc1346bd 100644

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

include/soc/bcm2835/raspberrypi-firmware.h +10 -0
index 7800e12ee042..cf6e58fa5266 100644

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

include/trace/events/timer.h +2 -1
index b7a904825e7d..295517f109d7 100644

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

include/uapi/linux/btrfs.h +1 -0
index 3ee0678c0a83..72cd9f61f054 100644

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

include/uapi/linux/const.h +1 -1
index af2a44c08683..a429381e7ca5 100644

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

include/uapi/linux/media-bus-format.h +8 -0
index 16c1fa2d89a4..052c8308b995 100644

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

kernel/bpf/cgroup.c +6 -3
index c2f0aa818b7a..08c1246c758e 100644

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

kernel/events/core.c +2 -2
index 1ef924d6a385..41a8a5f74940 100644

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

kernel/irq/manage.c +9 -2
index 79214f983624..2a8a5e1779c9 100644

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

kernel/kheaders.c +5 -5
index 8f69772af77b..42163c9e94e5 100644

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

kernel/relay.c +8 -10
index 9b1cfcd8dc6b..1e11199c7d7c 100644

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

kernel/time/jiffies.c +4 -3
index d23b434c2ca7..eddcf4970444 100644

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

kernel/time/tick-broadcast.c +1 -1
index e51778c312f1..ce7339ff10d2 100644

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

kernel/time/tick-common.c +20 -10
index 7e5d3524e924..2b7448ae5b47 100644

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

kernel/time/tick-internal.h +0 -1
index 5294f5b1f955..e61c1244e7d4 100644

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

kernel/time/tick-sched.c +77 -42

119 lines not on this page · raw message

kernel/time/timekeeping.c +4 -2
index 2bc278dd9854..105dd0b66329 100644

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

kernel/time/timekeeping.h +2 -1
index 141ab3ab0354..099737f6f10c 100644

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

kernel/trace/ring_buffer.c +4 -0
index 869eeba2005a..43f452b5deff 100644

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

lib/debugobjects.c +81 -60

141 lines not on this page · raw message

mm/page_alloc.c +16 -0
index c30a8bac5c13..a3fca320e35a 100644

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

net/8021q/vlan_dev.c +1 -1
index 589615ec490b..b10f31f98cb8 100644

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

net/bluetooth/hci_sock.c +8 -1
index a5205dc95e8f..4f8f5204ae7a 100644

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

net/core/skbuff.c +3 -0
index 0547aa2c8b13..291d7a9e0483 100644

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

net/ipv4/ip_output.c +13 -3
index 418e93987800..08ccb501ff0c 100644

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

net/ipv6/sit.c +5 -3
index 1179608955f5..8d704ea94693 100644

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

net/ncsi/ncsi-aen.c +1 -0
index b635c194f0a8..62fb1031763d 100644

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

net/netfilter/nf_tables_api.c +14 -6
index 140c24f1b6c6..7794fa4c669d 100644

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

net/netfilter/nfnetlink.c +0 -2
index 81c86a156c6c..e3f6e27a9a06 100644

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

net/netfilter/nft_dynset.c +1 -1
index 6bcc18124e5b..7f9e6c90f727 100644

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

net/netfilter/nft_lookup.c +1 -1
index 660bad688e2b..4eb4d076927e 100644

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

net/netfilter/nft_objref.c +1 -1
index bfd18d2b65a2..74c61278e6bd 100644

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

net/netlink/af_netlink.c +23 -52

75 lines not on this page · raw message

net/packet/af_packet.c +16 -16
index 450dc0334772..109a848aca15 100644

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

net/packet/diag.c +2 -2
index 07812ae5ca07..d704c7bf51b2 100644

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

net/packet/internal.h +23 -3
index 907f4cd2a718..2b2b85dadf8e 100644

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

net/rxrpc/sendmsg.c +1 -1
index 1cb90d32d553..3439d14168e8 100644

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

net/sched/act_mirred.c +1 -1
index b87d2a1ee0b1..e3f28cb03f7e 100644

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

net/sched/cls_api.c +1 -0
index 77a1988d5ddc..49777da9f263 100644

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

net/sunrpc/clnt.c +0 -3
index 012b0504264d..629c05ff1f3e 100644

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

net/sunrpc/sched.c +0 -1
index 32ffa801a5b9..a5c6a3d05741 100644

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

scripts/gdb/linux/clk.py +2 -0
index 061aecfa294e..7a01fdc3e844 100644

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

scripts/gdb/linux/genpd.py +9 -7
index 6ca93bd2949e..b53649c0a77a 100644

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

scripts/gdb/linux/timerlist.py +3 -1
index 071d0dd5a634..51def847f1ef 100644

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

scripts/gdb/linux/utils.py +4 -1
index ea94221dbd39..8c33be7985b6 100644

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

security/selinux/Makefile +2 -2
index ccf950409384..c371634f35a3 100644

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

sound/soc/codecs/es8316.c +8 -9
index b781b28de012..efeffa0bf2d7 100644

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

sound/soc/intel/boards/bytcr_rt5640.c +12 -0
index 6a8edb0a559d..df3b370fe729 100644

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

sound/usb/caiaq/input.c +1 -0
index 533eb69fe4e6..cd5a8584dbe3 100644

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

tools/bpf/bpftool/json_writer.c +0 -3
index 86501cd3c763..f2be9ef2c2d5 100644

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

tools/bpf/bpftool/xlated_dumper.c +7 -0
index 5b91ee65a080..762ca450d198 100644

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

tools/perf/builtin-sched.c +1 -1
index 5cacc4f84c8d..0826893098ce 100644

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

tools/perf/pmu-events/arch/powerpc/power9/other.json +2 -2
index 62b864269623..ce75652e9051 100644

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

tools/perf/pmu-events/arch/powerpc/power9/pipeline.json +1 -1
index b4772f54a271..e2f2ed0a3549 100644

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

tools/perf/util/auxtrace.c +4 -1
index df4c575a0d94..3d5cd16ca4de 100644

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

tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +2 -0
index eab7e8ef6789..52474e44fb28 100644

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

tools/perf/util/sort.c +1 -2
index 4027906fd3e3..baf73ca66a2b 100644

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

tools/perf/util/symbol-elf.c +1 -1
index 4fef8d6bc225..73f890664be5 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.