Skip to contentSkip to conversation

Linux 4.19.247

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 14, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.19.247 kernel.

All users of the 4.19 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/ABI/testing/sysfs-ata                      |   11 -
 Documentation/conf.py                                    |    2 
 Documentation/devicetree/bindings/gpio/gpio-altera.txt   |    5 
 Documentation/hwmon/hwmon-kernel-api.txt                 |    2 
 Makefile                                                 |    2 
 arch/arm/boot/dts/bcm2835-rpi-b.dts                      |   13 -
 arch/arm/boot/dts/bcm2835-rpi-zero-w.dts                 |   22 +-
 arch/arm/boot/dts/exynos5250-smdk5250.dts                |    4 
 arch/arm/boot/dts/ox820.dtsi                             |    2 
 arch/arm/mach-hisi/platsmp.c                             |    4 
 arch/arm/mach-omap1/clock.c                              |    2 
 arch/arm/mach-vexpress/dcscb.c                           |    1 
 arch/arm64/boot/dts/qcom/ipq8074.dtsi                    |    2 
 arch/arm64/net/bpf_jit_comp.c                            |    1 
 arch/m68k/Kconfig.cpu                                    |    2 
 arch/m68k/Kconfig.machine                                |    1 
 arch/m68k/include/asm/pgtable_no.h                       |    3 
 arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h  |    1 
 arch/mips/kernel/mips-cpc.c                              |    1 
 arch/openrisc/include/asm/timex.h                        |    1 
 arch/openrisc/kernel/head.S                              |    9 
 arch/powerpc/kernel/idle.c                               |    2 
 arch/powerpc/kernel/ptrace.c                             |   18 +
 arch/powerpc/perf/isa207-common.c                        |    3 
 arch/powerpc/platforms/4xx/cpm.c                         |    2 
 arch/powerpc/sysdev/cpm1.c                               |    1 
 arch/powerpc/sysdev/fsl_rio.c                            |    2 
 arch/powerpc/sysdev/xics/icp-opal.c                      |    1 
 arch/s390/crypto/aes_s390.c                              |    4 
 arch/s390/include/asm/preempt.h                          |   15 +
 arch/um/drivers/chan_user.c                              |    9 
 arch/x86/entry/vdso/vma.c                                |    2 
 arch/x86/events/amd/ibs.c                                |   18 +
 arch/x86/include/asm/acenv.h                             |   14 +
 arch/x86/include/asm/suspend_32.h                        |    2 
 arch/x86/include/asm/suspend_64.h                        |   12 -
 arch/x86/kernel/apic/apic.c                              |    2 
 arch/x86/kernel/cpu/intel.c                              |    2 
 arch/x86/kernel/step.c                                   |    3 
 arch/x86/kernel/sys_x86_64.c                             |    7 
 arch/x86/lib/delay.c                                     |    4 
 arch/x86/mm/pat.c                                        |    2 
 arch/x86/um/ldt.c                                        |    6 
 arch/xtensa/kernel/ptrace.c                              |    4 
 arch/xtensa/kernel/signal.c                              |    4 
 block/blk-iolatency.c                                    |  122 ++++++------
 drivers/ata/libata-transport.c                           |    2 
 drivers/ata/pata_octeon_cf.c                             |    3 
 drivers/base/node.c                                      |    1 
 drivers/block/nbd.c                                      |   37 ++-
 drivers/bus/ti-sysc.c                                    |    4 
 drivers/char/ipmi/ipmi_ssif.c                            |   23 ++
 drivers/clocksource/riscv_timer.c                        |    2 
 drivers/clocksource/timer-oxnas-rps.c                    |    2 
 drivers/clocksource/timer-sp804.c                        |   10 -
 drivers/crypto/marvell/cipher.c                          |    1 
 drivers/devfreq/rk3399_dmc.c                             |    2 
 drivers/dma/stm32-mdma.c                                 |   21 --
 drivers/extcon/extcon.c                                  |   29 +-
 drivers/firmware/arm_scmi/base.c                         |    2 
 drivers/firmware/dmi-sysfs.c                             |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                   |    2 
 drivers/gpu/drm/amd/amdgpu/kv_dpm.c                      |   14 -
 drivers/gpu/drm/amd/amdgpu/si_dpm.c                      |    8 
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c             |    1 
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c       |   13 +
 drivers/gpu/drm/drm_edid.c                               |    6 
 drivers/gpu/drm/drm_plane.c                              |   14 -
 drivers/gpu/drm/gma500/psb_intel_display.c               |    7 
 drivers/gpu/drm/imx/ipuv3-crtc.c                         |    2 
 drivers/gpu/drm/mediatek/mtk_cec.c                       |    2 
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c                  |    4 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c                |   14 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c               |   15 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h               |    4 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c                |   15 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h                |    2 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c               |   20 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c                       |   21 +-
 drivers/gpu/drm/msm/hdmi/hdmi.c                          |    4 
 drivers/gpu/drm/msm/msm_gem_prime.c                      |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c           |    6 
 drivers/gpu/drm/radeon/radeon_connectors.c               |    4 
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c              |    2 
 drivers/gpu/drm/vc4/vc4_txp.c                            |    8 
 drivers/gpu/drm/virtio/virtgpu_display.c                 |    2 
 drivers/hid/hid-elan.c                                   |    2 
 drivers/hid/hid-led.c                                    |    2 
 drivers/hwmon/hwmon.c                                    |   16 -
 drivers/hwtracing/coresight/coresight-cpu-debug.c        |    7 
 drivers/i2c/busses/i2c-at91.c                            |   11 +
 drivers/i2c/busses/i2c-cadence.c                         |   12 +
 drivers/iio/adc/sc27xx_adc.c                             |    4 
 drivers/iio/dummy/iio_simple_dummy.c                     |   20 +-
 drivers/infiniband/hw/hfi1/file_ops.c                    |    2 
 drivers/infiniband/hw/hfi1/init.c                        |    2 
 drivers/infiniband/hw/hfi1/sdma.c                        |   12 -
 drivers/infiniband/sw/rxe/rxe_req.c                      |    2 
 drivers/input/misc/sparcspkr.c                           |    1 
 drivers/input/mouse/bcm5974.c                            |    7 
 drivers/iommu/amd_iommu_init.c                           |    2 
 drivers/iommu/msm_iommu.c                                |   11 -
 drivers/iommu/mtk_iommu.c                                |    3 
 drivers/irqchip/irq-armada-370-xp.c                      |   11 +
 drivers/irqchip/irq-aspeed-i2c-ic.c                      |    4 
 drivers/irqchip/irq-xtensa-mx.c                          |   18 +
 drivers/macintosh/Kconfig                                |    4 
 drivers/macintosh/Makefile                               |    3 
 drivers/macintosh/via-pmu.c                              |    2 
 drivers/mailbox/mailbox.c                                |   19 +
 drivers/md/bcache/request.c                              |    6 
 drivers/md/md-bitmap.c                                   |   44 ++--
 drivers/md/md.c                                          |   33 ++-
 drivers/md/raid0.c                                       |   31 +--
 drivers/media/cec/cec-adap.c                             |    6 
 drivers/media/pci/cx23885/cx23885-core.c                 |    6 
 drivers/media/pci/cx25821/cx25821-core.c                 |    2 
 drivers/media/platform/coda/coda-common.c                |   15 -
 drivers/media/platform/exynos4-is/fimc-is.c              |    2 
 drivers/media/platform/exynos4-is/fimc-isp-video.h       |    2 
 drivers/media/platform/qcom/venus/hfi.c                  |    3 
 drivers/media/platform/sti/delta/delta-v4l2.c            |    6 
 drivers/media/platform/vsp1/vsp1_rpf.c                   |    6 
 drivers/media/usb/pvrusb2/pvrusb2-hdw.c                  |    7 
 drivers/media/usb/uvc/uvc_v4l2.c                         |   20 +-
 drivers/mfd/ipaq-micro.c                                 |    2 
 drivers/misc/cardreader/rtsx_usb.c                       |    1 
 drivers/misc/lkdtm/usercopy.c                            |   17 +
 drivers/mmc/core/block.c                                 |    3 
 drivers/mtd/chips/cfi_cmdset_0002.c                      |   93 +++++----
 drivers/mtd/ubi/vmt.c                                    |    1 
 drivers/net/dsa/mv88e6xxx/chip.c                         |    1 
 drivers/net/ethernet/altera/altera_tse_main.c            |    6 
 drivers/net/ethernet/broadcom/Makefile                   |    5 
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c           |    8 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c              |    3 
 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c          |    2 
 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c |    7 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c        |    5 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c       |   13 -
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c     |    4 
 drivers/net/phy/mdio_bus.c                               |    1 
 drivers/net/phy/micrel.c                                 |   11 -
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c           |    2 
 drivers/net/wireless/ath/ath9k/ar9003_phy.h              |    2 
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c            |    8 
 drivers/net/wireless/ath/carl9170/tx.c                   |    3 
 drivers/net/wireless/broadcom/b43/phy_n.c                |    2 
 drivers/net/wireless/broadcom/b43legacy/phy.c            |    2 
 drivers/net/wireless/intel/ipw2x00/libipw_tx.c           |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/power.c           |    3 
 drivers/net/wireless/marvell/mwifiex/11h.c               |    2 
 drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c       |    8 
 drivers/net/wireless/realtek/rtlwifi/usb.c               |    2 
 drivers/nfc/st21nfca/se.c                                |   32 ++-
 drivers/nfc/st21nfca/st21nfca.h                          |    1 
 drivers/nvme/host/pci.c                                  |    1 
 drivers/of/overlay.c                                     |    4 
 drivers/pci/controller/dwc/pcie-qcom.c                   |    9 
 drivers/pci/controller/pcie-cadence-ep.c                 |    3 
 drivers/pci/controller/pcie-rockchip-ep.c                |    3 
 drivers/pci/pci.c                                        |   12 -
 drivers/pcmcia/Kconfig                                   |    2 
 drivers/phy/qualcomm/phy-qcom-qmp.c                      |   11 +
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c              |    2 
 drivers/pwm/pwm-lp3943.c                                 |    1 
 drivers/regulator/pfuze100-regulator.c                   |    2 
 drivers/rpmsg/qcom_smd.c                                 |    4 
 drivers/rtc/rtc-mt6397.c                                 |    2 
 drivers/scsi/dc395x.c                                    |   15 +
 drivers/scsi/fcoe/fcoe_ctlr.c                            |    2 
 drivers/scsi/megaraid.c                                  |    2 
 drivers/scsi/ufs/ufs-qcom.c                              |    7 
 drivers/scsi/ufs/ufshcd.c                                |    7 
 drivers/soc/qcom/smp2p.c                                 |    1 
 drivers/soc/qcom/smsm.c                                  |    1 
 drivers/soc/rockchip/grf.c                               |    2 
 drivers/spi/spi-img-spfi.c                               |    2 
 drivers/spi/spi-ti-qspi.c                                |    5 
 drivers/staging/greybus/audio_codec.c                    |    4 
 drivers/staging/rtl8192e/rtllib_softmac.c                |    2 
 drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c   |    2 
 drivers/staging/rtl8712/usb_intf.c                       |    6 
 drivers/tty/goldfish.c                                   |    2 
 drivers/tty/serial/8250/8250_fintek.c                    |    8 
 drivers/tty/serial/digicolor-usart.c                     |    2 
 drivers/tty/serial/icom.c                                |    2 
 drivers/tty/serial/meson_uart.c                          |   13 +
 drivers/tty/serial/msm_serial.c                          |    5 
 drivers/tty/serial/sa1100.c                              |    4 
 drivers/tty/serial/serial_txx9.c                         |    2 
 drivers/tty/serial/sh-sci.c                              |    6 
 drivers/tty/serial/st-asc.c                              |    4 
 drivers/tty/serial/stm32-usart.c                         |   15 +
 drivers/tty/synclink_gt.c                                |    2 
 drivers/tty/tty_buffer.c                                 |    3 
 drivers/usb/core/hcd-pci.c                               |    4 
 drivers/usb/core/quirks.c                                |    3 
 drivers/usb/dwc2/gadget.c                                |    1 
 drivers/usb/dwc3/dwc3-pci.c                              |    2 
 drivers/usb/host/isp116x-hcd.c                           |    6 
 drivers/usb/host/oxu210hp-hcd.c                          |    2 
 drivers/usb/musb/omap2430.c                              |    1 
 drivers/usb/serial/option.c                              |    2 
 drivers/usb/storage/karma.c                              |   15 -
 drivers/usb/usbip/stub_dev.c                             |    2 
 drivers/usb/usbip/stub_rx.c                              |    2 
 drivers/vhost/vringh.c                                   |   10 -
 drivers/video/fbdev/amba-clcd.c                          |    5 
 drivers/video/fbdev/core/fbcon.c                         |    5 
 drivers/video/fbdev/pxa3xx-gcu.c                         |   12 -
 fs/afs/dir.c                                             |    5 
 fs/binfmt_flat.c                                         |   27 ++
 fs/btrfs/disk-io.c                                       |    4 
 fs/btrfs/volumes.c                                       |    8 
 fs/ceph/xattr.c                                          |   10 -
 fs/cifs/smb2pdu.c                                        |    3 
 fs/dax.c                                                 |    3 
 fs/dlm/lock.c                                            |   11 -
 fs/dlm/plock.c                                           |   12 -
 fs/ext4/inline.c                                         |   12 +
 fs/ext4/namei.c                                          |   84 ++++++--
 fs/ext4/super.c                                          |    1 
 fs/f2fs/segment.c                                        |    9 
 fs/f2fs/segment.h                                        |   32 ++-
 fs/fat/fatent.c                                          |    7 
 fs/fs-writeback.c                                        |   13 -
 fs/jffs2/fs.c                                            |    1 
 fs/jfs/jfs_dmap.c                                        |    3 
 fs/kernfs/dir.c                                          |   31 +--
 fs/nfs/nfs4proc.c                                        |    4 
 fs/nfs/pnfs.c                                            |    2 
 fs/notify/fdinfo.c                                       |   11 -
 fs/notify/inotify/inotify.h                              |   12 +
 fs/notify/inotify/inotify_user.c                         |    2 
 fs/notify/mark.c                                         |    6 
 fs/ocfs2/dlmfs/userdlm.c                                 |   16 +
 fs/proc/generic.c                                        |    3 
 fs/proc/proc_net.c                                       |    3 
 include/drm/drm_edid.h                                   |    6 
 include/linux/bpf.h                                      |    2 
 include/linux/efi.h                                      |    2 
 include/linux/mailbox_controller.h                       |    1 
 include/linux/mtd/cfi.h                                  |    1 
 include/linux/nodemask.h                                 |   51 ++---
 include/linux/ptrace.h                                   |    6 
 include/net/if_inet6.h                                   |    8 
 include/scsi/libfcoe.h                                   |    3 
 include/sound/jack.h                                     |    1 
 include/trace/events/vmscan.h                            |    4 
 kernel/dma/debug.c                                       |    2 
 kernel/ptrace.c                                          |    5 
 kernel/trace/trace.c                                     |   13 +
 kernel/trace/trace_events_hist.c                         |    3 
 lib/nodemask.c                                           |    4 
 mm/hugetlb.c                                             |    9 
 net/bluetooth/sco.c                                      |   21 +-
 net/ipv4/ip_gre.c                                        |   11 -
 net/ipv4/tcp_input.c                                     |   11 -
 net/ipv4/tcp_output.c                                    |    4 
 net/ipv4/xfrm4_protocol.c                                |    1 
 net/ipv6/addrconf.c                                      |   33 ++-
 net/ipv6/seg6_hmac.c                                     |    1 
 net/key/af_key.c                                         |   10 -
 net/mac80211/chan.c                                      |    7 
 net/mac80211/ieee80211_i.h                               |    5 
 net/mac80211/scan.c                                      |   20 ++
 net/netfilter/nf_tables_api.c                            |   16 +
 net/netfilter/nft_dynset.c                               |    3 
 net/nfc/core.c                                           |    1 
 net/rxrpc/call_event.c                                   |    3 
 net/rxrpc/sendmsg.c                                      |    6 
 net/rxrpc/sysctl.c                                       |    4 
 net/sctp/input.c                                         |    4 
 net/sunrpc/xdr.c                                         |    6 
 net/sunrpc/xprtrdma/rpc_rdma.c                           |    5 
 net/tipc/bearer.c                                        |    3 
 net/unix/af_unix.c                                       |    2 
 net/wireless/nl80211.c                                   |    1 
 scripts/faddr2line                                       |  150 +++++++++------
 scripts/mod/modpost.c                                    |    5 
 sound/core/jack.c                                        |   34 ++-
 sound/pci/hda/patch_conexant.c                           |    7 
 sound/pci/hda/patch_realtek.c                            |   10 +
 sound/soc/codecs/rt5514.c                                |    2 
 sound/soc/codecs/rt5645.c                                |    7 
 sound/soc/codecs/tscs454.c                               |   12 -
 sound/soc/codecs/wm2000.c                                |    6 
 sound/soc/mediatek/mt2701/mt2701-wm8960.c                |    9 
 sound/soc/mediatek/mt8173/mt8173-max98090.c              |    5 
 sound/soc/mxs/mxs-saif.c                                 |    1 
 sound/soc/soc-dapm.c                                     |    2 
 tools/perf/builtin-c2c.c                                 |   10 -
 tools/perf/pmu-events/jevents.c                          |    2 
 294 files changed, 1626 insertions(+), 827 deletions(-)

Adrian Hunter (1):
mmc: block: Fix CQE recovery reset success

Akira Yokosawa (1):
docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0

Alexander Aring (2):
dlm: fix plock invalid read
dlm: fix missing lkb refcount handling

Alexander Lobakin (1):
modpost: fix removing numeric suffixes

Alexander Wetzel (1):
rtl818x: Prevent using not initialized queues

Alexey Dobriyan (1):

      proc: fix dentry/inode overinstantiating under /proc/${pid}/net

Amadeusz Sławiński (1):
ALSA: jack: Access input_dev under mutex

Amelie Delaunay (1):
dmaengine: stm32-mdma: remove GISR1 register

Amir Goldstein (2):
inotify: show inotify mask flags in proc fdinfo
fsnotify: fix wrong lockdep annotations

Ammar Faizi (1):
x86/delay: Fix the wrong asm constraint in delay_loop()

Andre Przywara (1):
clocksource/drivers/sp804: Avoid error on multiple instances

Baokun Li (1):
jffs2: fix memory leak in jffs2_do_fill_super

Bjorn Helgaas (1):

      PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299

Björn Ardö (1):
mailbox: forward the hrtimer if not queued and under a lock

Brian Norris (2):
PM / devfreq: rk3399_dmc: Disable edev on remove() drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX

Carl Yin(殷张成) (1):
USB: serial: option: add Quectel BG95 modem

Chao Yu (1):
f2fs: fix deadloop in foreground GC

Charles Keepax (1):
ASoC: tscs454: Add endianness flag in snd_soc_component_driver

Christophe de Dinechin (1):
nodemask.h: fix compilation error with GCC12

Chuck Lever (1):

      SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()

Cixi Geng (1):
iio: adc: sc27xx: fix read big scale voltage not right

Corentin Labbe (1):
crypto: marvell/cesa - ECB does not IV

Corey Minyard (1):
ipmi:ssif: Check for NULL msg when handling events and messages

Cristian Marussi (1):
firmware: arm_scmi: Fix list protocols enumeration in the base protocol

Dan Carpenter (5):
ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
PCI: cadence: Fix find_first_zero_bit() limit
PCI: rockchip: Fix find_first_zero_bit() limit
net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()

Daniel Vetter (1):
fbcon: Consistently protect deferred_takeover with console_lock()

Dave Airlie (1):
drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.

David Howells (4):
rxrpc: Return an error to sendmsg if call failed
rxrpc: Fix listen() setting the bar too high for the prealloc rings
rxrpc: Don't try to resend the request if we're receiving the reply
afs: Fix infinite loop found by xfstest generic/676

Dennis Dalessandro (1):
RDMA/hfi1: Fix potential integer multiplication overflow errors

Dinh Nguyen (1):
dt-bindings: gpio: altera: correct interrupt-cells

Dmitry Baryshkov (1):
drm/msm/dsi: fix error checks and return values for DSI xmit functions

Dongliang Mu (1):
rtlwifi: Use pr_warn instead of WARN_ONCE

Douglas Miller (2):
RDMA/hfi1: Prevent panic when SDMA is disabled RDMA/hfi1: Prevent use of lock before it is initialized

Duoming Zhou (5):
NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
drivers: tty: serial: Fix deadlock in sa1100_set_termios()
drivers: usb: host: Fix deadlock in oxu_bus_suspend()

Emmanuel Grumbach (1):
iwlwifi: mvm: fix assert 1F04 upon reconfig

Eric Biggers (1):
ext4: reject the 'commit' option on ext2 filesystems

Eric Dumazet (4):
sctp: read sk->sk_bound_dev_if once in sctp_rcv()
tcp: tcp_rtx_synack() can be called from process context bpf, arm64: Clear prog->jited_len along prog->jited
tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd

Eric W. Biederman (2):
ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
ptrace: Reimplement PTRACE_KILL by always sending SIGKILL

Evan Green (1):
USB: hcd-pci: Fully suspend across freeze/thaw cycle

Evan Quan (1):
drm/amd/pm: fix the compile warning

Fabio Estevam (1):
net: phy: micrel: Allow probing without .driver_data

Felix Fietkau (1):
mac80211: upgrade passive scan to active scan on DFS channels after beacon rx

Feras Daoud (1):
net/mlx5: Rearm the FW tracer after each tracer event

Finn Thain (1):
macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled

Gal Pressman (1):
net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure

Geert Uytterhoeven (1):
m68k: math-emu: Fix dependencies of math emulation support

Gong Yuanjun (2):
mips: cpc: Fix refcount leak in mips_cpc_default_phys_base drm/radeon: fix a possible null pointer dereference

Greg Kroah-Hartman (1):

      Linux 4.19.247

Greg Ungerer (2):
m68knommu: set ZERO_PAGE() to the allocated zeroed page
m68knommu: fix undefined reference to `_init_sp'

Guenter Roeck (1):
hwmon: Make chip parameter for with_info API mandatory

Guilherme G. Piccoli (1):
coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier

Guoqing Jiang (1):
md: protect md_unregister_thread from reentrancy

Gustavo A. R. Silva (1):
scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()

Hangyu Hua (2):
drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
usb: usbip: fix a refcount leak in stub_probe()

Hans Verkuil (1):
media: cec-adap.c: fix is_configuring state

Hao Luo (1):
kernfs: Separate kernfs_pr_cont_buf and rename_lock.

Haowen Bai (3):
b43legacy: Fix assigning negative value to unsigned variable
b43: Fix assigning negative value to unsigned variable
ipw2x00: Fix potential NULL dereference in libipw_xmit()

Heiko Carstens (1):
s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES

Heming Zhao (1):
md/bitmap: don't set sb values if can't pass sanity check

Hoang Le (1):
tipc: check attribute length for bearer name

Huang Guobin (1):
tty: Fix a possible resource leak in icom_probe

Ilpo Järvinen (6):
serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
serial: digicolor-usart: Don't allow CS5-6
serial: txx9: Don't allow CS5-6
serial: sh-sci: Don't allow CS5-6
serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
serial: stm32-usart: Correct CSIZE, bits, and parity

Jakob Koschel (2):
f2fs: fix dereference of stale list iterator after loop body
staging: greybus: codecs: fix type confusion of list iterator variable

Jakub Kicinski (1):
eth: tg3: silence the GCC 12 array-bounds warning

Jan Kara (2):
ext4: verify dir block before splitting it
ext4: avoid cycles in directory h-tree

Jan Kiszka (1):
efi: Add missing prototype for efi_capsule_setup_info

Jani Nikula (1):
drm/edid: fix invalid EDID extension block filtering

Jann Horn (1):
s390/crypto: fix scatterwalk_unmap() callers in AES-GCM

Janusz Krzysztofik (1):
ARM: OMAP1: clock: Fix UART rate reporting algorithm

Jason A. Donenfeld (1):
openrisc: start CPU timer early in boot

Jessica Zhang (2):
drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected

Jia-Ju Bai (1):
md: bcache: check the return value of kzalloc() in detached_dev_do_request()

Joerg Roedel (1):
iommu/amd: Increase timeout waiting for GA log enablement

Johan Hovold (4):
PCI: qcom: Fix runtime PM imbalance on probe errors
PCI: qcom: Fix unbalanced PHY init on probe errors
phy: qcom-qmp: fix struct clk leak on probe errors
phy: qcom-qmp: fix reset-controller leak on probe errors

Johannes Berg (3):
nl80211: show SSID for P2P_GO interfaces
wifi: mac80211: fix use-after-free in chanctx code
um: chan_user: Fix winch_tramp() return value

John Ogness (2):
serial: meson: acquire port->lock in startup()
serial: msm_serial: disable interrupts in __msm_console_write()

Jonathan Teh (1):
HID: hid-led: fix maximum brightness for Dream Cheeky

Josh Poimboeuf (2):
x86/speculation: Add missing prototype for unpriv_ebpf_notify() scripts/faddr2line: Fix overlapping text section failures

Jun Miao (1):
tracing: Fix sleeping function called from invalid context on RT kernel

Junxiao Bi via Ocfs2-devel (1):
ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock

Kajol Jain (1):
powerpc/perf: Fix the threshold compare group constraint for power9

Kathiravan T (1):
arm64: dts: qcom: ipq8074: fix the sleep clock frequency

Kees Cook (2):
lkdtm/usercopy: Expand size of "out of frame" object
nodemask: Fix return values to be unsigned

Keita Suzuki (2):
drm/amd/pm: fix double free in si_parse_power_table()
tracing: Fix potential double free in create_var_ref()

Kinglong Mee (1):
xprtrdma: treat all calls not a bcall when bc_serv is NULL

Kirill A. Shutemov (1):
ACPICA: Avoid cache flush inside virtual machines

Kiwoong Kim (1):
scsi: ufs: core: Exclude UECxx from SFR dump list

Krzysztof Kozlowski (7):
ARM: dts: ox820: align interrupt controller node name with dtschema
ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
pinctrl: mvebu: Fix irq_of_parse_and_map() return value
rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value

Kuniyuki Iwashima (1):
af_unix: Fix a data-race in unix_dgram_peer_wake_me().

Kwanghoon Son (1):
media: exynos4-is: Fix compile warning

Leo Yan (2):
perf c2c: Use stdio interface if slang is not supported perf c2c: Fix sorting in percent_rmt_hitm_cmp()

Lin Ma (3):
ASoC: rt5645: Fix errorenous cleanup order
NFC: NULL out the dev->rfkill to prevent UAF
USB: storage: karma: fix rio_karma_init return

Linus Torvalds (2):
drm: fix EDID struct for old ARM OABI format
drm: imx: fix compiler warning with gcc-12

Liu Zixian (1):
drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes

Luca Weiss (1):
media: venus: hfi: avoid null dereference in deinit

Lucas Stach (1):
drm/bridge: adv7511: clean up CEC adapter when probe fails

Lucas Tanure (1):
i2c: cadence: Increase timeout per message if necessary

Lv Ruyi (3):
scsi: megaraid: Fix error check return value of register_chrdev() powerpc/xics: fix refcount leak in icp_opal_init()
mfd: ipaq-micro: Fix error check return value of platform_get_irq()

Maciej W. Rozycki (1):
MIPS: IP27: Remove incorrect `cpu_has_fpu' override

Manivannan Sadhasivam (1):
scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled

Marek Szyprowski (1):

      usb: dwc2: gadget: don't reset gadget's driver->bus

Marios Levogiannis (1):
ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS

Mark Brown (2):
ASoC: dapm: Don't fold register value changes into notifications
ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control

Mark-PK Tsai (1):
tracing: Avoid adding tracer option before update_tracer_options

Martin Faltesek (2):
nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling

Masahiro Yamada (4):
net: mdio: unexport __init-annotated mdio_bus_init()
net: xfrm: unexport __init-annotated xfrm4_protocol_init()
net: ipv6: unexport __init-annotated seg6_hmac_init()
modpost: fix undefined behavior of is_arm_mapping_symbol()

Mathias Nyman (1):
Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag

Matthieu Baerts (1):
x86/pm: Fix false positive kmemleak report in msr_build_context()

Max Filippov (1):
irqchip: irq-xtensa-mx: fix initial IRQ affinity

Maxim Mikityanskiy (1):
net/mlx5e: Update netdev features after changing XDP state

Maxime Ripard (2):
drm/vc4: txp: Don't set TXP_VSTART_AT_EOF drm/vc4: txp: Force alpha to be 0xff if it's disabled

Miaohe Lin (1):
drivers/base/node.c: fix compaction sysfs file leak

Miaoqian Lin (19):
ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
HID: elan: Fix potential double free in elan_input_configured
ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
media: st-delta: Fix PM disable depth imbalance in delta_probe
media: exynos4-is: Change clk_disable to clk_disable_unprepare
soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
Input: sparcspkr - fix refcount leak in bbc_beep_probe powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
usb: musb: Fix missing of_node_put() in omap2430_probe
soc: rockchip: Fix refcount leak in rockchip_grf_init
firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
net: altera: Fix refcount leak in altera_tse_mdio_create

Michael Ellerman (1):
powerpc/32: Fix overread/overwrite of thread_struct via ptrace

Michael Rodin (1):
media: vsp1: Fix offset calculation for plane cropping

Michael Walle (1):
i2c: at91: use dma safe buffers

Michal Kubecek (1):
Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"

Mike Kravetz (1):
hugetlb: fix huge_pmd_unshare address update

Mikulas Patocka (1):
dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC

Miles Chen (1):
drm/mediatek: Fix mtk_cec_mask()

Monish Kumar R (1):
USB: new quirk for Dell Gen 2 devices

Muchun Song (1):
dax: fix cache flush on PMD-mapped pages

Nathan Chancellor (1):
i2c: at91: Initialize dma_buf in at91_twi_xfer()

Nicolas Dufresne (2):
media: coda: Fix reported H264 profile
media: coda: Add more H264 levels for CODA960

Niels Dossche (3):
mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
ipv6: fix locking issues with loops over idev->addr_list
usb: usbip: add missing device lock on tweak configuration cmd

Niklas Cassel (1):
binfmt_flat: do not stop relocating GOT entries prematurely on riscv

Nuno Sá (1):

      of: overlay: do not break notify on NOTIFY_{OK|STOP}

OGAWA Hirofumi (1):
fat: add ratelimit to fat*_ent_bread()

Olivier Matz (2):
ixgbe: fix bcast packets Rx on VF after promisc removal
ixgbe: fix unexpected VLAN Rx in promisc mode on VF

Pablo Neira Ayuso (1):
netfilter: nf_tables: disallow non-stateful expression in sets earlier

Pali Rohár (1):
irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x

Pascal Hambourg (1):
md/raid0: Ignore RAID0 layout if the second zone has only one device

Pavel Skripkin (1):
media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init

Peng Wu (2):
ARM: versatile: Add missing of_node_put in dcscb_init
ARM: hisi: Add missing of_node_put after of_find_compatible_node

Petr Machata (1):
mlxsw: spectrum_dcb: Do not warn about priority changes

Phil Elwell (1):
ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT

Qi Zheng (1):

      tty: fix deadlock caused by calling printk() under tty_port->lock

Qu Wenruo (2):
btrfs: add "0x" prefix for unsupported optional features
btrfs: repair super block num_devices automatically

Randy Dunlap (6):
x86: Fix return value of __setup handlers
x86/mm: Cleanup the control_va_addr_alignment() __setup handler powerpc/8xx: export 'cpm_setbrg' for modules powerpc/idle: Fix return value of __setup() handler powerpc/4xx/cpm: Fix return value of __setup() handler
pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards

Ravi Bangoria (1):
perf/amd/ibs: Use interrupt regs ip for stack unwinding

Samuel Holland (1):
clocksource/drivers/riscv: Events are stopped during CPU suspend

Sergey Shtylyov (1):
ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files

Shuah Khan (1):
misc: rtsx: set NULL intfdata when probe fails

Shyam Prasad N (1):
cifs: return errors during session setup during reconnects

Smith, Kyle Miller (Nimble Kernel) (1):
nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags

Stefan Wahren (1):
ARM: dts: bcm2835-rpi-b: Fix GPIO line names

Steven Price (1):
drm/plane: Move range check for format_count earlier

Tejun Heo (1):
blk-iolatency: Fix inflight count imbalances and IO hangs on offline

Thibaut VARÈNE (1):
ath9k: fix QCA9561 PA bias level

Tokunori Ikegami (2):
mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N

Tony Lindgren (1):
bus: ti-sysc: Fix warnings for unbind for serial

Trond Myklebust (2):
NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
NFSv4: Don't hold the layoutget locks across multiple RPC calls

Uwe Kleine-König (1):
pwm: lp3943: Fix duty calculation in case period was clamped

Vasily Averin (1):
tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate

Venky Shankar (1):
ceph: allow ceph.dir.rctime xattr to be updatable

Vincent Whitchurch (1):
um: Fix out-of-bounds read in LDT setup

Vinod Polimera (1):
drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume

Wang Cheng (1):

      staging: rtl8712: fix uninit-value in r871xu_drv_init()

Wang Weiyang (1):
tty: goldfish: Use tty_port_destroy() to destroy port

Wenli Looi (1):

      ath9k: fix ar9003_get_eepmisc

Willem de Bruijn (1):
ip_gre: test csum_start instead of transport header

Xiao Yang (1):
RDMA/rxe: Generate a completion for unsupported/invalid opcode

Xiaoke Wang (1):
iio: dummy: iio_simple_dummy: check the return value of kstrdup()

Xiaomeng Tong (8):
media: uvcvideo: Fix missing check to determine if element is found in list
scsi: dc395x: Fix a missing check on list iterator drm/nouveau/clk: Fix an incorrect NULL check on list iterator
md: fix an incorrect NULL check in does_sb_need_changing
md: fix an incorrect NULL check in md_reload_sb
iommu/msm: Fix an incorrect NULL check on list iterator
carl9170: tx: fix an incorrect use of list iterator
gma500: fix an incorrect NULL check on list iterator

Xie Yongji (1):
vringh: Fix loop descriptors check in the indirect cases

Yang Yingliang (5):
drm/msm/hdmi: check return value after calling platform_get_resource_byname() drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
rtc: mt6397: check return value after calling platform_get_resource()
video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()

Ye Bin (2):
ext4: fix use-after-free in ext4_rename_dir_prepare
ext4: fix bug_on in ext4_writepages

Yicong Yang (1):
PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()

Ying Hsu (1):
Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout

Yong Wu (1):
iommu/mediatek: Add list_del in mtk_iommu_remove

Yu Kuai (3):
nbd: call genl_unregister_family() first in nbd_cleanup()
nbd: fix race between nbd_alloc_config() and module removal
nbd: fix io hung while disconnecting device

Yu Xiao (1):
nfp: only report pause frame configuration for physical device

Zhen Ni (1):
USB: host: isp116x: check return value after calling platform_get_resource()

Zheng Yongjun (2):
spi: img-spfi: Fix pm_runtime_get_sync() error checking
usb: dwc3: pci: Fix pm_runtime_get_sync() error checking

Zhengjun Xing (1):
perf jevents: Fix event syntax error caused by ExtSel

Zheyu Ma (3):
media: pci: cx23885: Fix the error handling in cx23885_initdev()
media: cx25821: Fix the warning when removing the module
tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()

Zhihao Cheng (2):
fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
ubi: ubi_create_volume: Fix use-after-free when volume creation failed

Zixuan Fu (1):
fs: jfs: fix possible NULL pointer dereference in dbFree()

bumwoo lee (1):
extcon: Modify extcon device to be created after driver data is set

huangwenhui (1):
ALSA: hda/conexant - Fix loopback issue with CX20632

jianghaoran (1):
ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-ata +6 -5
index 9ab0ef1dd1c7..299e0d1dc161 100644
@@ -107,13 +107,14 @@ Description:
 				described in ATA8 7.16 and 7.17. Only valid if
 				the device is not a PM.
 
-		pio_mode:	(RO) Transfer modes supported by the device when
-				in PIO mode. Mostly used by PATA device.
+		pio_mode:	(RO) PIO transfer mode used by the device.
+				Mostly used by PATA devices.
 
-		xfer_mode:	(RO) Current transfer mode
+		xfer_mode:	(RO) Current transfer mode. Mostly used by
+				PATA devices.
 
-		dma_mode:	(RO) Transfer modes supported by the device when
-				in DMA mode. Mostly used by PATA device.
+		dma_mode:	(RO) DMA transfer mode used by the device.
+				Mostly used by PATA devices.
 
 		class:		(RO) Device class. Can be "ata" for disk,
 				"atapi" for packet device, "pmp" for PM, or
Documentation/conf.py +1 -1
index 22c1a6d96f9e..f3cf0111bbd2 100644
@@ -95,7 +95,7 @@ finally:
 #
 # This is also used if you do content translation via gettext catalogs.
 # Usually you set "language" from the command line for these cases.
-language = None
+language = 'en'
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
Documentation/devicetree/bindings/gpio/gpio-altera.txt +3 -2
index 146e554b3c67..2a80e272cd66 100644
@@ -9,8 +9,9 @@ Required properties:
   - The second cell is reserved and is currently unused.
 - gpio-controller : Marks the device node as a GPIO controller.
 - interrupt-controller: Mark the device node as an interrupt controller
-- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware.
+- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware.
   - The first cell is the GPIO offset number within the GPIO controller.
+  - The second cell is the interrupt trigger type and level flags.
 - interrupts: Specify the interrupt.
 - altr,interrupt-type: Specifies the interrupt trigger type the GPIO
   hardware is synthesized. This field is required if the Altera GPIO controller
@@ -38,6 +39,6 @@ gpio_altr: gpio@ff200000 {
 	altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
 	#gpio-cells = <2>;
 	gpio-controller;
-	#interrupt-cells = <1>;
+	#interrupt-cells = <2>;
 	interrupt-controller;
 };
Documentation/hwmon/hwmon-kernel-api.txt +1 -1
index eb7a78aebb38..4981df157b04 100644
@@ -71,7 +71,7 @@ hwmon_device_register_with_info is the most comprehensive and preferred means
 to register a hardware monitoring device. It creates the standard sysfs
 attributes in the hardware monitoring core, letting the driver focus on reading
 from and writing to the chip instead of having to bother with sysfs attributes.
-The parent device parameter cannot be NULL with non-NULL chip info. Its
+The parent device parameter as well as the chip parameter must not be NULL. Its
 parameters are described in more detail below.
 
 devm_hwmon_device_register_with_info is similar to
Makefile +1 -1
index e1cbe6e8bcae..2e3b43ce8a94 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 246
+SUBLEVEL = 247
 EXTRAVERSION =
 NAME = "People's Front"
 
arch/arm/boot/dts/bcm2835-rpi-b.dts +6 -7
index 31ff602e2cd3..6bac18d7c070 100644
@@ -48,18 +48,17 @@
 			  "GPIO18",
 			  "NC", /* GPIO19 */
 			  "NC", /* GPIO20 */
-			  "GPIO21",
+			  "CAM_GPIO0",
 			  "GPIO22",
 			  "GPIO23",
 			  "GPIO24",
 			  "GPIO25",
 			  "NC", /* GPIO26 */
-			  "CAM_GPIO0",
-			  /* Binary number representing build/revision */
-			  "CONFIG0",
-			  "CONFIG1",
-			  "CONFIG2",
-			  "CONFIG3",
+			  "GPIO27",
+			  "GPIO28",
+			  "GPIO29",
+			  "GPIO30",
+			  "GPIO31",
 			  "NC", /* GPIO32 */
 			  "NC", /* GPIO33 */
 			  "NC", /* GPIO34 */
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +12 -10
index 9f7145b1cc5e..3509582f92f1 100644
@@ -77,16 +77,18 @@
 			  "GPIO27",
 			  "SDA0",
 			  "SCL0",
-			  "NC", /* GPIO30 */
-			  "NC", /* GPIO31 */
-			  "NC", /* GPIO32 */
-			  "NC", /* GPIO33 */
-			  "NC", /* GPIO34 */
-			  "NC", /* GPIO35 */
-			  "NC", /* GPIO36 */
-			  "NC", /* GPIO37 */
-			  "NC", /* GPIO38 */
-			  "NC", /* GPIO39 */
+			  /* Used by BT module */
+			  "CTS0",
+			  "RTS0",
+			  "TXD0",
+			  "RXD0",
+			  /* Used by Wifi */
+			  "SD1_CLK",
+			  "SD1_CMD",
+			  "SD1_DATA0",
+			  "SD1_DATA1",
+			  "SD1_DATA2",
+			  "SD1_DATA3",
 			  "CAM_GPIO1", /* GPIO40 */
 			  "WL_ON", /* GPIO41 */
 			  "NC", /* GPIO42 */
arch/arm/boot/dts/exynos5250-smdk5250.dts +2 -2
index 80479ed69070..95a93ef80d97 100644
@@ -127,7 +127,7 @@
 	samsung,i2c-max-bus-freq = <20000>;
 
 	eeprom@50 {
-		compatible = "samsung,s524ad0xd1";
+		compatible = "samsung,s524ad0xd1", "atmel,24c128";
 		reg = <0x50>;
 	};
 
@@ -286,7 +286,7 @@
 	samsung,i2c-max-bus-freq = <20000>;
 
 	eeprom@51 {
-		compatible = "samsung,s524ad0xd1";
+		compatible = "samsung,s524ad0xd1", "atmel,24c128";
 		reg = <0x51>;
 	};
 
arch/arm/boot/dts/ox820.dtsi +1 -1
index f7dddfb01f81..d629caf8b98f 100644
@@ -286,7 +286,7 @@
 				clocks = <&armclk>;
 			};
 
-			gic: gic@1000 {
+			gic: interrupt-controller@1000 {
 				compatible = "arm,arm11mp-gic";
 				interrupt-controller;
 				#interrupt-cells = <3>;
arch/arm/mach-hisi/platsmp.c +4 -0
index da5689ababf7..d7fbfb6d293d 100644
@@ -70,14 +70,17 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus)
 		}
 		ctrl_base = of_iomap(np, 0);
 		if (!ctrl_base) {
+			of_node_put(np);
 			pr_err("failed to map address\n");
 			return;
 		}
 		if (of_property_read_u32(np, "smp-offset", &offset) < 0) {
+			of_node_put(np);
 			pr_err("failed to find smp-offset property\n");
 			return;
 		}
 		ctrl_base += offset;
+		of_node_put(np);
 	}
 }
 
@@ -163,6 +166,7 @@ static int hip01_boot_secondary(unsigned int cpu, struct task_struct *idle)
 	if (WARN_ON(!node))
 		return -1;
 	ctrl_base = of_iomap(node, 0);
+	of_node_put(node);
 
 	/* set the secondary core boot from DDR */
 	remap_reg_value = readl_relaxed(ctrl_base + REG_SC_CTRL);
arch/arm/mach-omap1/clock.c +1 -1
index fa512413a471..b277409f303a 100644
@@ -44,7 +44,7 @@ static DEFINE_SPINLOCK(clockfw_lock);
 unsigned long omap1_uart_recalc(struct clk *clk)
 {
 	unsigned int val = __raw_readl(clk->enable_reg);
-	return val & clk->enable_bit ? 48000000 : 12000000;
+	return val & 1 << clk->enable_bit ? 48000000 : 12000000;
 }
 
 unsigned long omap1_sossi_recalc(struct clk *clk)
arch/arm/mach-vexpress/dcscb.c +1 -0
index ee2a0faafaa1..aaade91f6551 100644
@@ -146,6 +146,7 @@ static int __init dcscb_init(void)
 	if (!node)
 		return -ENODEV;
 	dcscb_base = of_iomap(node, 0);
+	of_node_put(node);
 	if (!dcscb_base)
 		return -EADDRNOTAVAIL;
 	cfg = readl_relaxed(dcscb_base + DCS_CFG_R);
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
index 18226980f7c3..f48d14cd10a3 100644
@@ -490,7 +490,7 @@
 	clocks {
 		sleep_clk: sleep_clk {
 			compatible = "fixed-clock";
-			clock-frequency = <32000>;
+			clock-frequency = <32768>;
 			#clock-cells = <0>;
 		};
 
arch/arm64/net/bpf_jit_comp.c +1 -0
index 6876e8205042..321d3880fe13 100644
@@ -938,6 +938,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 			bpf_jit_binary_free(header);
 			prog->bpf_func = NULL;
 			prog->jited = 0;
+			prog->jited_len = 0;
 			goto out_off;
 		}
 		bpf_jit_binary_lock_ro(header);
arch/m68k/Kconfig.cpu +1 -1
index 21f00349af52..b2fd1e2fbd89 100644
@@ -308,7 +308,7 @@ comment "Processor Specific Options"
 
 config M68KFPU_EMU
 	bool "Math emulation support"
-	depends on MMU
+	depends on M68KCLASSIC && FPU
 	help
 	  At some point in the future, this will cause floating-point math
 	  instructions to be emulated by the kernel on machines that lack a
arch/m68k/Kconfig.machine +1 -0
index 0c451081432a..d07f3009a4a0 100644
@@ -315,6 +315,7 @@ comment "Machine Options"
 
 config UBOOT
 	bool "Support for U-Boot command line parameters"
+	depends on COLDFIRE
 	help
 	  If you say Y here kernel will try to collect command
 	  line parameters from the initial u-boot stack.
arch/m68k/include/asm/pgtable_no.h +2 -1
index fc3a96c77bd8..12f673707d4b 100644
@@ -42,7 +42,8 @@ extern void paging_init(void);
  * ZERO_PAGE is a global shared page that is always zero: used
  * for zero-mapped memory areas etc..
  */
-#define ZERO_PAGE(vaddr)	(virt_to_page(0))
+extern void *empty_zero_page;
+#define ZERO_PAGE(vaddr)	(virt_to_page(empty_zero_page))
 
 /*
  * No page table caches to initialise.
arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h +0 -1
index 136d6d464e32..93c69fc7bbd8 100644
@@ -28,7 +28,6 @@
 #define cpu_has_6k_cache		0
 #define cpu_has_8k_cache		0
 #define cpu_has_tx39_cache		0
-#define cpu_has_fpu			1
 #define cpu_has_nofpuex			0
 #define cpu_has_32fpr			1
 #define cpu_has_counter			1
arch/mips/kernel/mips-cpc.c +1 -0
index fcf9af492d60..cf46502c605e 100644
@@ -31,6 +31,7 @@ phys_addr_t __weak mips_cpc_default_phys_base(void)
 	cpc_node = of_find_compatible_node(of_root, NULL, "mti,mips-cpc");
 	if (cpc_node) {
 		err = of_address_to_resource(cpc_node, 0, &res);
+		of_node_put(cpc_node);
 		if (!err)
 			return res.start;
 	}
arch/openrisc/include/asm/timex.h +1 -0
index 9935cad1b9b9..34d015bf0462 100644
@@ -27,6 +27,7 @@ static inline cycles_t get_cycles(void)
 {
 	return mfspr(SPR_TTCR);
 }
+#define get_cycles get_cycles
 
 /* This isn't really used any more */
 #define CLOCK_TICK_RATE 1000
arch/openrisc/kernel/head.S +9 -0
index 31ed257ff061..d7e49b947164 100644
@@ -525,6 +525,15 @@ _start:
 	l.ori	r3,r0,0x1
 	l.mtspr	r0,r3,SPR_SR
 
+	/*
+	 * Start the TTCR as early as possible, so that the RNG can make use of
+	 * measurements of boot time from the earliest opportunity. Especially
+	 * important is that the TTCR does not return zero by the time we reach
+	 * rand_initialize().
+	 */
+	l.movhi r3,hi(SPR_TTMR_CR)
+	l.mtspr r0,r3,SPR_TTMR
+
 	CLEAR_GPR(r1)
 	CLEAR_GPR(r2)
 	CLEAR_GPR(r3)
arch/powerpc/kernel/idle.c +1 -1
index d7216c9abda1..ca79aacfeda2 100644
@@ -41,7 +41,7 @@ static int __init powersave_off(char *arg)
 {
 	ppc_md.power_save = NULL;
 	cpuidle_disable = IDLE_POWERSAVE_OFF;
-	return 0;
+	return 1;
 }
 __setup("powersave=off", powersave_off);
 
arch/powerpc/kernel/ptrace.c +14 -4
index e08b32ccf1d9..073117ba75fe 100644
@@ -3007,8 +3007,13 @@ long arch_ptrace(struct task_struct *child, long request,
 
 			flush_fp_to_thread(child);
 			if (fpidx < (PT_FPSCR - PT_FPR0))
-				memcpy(&tmp, &child->thread.TS_FPR(fpidx),
-				       sizeof(long));
+				if (IS_ENABLED(CONFIG_PPC32)) {
+					// On 32-bit the index we are passed refers to 32-bit words
+					tmp = ((u32 *)child->thread.fp_state.fpr)[fpidx];
+				} else {
+					memcpy(&tmp, &child->thread.TS_FPR(fpidx),
+					       sizeof(long));
+				}
 			else
 				tmp = child->thread.fp_state.fpscr;
 		}
@@ -3040,8 +3045,13 @@ long arch_ptrace(struct task_struct *child, long request,
 
 			flush_fp_to_thread(child);
 			if (fpidx < (PT_FPSCR - PT_FPR0))
-				memcpy(&child->thread.TS_FPR(fpidx), &data,
-				       sizeof(long));
+				if (IS_ENABLED(CONFIG_PPC32)) {
+					// On 32-bit the index we are passed refers to 32-bit words
+					((u32 *)child->thread.fp_state.fpr)[fpidx] = data;
+				} else {
+					memcpy(&child->thread.TS_FPR(fpidx), &data,
+					       sizeof(long));
+				}
 			else
 				child->thread.fp_state.fpscr = data;
 			ret = 0;
arch/powerpc/perf/isa207-common.c +2 -1
index a1ff4142cc6a..08f2227761f6 100644
@@ -322,7 +322,8 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
 		if (event_is_threshold(event) && is_thresh_cmp_valid(event)) {
 			mask  |= CNST_THRESH_MASK;
 			value |= CNST_THRESH_VAL(event >> EVENT_THRESH_SHIFT);
-		}
+		} else if (event_is_threshold(event))
+			return -1;
 	} else {
 		/*
 		 * Special case for PM_MRK_FAB_RSP_MATCH and PM_MRK_FAB_RSP_MATCH_CYC,
arch/powerpc/platforms/4xx/cpm.c +1 -1
index 53ff81ca8a3c..6400ae376216 100644
@@ -341,6 +341,6 @@ late_initcall(cpm_init);
 static int __init cpm_powersave_off(char *arg)
 {
 	cpm.powersave_off = 1;
-	return 0;
+	return 1;
 }
 __setup("powersave=off", cpm_powersave_off);
arch/powerpc/sysdev/cpm1.c +1 -0
index 4f8dcf124828..f5b1ea2d6524 100644
@@ -290,6 +290,7 @@ cpm_setbrg(uint brg, uint rate)
 		out_be32(bp, (((BRG_UART_CLK_DIV16 / rate) - 1) << 1) |
 			      CPM_BRG_EN | CPM_BRG_DIV16);
 }
+EXPORT_SYMBOL(cpm_setbrg);
 
 struct cpm_ioport16 {
 	__be16 dir, par, odr_sor, dat, intr;
arch/powerpc/sysdev/fsl_rio.c +2 -0
index 5011ffea4e4b..c48ebe677962 100644
@@ -509,8 +509,10 @@ int fsl_rio_setup(struct platform_device *dev)
 	if (rc) {
 		dev_err(&dev->dev, "Can't get %pOF property 'reg'\n",
 				rmu_node);
+		of_node_put(rmu_node);
 		goto err_rmu;
 	}
+	of_node_put(rmu_node);
 	rmu_regs_win = ioremap(rmu_regs.start, resource_size(&rmu_regs));
 	if (!rmu_regs_win) {
 		dev_err(&dev->dev, "Unable to map rmu register window\n");
arch/powerpc/sysdev/xics/icp-opal.c +1 -0
index e3e52cf035a9..672d8aedae12 100644
@@ -199,6 +199,7 @@ int icp_opal_init(void)
 
 	printk("XICS: Using OPAL ICP fallbacks\n");
 
+	of_node_put(np);
 	return 0;
 }
 
arch/s390/crypto/aes_s390.c +2 -2
index 2bc189187ed4..c663caf37ba4 100644
@@ -861,7 +861,7 @@ static inline void _gcm_sg_unmap_and_advance(struct gcm_sg_walk *gw,
 					     unsigned int nbytes)
 {
 	gw->walk_bytes_remain -= nbytes;
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	scatterwalk_advance(&gw->walk, nbytes);
 	scatterwalk_done(&gw->walk, 0, gw->walk_bytes_remain);
 	gw->walk_ptr = NULL;
@@ -936,7 +936,7 @@ static int gcm_out_walk_go(struct gcm_sg_walk *gw, unsigned int minbytesneeded)
 		goto out;
 	}
 
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	gw->walk_ptr = NULL;
 
 	gw->ptr = gw->buf;
arch/s390/include/asm/preempt.h +11 -4
index 23a14d187fb1..1aebf09fbcd8 100644
@@ -50,10 +50,17 @@ static inline bool test_preempt_need_resched(void)
 
 static inline void __preempt_count_add(int val)
 {
-	if (__builtin_constant_p(val) && (val >= -128) && (val <= 127))
-		__atomic_add_const(val, &S390_lowcore.preempt_count);
-	else
-		__atomic_add(val, &S390_lowcore.preempt_count);
+	/*
+	 * With some obscure config options and CONFIG_PROFILE_ALL_BRANCHES
+	 * enabled, gcc 12 fails to handle __builtin_constant_p().
+	 */
+	if (!IS_ENABLED(CONFIG_PROFILE_ALL_BRANCHES)) {
+		if (__builtin_constant_p(val) && (val >= -128) && (val <= 127)) {
+			__atomic_add_const(val, &S390_lowcore.preempt_count);
+			return;
+		}
+	}
+	__atomic_add(val, &S390_lowcore.preempt_count);
 }
 
 static inline void __preempt_count_sub(int val)
arch/um/drivers/chan_user.c +5 -4
index 669124d5290b..b3f320a129e3 100644
@@ -220,7 +220,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 		       unsigned long *stack_out)
 {
 	struct winch_data data;
-	int fds[2], n, err;
+	int fds[2], n, err, pid;
 	char c;
 
 	err = os_pipe(fds, 1, 1);
@@ -238,8 +238,9 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 	 * problem with /dev/net/tun, which if held open by this
 	 * thread, prevents the TUN/TAP device from being reused.
 	 */
-	err = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out);
-	if (err < 0) {
+	pid = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out);
+	if (pid < 0) {
+		err = pid;
 		printk(UM_KERN_ERR "fork of winch_thread failed - errno = %d\n",
 		       -err);
 		goto out_close;
@@ -263,7 +264,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 		goto out_close;
 	}
 
-	return err;
+	return pid;
 
  out_close:
 	close(fds[1]);
arch/x86/entry/vdso/vma.c +1 -1
index 46caca4d9141..a1c31bb23170 100644
@@ -329,7 +329,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
 static __init int vdso_setup(char *s)
 {
 	vdso64_enabled = simple_strtoul(s, NULL, 0);
-	return 0;
+	return 1;
 }
 __setup("vdso=", vdso_setup);
 #endif
arch/x86/events/amd/ibs.c +18 -0
index 2d9e1372b070..d157d0adef06 100644
@@ -324,6 +324,16 @@ static int perf_ibs_init(struct perf_event *event)
 	hwc->config_base = perf_ibs->msr;
 	hwc->config = config;
 
+	/*
+	 * rip recorded by IbsOpRip will not be consistent with rsp and rbp
+	 * recorded as part of interrupt regs. Thus we need to use rip from
+	 * interrupt regs while unwinding call stack. Setting _EARLY flag
+	 * makes sure we unwind call-stack before perf sample rip is set to
+	 * IbsOpRip.
+	 */
+	if (event->attr.sample_type & PERF_SAMPLE_CALLCHAIN)
+		event->attr.sample_type |= __PERF_SAMPLE_CALLCHAIN_EARLY;
+
 	return 0;
 }
 
@@ -693,6 +703,14 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf_ibs, struct pt_regs *iregs)
 		data.raw = &raw;
 	}
 
+	/*
+	 * rip recorded by IbsOpRip will not be consistent with rsp and rbp
+	 * recorded as part of interrupt regs. Thus we need to use rip from
+	 * interrupt regs while unwinding call stack.
+	 */
+	if (event->attr.sample_type & PERF_SAMPLE_CALLCHAIN)
+		data.callchain = perf_callchain(event, iregs);
+
 	throttle = perf_event_overflow(event, &data, &regs);
 out:
 	if (throttle) {
arch/x86/include/asm/acenv.h +13 -1
index 1b010a859b8b..6de59a4f723c 100644
@@ -16,7 +16,19 @@
 
 /* Asm macros */
 
-#define ACPI_FLUSH_CPU_CACHE()	wbinvd()
+/*
+ * ACPI_FLUSH_CPU_CACHE() flushes caches on entering sleep states.
+ * It is required to prevent data loss.
+ *
+ * While running inside virtual machine, the kernel can bypass cache flushing.
+ * Changing sleep state in a virtual machine doesn't affect the host system
+ * sleep state and cannot lead to data loss.
+ */
+#define ACPI_FLUSH_CPU_CACHE()					\
+do {								\
+	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))	\
+		wbinvd();					\
+} while (0)
 
 int __acpi_acquire_global_lock(unsigned int *lock);
 int __acpi_release_global_lock(unsigned int *lock);
arch/x86/include/asm/suspend_32.h +1 -1
index 8be6afb58471..32662cbaa27e 100644
@@ -21,7 +21,6 @@ struct saved_context {
 #endif
 	unsigned long cr0, cr2, cr3, cr4;
 	u64 misc_enable;
-	bool misc_enable_saved;
 	struct saved_msrs saved_msrs;
 	struct desc_ptr gdt_desc;
 	struct desc_ptr idt;
@@ -30,6 +29,7 @@ struct saved_context {
 	unsigned long tr;
 	unsigned long safety;
 	unsigned long return_address;
+	bool misc_enable_saved;
 } __attribute__((packed));
 
 #endif /* _ASM_X86_SUSPEND_32_H */
arch/x86/include/asm/suspend_64.h +8 -4
index a7af9f53c0cb..b2861400c6a2 100644
@@ -14,9 +14,13 @@
  * Image of the saved processor state, used by the low level ACPI suspend to
  * RAM code and by the low level hibernation code.
  *
- * If you modify it, fix arch/x86/kernel/acpi/wakeup_64.S and make sure that
- * __save/__restore_processor_state(), defined in arch/x86/kernel/suspend_64.c,
- * still work as required.
+ * If you modify it, check how it is used in arch/x86/kernel/acpi/wakeup_64.S
+ * and make sure that __save/__restore_processor_state(), defined in
+ * arch/x86/power/cpu.c, still work as required.
+ *
+ * Because the structure is packed, make sure to avoid unaligned members. For
+ * optimisation purposes but also because tools like kmemleak only search for
+ * pointers that are aligned.
  */
 struct saved_context {
 	struct pt_regs regs;
@@ -36,7 +40,6 @@ struct saved_context {
 
 	unsigned long cr0, cr2, cr3, cr4, cr8;
 	u64 misc_enable;
-	bool misc_enable_saved;
 	struct saved_msrs saved_msrs;
 	unsigned long efer;
 	u16 gdt_pad; /* Unused */
@@ -48,6 +51,7 @@ struct saved_context {
 	unsigned long tr;
 	unsigned long safety;
 	unsigned long return_address;
+	bool misc_enable_saved;
 } __attribute__((packed));
 
 #define loaddebug(thread,register) \
arch/x86/kernel/apic/apic.c +1 -1
index 9791828f3fcd..926939978c1c 100644
@@ -166,7 +166,7 @@ static __init int setup_apicpmtimer(char *s)
 {
 	apic_calibrate_pmtmr = 1;
 	notsc_setup(NULL);
-	return 0;
+	return 1;
 }
 __setup("apicpmtimer", setup_apicpmtimer);
 #endif
arch/x86/kernel/cpu/intel.c +1 -1
index a5287b18a63f..76692590eff8 100644
@@ -71,7 +71,7 @@ static bool ring3mwait_disabled __read_mostly;
 static int __init ring3mwait_disable(char *__unused)
 {
 	ring3mwait_disabled = true;
-	return 0;
+	return 1;
 }
 __setup("ring3mwait=disable", ring3mwait_disable);
 
arch/x86/kernel/step.c +1 -2
index 60d2c3798ba2..2f97d1a1032f 100644
@@ -175,8 +175,7 @@ void set_task_blockstep(struct task_struct *task, bool on)
 	 *
 	 * NOTE: this means that set/clear TIF_BLOCKSTEP is only safe if
 	 * task is current or it can't be running, otherwise we can race
-	 * with __switch_to_xtra(). We rely on ptrace_freeze_traced() but
-	 * PTRACE_KILL is not safe.
+	 * with __switch_to_xtra(). We rely on ptrace_freeze_traced().
 	 */
 	local_irq_disable();
 	debugctl = get_debugctlmsr();
arch/x86/kernel/sys_x86_64.c +2 -5
index 6a78d4b36a79..9fb266c797fb 100644
@@ -70,9 +70,6 @@ static int __init control_va_addr_alignment(char *str)
 	if (*str == 0)
 		return 1;
 
-	if (*str == '=')
-		str++;
-
 	if (!strcmp(str, "32"))
 		va_align.flags = ALIGN_VA_32;
 	else if (!strcmp(str, "64"))
@@ -82,11 +79,11 @@ static int __init control_va_addr_alignment(char *str)
 	else if (!strcmp(str, "on"))
 		va_align.flags = ALIGN_VA_32 | ALIGN_VA_64;
 	else
-		return 0;
+		pr_warn("invalid option value: 'align_va_addr=%s'\n", str);
 
 	return 1;
 }
-__setup("align_va_addr", control_va_addr_alignment);
+__setup("align_va_addr=", control_va_addr_alignment);
 
 SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
 		unsigned long, prot, unsigned long, flags,
arch/x86/lib/delay.c +2 -2
index 614c2c6b1959..68ca883abfdb 100644
@@ -43,8 +43,8 @@ static void delay_loop(unsigned long loops)
 		"	jnz 2b		\n"
 		"3:	dec %0		\n"
 
-		: /* we don't need output */
-		:"a" (loops)
+		: "+a" (loops)
+		:
 	);
 }
 
arch/x86/mm/pat.c +1 -1
index 324e26d0607b..b33304c0042a 100644
@@ -74,7 +74,7 @@ int pat_debug_enable;
 static int __init pat_debug_setup(char *str)
 {
 	pat_debug_enable = 1;
-	return 0;
+	return 1;
 }
 __setup("debugpat", pat_debug_setup);
 
arch/x86/um/ldt.c +4 -2
index 3ee234b6234d..255a44dd415a 100644
@@ -23,9 +23,11 @@ static long write_ldt_entry(struct mm_id *mm_idp, int func,
 {
 	long res;
 	void *stub_addr;
+
+	BUILD_BUG_ON(sizeof(*desc) % sizeof(long));
+
 	res = syscall_stub_data(mm_idp, (unsigned long *)desc,
-				(sizeof(*desc) + sizeof(long) - 1) &
-				    ~(sizeof(long) - 1),
+				sizeof(*desc) / sizeof(long),
 				addr, &stub_addr);
 	if (!res) {
 		unsigned long args[] = { func,
arch/xtensa/kernel/ptrace.c +2 -2
index d9541be0605a..3cfcbdc456ae 100644
@@ -35,12 +35,12 @@
 
 void user_enable_single_step(struct task_struct *child)
 {
-	child->ptrace |= PT_SINGLESTEP;
+	set_tsk_thread_flag(child, TIF_SINGLESTEP);
 }
 
 void user_disable_single_step(struct task_struct *child)
 {
-	child->ptrace &= ~PT_SINGLESTEP;
+	clear_tsk_thread_flag(child, TIF_SINGLESTEP);
 }
 
 /*
arch/xtensa/kernel/signal.c +2 -2
index f88e7a0b232c..72039bd61b72 100644
@@ -455,7 +455,7 @@ static void do_signal(struct pt_regs *regs)
 		/* Set up the stack frame */
 		ret = setup_frame(&ksig, sigmask_to_save(), regs);
 		signal_setup_done(ret, &ksig, 0);
-		if (current->ptrace & PT_SINGLESTEP)
+		if (test_thread_flag(TIF_SINGLESTEP))
 			task_pt_regs(current)->icountlevel = 1;
 
 		return;
@@ -481,7 +481,7 @@ static void do_signal(struct pt_regs *regs)
 	/* If there's no signal to deliver, we just restore the saved mask.  */
 	restore_saved_sigmask();
 
-	if (current->ptrace & PT_SINGLESTEP)
+	if (test_thread_flag(TIF_SINGLESTEP))
 		task_pt_regs(current)->icountlevel = 1;
 	return;
 }
block/blk-iolatency.c +64 -58

208 lines not on this page · raw message

drivers/ata/libata-transport.c +1 -1
index a0b0b4d986f2..43a91495ee67 100644
@@ -196,7 +196,7 @@ static struct {
 	{ XFER_PIO_0,			"XFER_PIO_0" },
 	{ XFER_PIO_SLOW,		"XFER_PIO_SLOW" }
 };
-ata_bitfield_name_match(xfer,ata_xfer_names)
+ata_bitfield_name_search(xfer, ata_xfer_names)
 
 /*
  * ATA Port attributes
drivers/ata/pata_octeon_cf.c +3 -0
index ac3b1fda820f..c240d8cbfd41 100644
@@ -888,12 +888,14 @@ static int octeon_cf_probe(struct platform_device *pdev)
 				int i;
 				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
 				if (!res_dma) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
 				cf_port->dma_base = (u64)devm_ioremap_nocache(&pdev->dev, res_dma->start,
 									 resource_size(res_dma));
 				if (!cf_port->dma_base) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
@@ -903,6 +905,7 @@ static int octeon_cf_probe(struct platform_device *pdev)
 					irq = i;
 					irq_handler = octeon_cf_interrupt;
 				}
+				put_device(&dma_dev->dev);
 			}
 			of_node_put(dma_node);
 		}
drivers/base/node.c +1 -0
index 503e2f90e58e..60c2e32f9f61 100644
@@ -339,6 +339,7 @@ static int register_node(struct node *node, int num)
  */
 void unregister_node(struct node *node)
 {
+	compaction_unregister_node(node);
 	hugetlb_unregister_node(node);		/* no-op, if memoryless node */
 
 	device_unregister(&node->dev);
drivers/block/nbd.c +26 -11
index 81b955670b12..2ef7eec6461c 100644
@@ -1288,7 +1288,7 @@ static int nbd_start_device_ioctl(struct nbd_device *nbd, struct block_device *b
 static void nbd_clear_sock_ioctl(struct nbd_device *nbd,
 				 struct block_device *bdev)
 {
-	sock_shutdown(nbd);
+	nbd_clear_sock(nbd);
 	__invalidate_device(bdev, true);
 	nbd_bdev_reset(bdev);
 	if (test_and_clear_bit(NBD_HAS_CONFIG_REF,
@@ -1395,15 +1395,20 @@ static struct nbd_config *nbd_alloc_config(void)
 {
 	struct nbd_config *config;
 
+	if (!try_module_get(THIS_MODULE))
+		return ERR_PTR(-ENODEV);
+
 	config = kzalloc(sizeof(struct nbd_config), GFP_NOFS);
-	if (!config)
-		return NULL;
+	if (!config) {
+		module_put(THIS_MODULE);
+		return ERR_PTR(-ENOMEM);
+	}
+
 	atomic_set(&config->recv_threads, 0);
 	init_waitqueue_head(&config->recv_wq);
 	init_waitqueue_head(&config->conn_wait);
 	config->blksize = NBD_DEF_BLKSIZE;
 	atomic_set(&config->live_connections, 0);
-	try_module_get(THIS_MODULE);
 	return config;
 }
 
@@ -1430,12 +1435,13 @@ static int nbd_open(struct block_device *bdev, fmode_t mode)
 			mutex_unlock(&nbd->config_lock);
 			goto out;
 		}
-		config = nbd->config = nbd_alloc_config();
-		if (!config) {
-			ret = -ENOMEM;
+		config = nbd_alloc_config();
+		if (IS_ERR(config)) {
+			ret = PTR_ERR(config);
 			mutex_unlock(&nbd->config_lock);
 			goto out;
 		}
+		nbd->config = config;
 		refcount_set(&nbd->config_refs, 1);
 		refcount_inc(&nbd->refs);
 		mutex_unlock(&nbd->config_lock);
@@ -1820,13 +1826,14 @@ static int nbd_genl_connect(struct sk_buff *skb, struct genl_info *info)
 		nbd_put(nbd);
 		return -EINVAL;
 	}
-	config = nbd->config = nbd_alloc_config();
-	if (!nbd->config) {
+	config = nbd_alloc_config();
+	if (IS_ERR(config)) {
 		mutex_unlock(&nbd->config_lock);
 		nbd_put(nbd);
 		printk(KERN_ERR "nbd: couldn't allocate config\n");
-		return -ENOMEM;
+		return PTR_ERR(config);
 	}
+	nbd->config = config;
 	refcount_set(&nbd->config_refs, 1);
 	set_bit(NBD_BOUND, &config->runtime_flags);
 
@@ -2337,6 +2344,12 @@ static void __exit nbd_cleanup(void)
 	struct nbd_device *nbd;
 	LIST_HEAD(del_list);
 
+	/*
+	 * Unregister netlink interface prior to waiting
+	 * for the completion of netlink commands.
+	 */
+	genl_unregister_family(&nbd_genl_family);
+
 	nbd_dbg_close();
 
 	mutex_lock(&nbd_index_mutex);
@@ -2346,13 +2359,15 @@ static void __exit nbd_cleanup(void)
 	while (!list_empty(&del_list)) {
 		nbd = list_first_entry(&del_list, struct nbd_device, list);
 		list_del_init(&nbd->list);
+		if (refcount_read(&nbd->config_refs))
+			printk(KERN_ERR "nbd: possibly leaking nbd_config (ref %d)\n",
+					refcount_read(&nbd->config_refs));
 		if (refcount_read(&nbd->refs) != 1)
 			printk(KERN_ERR "nbd: possibly leaking a device\n");
 		nbd_put(nbd);
 	}
 
 	idr_destroy(&nbd_index_idr);
-	genl_unregister_family(&nbd_genl_family);
 	unregister_blkdev(NBD_MAJOR, "nbd");
 }
 
drivers/bus/ti-sysc.c +3 -1
index b6a278183d82..bc274ddb9767 100644
@@ -1801,7 +1801,9 @@ static int sysc_remove(struct platform_device *pdev)
 	struct sysc *ddata = platform_get_drvdata(pdev);
 	int error;
 
-	cancel_delayed_work_sync(&ddata->idle_work);
+	/* Device can still be enabled, see deferred idle quirk in probe */
+	if (cancel_delayed_work_sync(&ddata->idle_work))
+		ti_sysc_idle(&ddata->idle_work.work);
 
 	error = pm_runtime_get_sync(ddata->dev);
 	if (error < 0) {
drivers/char/ipmi/ipmi_ssif.c +23 -0
index fec679433f72..fd1a487443f0 100644
@@ -801,6 +801,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 		break;
 
 	case SSIF_GETTING_EVENTS:
+		if (!msg) {
+			/* Should never happen, but just in case. */
+			dev_warn(&ssif_info->client->dev,
+				 "No message set while getting events\n");
+			ipmi_ssif_unlock_cond(ssif_info, flags);
+			break;
+		}
+
 		if ((result < 0) || (len < 3) || (msg->rsp[2] != 0)) {
 			/* Error getting event, probably done. */
 			msg->done(msg);
@@ -824,6 +832,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 		break;
 
 	case SSIF_GETTING_MESSAGES:
+		if (!msg) {
+			/* Should never happen, but just in case. */
+			dev_warn(&ssif_info->client->dev,
+				 "No message set while getting messages\n");
+			ipmi_ssif_unlock_cond(ssif_info, flags);
+			break;
+		}
+
 		if ((result < 0) || (len < 3) || (msg->rsp[2] != 0)) {
 			/* Error getting event, probably done. */
 			msg->done(msg);
@@ -846,6 +862,13 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 			deliver_recv_msg(ssif_info, msg);
 		}
 		break;
+
+	default:
+		/* Should never happen, but just in case. */
+		dev_warn(&ssif_info->client->dev,
+			 "Invalid state in message done handling: %d\n",
+			 ssif_info->ssif_state);
+		ipmi_ssif_unlock_cond(ssif_info, flags);
 	}
 
 	flags = ipmi_ssif_lock_cond(ssif_info, &oflags);
drivers/clocksource/riscv_timer.c +1 -1
index 4e8b347e43e2..0d5b99ca3bbd 100644
@@ -33,7 +33,7 @@ static int riscv_clock_next_event(unsigned long delta,
 
 static DEFINE_PER_CPU(struct clock_event_device, riscv_clock_event) = {
 	.name			= "riscv_timer_clockevent",
-	.features		= CLOCK_EVT_FEAT_ONESHOT,
+	.features		= CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP,
 	.rating			= 100,
 	.set_next_event		= riscv_clock_next_event,
 };
drivers/clocksource/timer-oxnas-rps.c +1 -1
index 30c6f4ce672b..cfcd54e66c57 100644
@@ -247,7 +247,7 @@ static int __init oxnas_rps_timer_init(struct device_node *np)
 	}
 
 	rps->irq = irq_of_parse_and_map(np, 0);
-	if (rps->irq < 0) {
+	if (!rps->irq) {
 		ret = -EINVAL;
 		goto err_iomap;
 	}
drivers/clocksource/timer-sp804.c +5 -5
index e01222ea888f..738c50e916f7 100644
@@ -228,6 +228,11 @@ static int __init sp804_of_init(struct device_node *np)
 	struct clk *clk1, *clk2;
 	const char *name = of_get_property(np, "compatible", NULL);
 
+	if (initialized) {
+		pr_debug("%pOF: skipping further SP804 timer device\n", np);
+		return 0;
+	}
+
 	base = of_iomap(np, 0);
 	if (!base)
 		return -ENXIO;
@@ -236,11 +241,6 @@ static int __init sp804_of_init(struct device_node *np)
 	writel(0, base + TIMER_CTRL);
 	writel(0, base + TIMER_2_BASE + TIMER_CTRL);
 
-	if (initialized || !of_device_is_available(np)) {
-		ret = -EINVAL;
-		goto err;
-	}
-
 	clk1 = of_clk_get(np, 0);
 	if (IS_ERR(clk1))
 		clk1 = NULL;
drivers/crypto/marvell/cipher.c +0 -1
index 0ae84ec9e21c..c9b905efc448 100644
@@ -625,7 +625,6 @@ struct skcipher_alg mv_cesa_ecb_des3_ede_alg = {
 	.decrypt = mv_cesa_ecb_des3_ede_decrypt,
 	.min_keysize = DES3_EDE_KEY_SIZE,
 	.max_keysize = DES3_EDE_KEY_SIZE,
-	.ivsize = DES3_EDE_BLOCK_SIZE,
 	.base = {
 		.cra_name = "ecb(des3_ede)",
 		.cra_driver_name = "mv-ecb-des3-ede",
drivers/devfreq/rk3399_dmc.c +2 -0
index e795ad2b3f6b..eefda6edc89c 100644
@@ -411,6 +411,8 @@ static int rk3399_dmcfreq_remove(struct platform_device *pdev)
 {
 	struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(&pdev->dev);
 
+	devfreq_event_disable_edev(dmcfreq->edev);
+
 	/*
 	 * Before remove the opp table we need to unregister the opp notifier.
 	 */
drivers/dma/stm32-mdma.c +5 -16
index 8585fed84e83..3259c450544c 100644
@@ -50,7 +50,6 @@
 					 STM32_MDMA_SHIFT(mask))
 
 #define STM32_MDMA_GISR0		0x0000 /* MDMA Int Status Reg 1 */
-#define STM32_MDMA_GISR1		0x0004 /* MDMA Int Status Reg 2 */
 
 /* MDMA Channel x interrupt/status register */
 #define STM32_MDMA_CISR(x)		(0x40 + 0x40 * (x)) /* x = 0..62 */
@@ -206,7 +205,7 @@
 
 #define STM32_MDMA_MAX_BUF_LEN		128
 #define STM32_MDMA_MAX_BLOCK_LEN	65536
-#define STM32_MDMA_MAX_CHANNELS		63
+#define STM32_MDMA_MAX_CHANNELS		32
 #define STM32_MDMA_MAX_REQUESTS		256
 #define STM32_MDMA_MAX_BURST		128
 #define STM32_MDMA_VERY_HIGH_PRIORITY	0x11
@@ -1361,21 +1360,11 @@ static irqreturn_t stm32_mdma_irq_handler(int irq, void *devid)
 
 	/* Find out which channel generates the interrupt */
 	status = readl_relaxed(dmadev->base + STM32_MDMA_GISR0);
-	if (status) {
-		id = __ffs(status);
-	} else {
-		status = readl_relaxed(dmadev->base + STM32_MDMA_GISR1);
-		if (!status) {
-			dev_dbg(mdma2dev(dmadev), "spurious it\n");
-			return IRQ_NONE;
-		}
-		id = __ffs(status);
-		/*
-		 * As GISR0 provides status for channel id from 0 to 31,
-		 * so GISR1 provides status for channel id from 32 to 62
-		 */
-		id += 32;
+	if (!status) {
+		dev_dbg(mdma2dev(dmadev), "spurious it\n");
+		return IRQ_NONE;
 	}
+	id = __ffs(status);
 
 	chan = &dmadev->chan[id];
 	if (!chan) {
drivers/extcon/extcon.c +17 -12
index e70f21ae85ff..4c70136c7aa3 100644
@@ -1245,19 +1245,14 @@ int extcon_dev_register(struct extcon_dev *edev)
 		edev->dev.type = &edev->extcon_dev_type;
 	}
 
-	ret = device_register(&edev->dev);
-	if (ret) {
-		put_device(&edev->dev);
-		goto err_dev;
-	}
-
 	spin_lock_init(&edev->lock);
-	edev->nh = devm_kcalloc(&edev->dev, edev->max_supported,
-				sizeof(*edev->nh), GFP_KERNEL);
-	if (!edev->nh) {
-		ret = -ENOMEM;
-		device_unregister(&edev->dev);
-		goto err_dev;
+	if (edev->max_supported) {
+		edev->nh = kcalloc(edev->max_supported, sizeof(*edev->nh),
+				GFP_KERNEL);
+		if (!edev->nh) {
+			ret = -ENOMEM;
+			goto err_alloc_nh;
+		}
 	}
 
 	for (index = 0; index < edev->max_supported; index++)
@@ -1268,6 +1263,12 @@ int extcon_dev_register(struct extcon_dev *edev)
 	dev_set_drvdata(&edev->dev, edev);
 	edev->state = 0;
 
+	ret = device_register(&edev->dev);
+	if (ret) {
+		put_device(&edev->dev);
+		goto err_dev;
+	}
+
 	mutex_lock(&extcon_dev_list_lock);
 	list_add(&edev->entry, &extcon_dev_list);
 	mutex_unlock(&extcon_dev_list_lock);
@@ -1275,6 +1276,9 @@ int extcon_dev_register(struct extcon_dev *edev)
 	return 0;
 
 err_dev:
+	if (edev->max_supported)
+		kfree(edev->nh);
+err_alloc_nh:
 	if (edev->max_supported)
 		kfree(edev->extcon_dev_type.groups);
 err_alloc_groups:
@@ -1335,6 +1339,7 @@ void extcon_dev_unregister(struct extcon_dev *edev)
 	if (edev->max_supported) {
 		kfree(edev->extcon_dev_type.groups);
 		kfree(edev->cables);
+		kfree(edev->nh);
 	}
 
 	put_device(&edev->dev);
drivers/firmware/arm_scmi/base.c +1 -1
index 204390297f4b..95d892db0dff 100644
@@ -164,7 +164,7 @@ static int scmi_base_implementation_list_get(const struct scmi_handle *handle,
 			break;
 
 		loop_num_ret = le32_to_cpu(*num_ret);
-		if (tot_num_ret + loop_num_ret > MAX_PROTOCOLS_IMP) {
+		if (loop_num_ret > MAX_PROTOCOLS_IMP - tot_num_ret) {
 			dev_err(dev, "No. of Protocol > MAX_PROTOCOLS_IMP");
 			break;
 		}
drivers/firmware/dmi-sysfs.c +1 -1
index ecf2eeb5f6f9..5d6b497d54d0 100644
@@ -602,7 +602,7 @@ static void __init dmi_sysfs_register_handle(const struct dmi_header *dh,
 				    "%d-%d", dh->type, entry->instance);
 
 	if (*ret) {
-		kfree(entry);
+		kobject_put(&entry->kobj);
 		return;
 	}
 
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -1
index 023309296bfc..e667bcf64bc7 100644
@@ -110,7 +110,7 @@ static int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, union drm_amdgpu_cs
 	int ret;
 
 	if (cs->in.num_chunks == 0)
-		return 0;
+		return -EINVAL;
 
 	chunk_array = kmalloc_array(cs->in.num_chunks, sizeof(uint64_t), GFP_KERNEL);
 	if (!chunk_array)
drivers/gpu/drm/amd/amdgpu/kv_dpm.c +1 -13
index cb79a93c2eb7..91504eccc60c 100644
@@ -1610,19 +1610,7 @@ static int kv_update_samu_dpm(struct amdgpu_device *adev, bool gate)
 
 static u8 kv_get_acp_boot_level(struct amdgpu_device *adev)
 {
-	u8 i;
-	struct amdgpu_clock_voltage_dependency_table *table =
-		&adev->pm.dpm.dyn_state.acp_clock_voltage_dependency_table;
-
-	for (i = 0; i < table->count; i++) {
-		if (table->entries[i].clk >= 0) /* XXX */
-			break;
-	}
-
-	if (i >= table->count)
-		i = table->count - 1;
-
-	return i;
+	return 0;
 }
 
 static void kv_update_acp_boot_level(struct amdgpu_device *adev)
drivers/gpu/drm/amd/amdgpu/si_dpm.c +3 -5
index 1de96995e690..9f811051ceb0 100644
@@ -7247,17 +7247,15 @@ static int si_parse_power_table(struct amdgpu_device *adev)
 	if (!adev->pm.dpm.ps)
 		return -ENOMEM;
 	power_state_offset = (u8 *)state_array->states;
-	for (i = 0; i < state_array->ucNumEntries; i++) {
+	for (adev->pm.dpm.num_ps = 0, i = 0; i < state_array->ucNumEntries; i++) {
 		u8 *idx;
 		power_state = (union pplib_power_state *)power_state_offset;
 		non_clock_array_index = power_state->v2.nonClockInfoIndex;
 		non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *)
 			&non_clock_info_array->nonClockInfo[non_clock_array_index];
 		ps = kzalloc(sizeof(struct  si_ps), GFP_KERNEL);
-		if (ps == NULL) {
-			kfree(adev->pm.dpm.ps);
+		if (ps == NULL)
 			return -ENOMEM;
-		}
 		adev->pm.dpm.ps[i].ps_priv = ps;
 		si_parse_pplib_non_clock_info(adev, &adev->pm.dpm.ps[i],
 					      non_clock_info,
@@ -7279,8 +7277,8 @@ static int si_parse_power_table(struct amdgpu_device *adev)
 			k++;
 		}
 		power_state_offset += 2 + power_state->v2.ucNumDPMLevels;
+		adev->pm.dpm.num_ps++;
 	}
-	adev->pm.dpm.num_ps = state_array->ucNumEntries;
 
 	/* fill in the vce power states */
 	for (i = 0; i < adev->pm.dpm.num_of_vce_states; i++) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +1 -0
index e7ddd3e3db92..b6e7cc9082ca 100644
@@ -1225,6 +1225,7 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
 	return 0;
 
 err_unregister_cec:
+	cec_unregister_adapter(adv7511->cec_adap);
 	i2c_unregister_device(adv7511->i2c_cec);
 	if (adv7511->cec_clk)
 		clk_disable_unprepare(adv7511->cec_clk);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +12 -1
index 84abf5d6f760..e21c7673cd5b 100644
@@ -1514,8 +1514,19 @@ static ssize_t analogix_dpaux_transfer(struct drm_dp_aux *aux,
 				       struct drm_dp_aux_msg *msg)
 {
 	struct analogix_dp_device *dp = to_dp(aux);
+	int ret;
+
+	pm_runtime_get_sync(dp->dev);
+
+	ret = analogix_dp_detect_hpd(dp);
+	if (ret)
+		goto out;
 
-	return analogix_dp_transfer(dp, msg);
+	ret = analogix_dp_transfer(dp, msg);
+out:
+	pm_runtime_put(dp->dev);
+
+	return ret;
 }
 
 struct analogix_dp_device *
drivers/gpu/drm/drm_edid.c +3 -3
index ef26095719c5..28ea3d260bea 100644
@@ -1709,9 +1709,6 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
 
 		connector_bad_edid(connector, edid, edid[0x7e] + 1);
 
-		edid[EDID_LENGTH-1] += edid[0x7e] - valid_extensions;
-		edid[0x7e] = valid_extensions;
-
 		new = kmalloc_array(valid_extensions + 1, EDID_LENGTH,
 				    GFP_KERNEL);
 		if (!new)
@@ -1728,6 +1725,9 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
 			base += EDID_LENGTH;
 		}
 
+		new[EDID_LENGTH - 1] += new[0x7e] - valid_extensions;
+		new[0x7e] = valid_extensions;
+
 		kfree(edid);
 		edid = new;
 	}
drivers/gpu/drm/drm_plane.c +7 -7
index 2411b6de055e..425e76e39b3b 100644
@@ -177,6 +177,13 @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane,
 	if (WARN_ON(config->num_total_plane >= 32))
 		return -EINVAL;
 
+	/*
+	 * First driver to need more than 64 formats needs to fix this. Each
+	 * format is encoded as a bit and the current code only supports a u64.
+	 */
+	if (WARN_ON(format_count > 64))
+		return -EINVAL;
+
 	WARN_ON(drm_drv_uses_atomic_modeset(dev) &&
 		(!funcs->atomic_destroy_state ||
 		 !funcs->atomic_duplicate_state));
@@ -198,13 +205,6 @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane,
 		return -ENOMEM;
 	}
 
-	/*
-	 * First driver to need more than 64 formats needs to fix this. Each
-	 * format is encoded as a bit and the current code only supports a u64.
-	 */
-	if (WARN_ON(format_count > 64))
-		return -EINVAL;
-
 	if (format_modifiers) {
 		const uint64_t *temp_modifiers = format_modifiers;
 		while (*temp_modifiers++ != DRM_FORMAT_MOD_INVALID)
drivers/gpu/drm/gma500/psb_intel_display.c +4 -3
index 8762efaef283..987f202c70ff 100644
@@ -543,14 +543,15 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
 
 struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
 {
-	struct drm_crtc *crtc = NULL;
+	struct drm_crtc *crtc;
 
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
 		struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
+
 		if (gma_crtc->pipe == pipe)
-			break;
+			return crtc;
 	}
-	return crtc;
+	return NULL;
 }
 
 int gma_connector_clones(struct drm_device *dev, int type_mask)
drivers/gpu/drm/imx/ipuv3-crtc.c +1 -1
index ff34f9bb55a1..824c90dca730 100644
@@ -71,7 +71,7 @@ static void ipu_crtc_disable_planes(struct ipu_crtc *ipu_crtc,
 	drm_atomic_crtc_state_for_each_plane(plane, old_crtc_state) {
 		if (plane == &ipu_crtc->plane[0]->base)
 			disable_full = true;
-		if (&ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
+		if (ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
 			disable_partial = true;
 	}
 
drivers/gpu/drm/mediatek/mtk_cec.c +1 -1
index 5ce84d0dbf81..acbf878083d7 100644
@@ -92,7 +92,7 @@ static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset,
 	u32 tmp = readl(cec->regs + offset) & ~mask;
 
 	tmp |= val & mask;
-	writel(val, cec->regs + offset);
+	writel(tmp, cec->regs + offset);
 }
 
 void mtk_cec_set_hpd_event(struct device *dev,
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +3 -1
index 52474dcd2573..c88bb92282df 100644
@@ -657,8 +657,10 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
 		for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
 			u32 vbif_idx = dpu_kms->catalog->vbif[i].id;
 
-			if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx])
+			if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) {
 				dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]);
+				dpu_kms->hw_vbif[vbif_idx] = NULL;
+			}
 		}
 	}
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +11 -3
index aa28a43ff842..b8a01c95b831 100644
@@ -537,9 +537,15 @@ int mdp5_crtc_setup_pipeline(struct drm_crtc *crtc,
 		if (ret)
 			return ret;
 
-		mdp5_mixer_release(new_crtc_state->state, old_mixer);
+		ret = mdp5_mixer_release(new_crtc_state->state, old_mixer);
+		if (ret)
+			return ret;
+
 		if (old_r_mixer) {
-			mdp5_mixer_release(new_crtc_state->state, old_r_mixer);
+			ret = mdp5_mixer_release(new_crtc_state->state, old_r_mixer);
+			if (ret)
+				return ret;
+
 			if (!need_right_mixer)
 				pipeline->r_mixer = NULL;
 		}
@@ -905,8 +911,10 @@ static int mdp5_crtc_cursor_set(struct drm_crtc *crtc,
 
 	ret = msm_gem_get_iova(cursor_bo, kms->aspace,
 			&mdp5_crtc->cursor.iova);
-	if (ret)
+	if (ret) {
+		drm_gem_object_put(cursor_bo);
 		return -EINVAL;
+	}
 
 	pm_runtime_get_sync(&pdev->dev);
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c +11 -4
index 113e6b569562..9c8275300b55 100644
@@ -127,21 +127,28 @@ int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,
 	return 0;
 }
 
-void mdp5_mixer_release(struct drm_atomic_state *s, struct mdp5_hw_mixer *mixer)
+int mdp5_mixer_release(struct drm_atomic_state *s, struct mdp5_hw_mixer *mixer)
 {
 	struct mdp5_global_state *global_state = mdp5_get_global_state(s);
-	struct mdp5_hw_mixer_state *new_state = &global_state->hwmixer;
+	struct mdp5_hw_mixer_state *new_state;
 
 	if (!mixer)
-		return;
+		return 0;
+
+	if (IS_ERR(global_state))
+		return PTR_ERR(global_state);
+
+	new_state = &global_state->hwmixer;
 
 	if (WARN_ON(!new_state->hwmixer_to_crtc[mixer->idx]))
-		return;
+		return -EINVAL;
 
 	DBG("%s: release from crtc %s", mixer->name,
 	    new_state->hwmixer_to_crtc[mixer->idx]->name);
 
 	new_state->hwmixer_to_crtc[mixer->idx] = NULL;
+
+	return 0;
 }
 
 void mdp5_mixer_destroy(struct mdp5_hw_mixer *mixer)
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h +2 -2
index 9be94f567fbd..6bcb0b544665 100644
@@ -41,7 +41,7 @@ void mdp5_mixer_destroy(struct mdp5_hw_mixer *lm);
 int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,
 		      uint32_t caps, struct mdp5_hw_mixer **mixer,
 		      struct mdp5_hw_mixer **r_mixer);
-void mdp5_mixer_release(struct drm_atomic_state *s,
-			struct mdp5_hw_mixer *mixer);
+int mdp5_mixer_release(struct drm_atomic_state *s,
+		       struct mdp5_hw_mixer *mixer);
 
 #endif /* __MDP5_LM_H__ */
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c +11 -4
index 1ef26bc63163..88de12225582 100644
@@ -130,18 +130,23 @@ int mdp5_pipe_assign(struct drm_atomic_state *s, struct drm_plane *plane,
 	return 0;
 }
 
-void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
+int mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
 {
 	struct msm_drm_private *priv = s->dev->dev_private;
 	struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms));
 	struct mdp5_global_state *state = mdp5_get_global_state(s);
-	struct mdp5_hw_pipe_state *new_state = &state->hwpipe;
+	struct mdp5_hw_pipe_state *new_state;
 
 	if (!hwpipe)
-		return;
+		return 0;
+
+	if (IS_ERR(state))
+		return PTR_ERR(state);
+
+	new_state = &state->hwpipe;
 
 	if (WARN_ON(!new_state->hwpipe_to_plane[hwpipe->idx]))
-		return;
+		return -EINVAL;
 
 	DBG("%s: release from plane %s", hwpipe->name,
 		new_state->hwpipe_to_plane[hwpipe->idx]->name);
@@ -152,6 +157,8 @@ void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
 	}
 
 	new_state->hwpipe_to_plane[hwpipe->idx] = NULL;
+
+	return 0;
 }
 
 void mdp5_pipe_destroy(struct mdp5_hw_pipe *hwpipe)
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h +1 -1
index bb2b0ac7aa2b..072db6a99b85 100644
@@ -48,7 +48,7 @@ int mdp5_pipe_assign(struct drm_atomic_state *s, struct drm_plane *plane,
 		     uint32_t caps, uint32_t blkcfg,
 		     struct mdp5_hw_pipe **hwpipe,
 		     struct mdp5_hw_pipe **r_hwpipe);
-void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe);
+int mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe);
 
 struct mdp5_hw_pipe *mdp5_pipe_init(enum mdp5_pipe pipe,
 		uint32_t reg_offset, uint32_t caps);
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c +16 -4
index 3d8eaa25bea0..501d7989b9a5 100644
@@ -402,12 +402,24 @@ static int mdp5_plane_atomic_check_with_state(struct drm_crtc_state *crtc_state,
 				mdp5_state->r_hwpipe = NULL;
 
 
-			mdp5_pipe_release(state->state, old_hwpipe);
-			mdp5_pipe_release(state->state, old_right_hwpipe);
+			ret = mdp5_pipe_release(state->state, old_hwpipe);
+			if (ret)
+				return ret;
+
+			ret = mdp5_pipe_release(state->state, old_right_hwpipe);
+			if (ret)
+				return ret;
+
 		}
 	} else {
-		mdp5_pipe_release(state->state, mdp5_state->hwpipe);
-		mdp5_pipe_release(state->state, mdp5_state->r_hwpipe);
+		ret = mdp5_pipe_release(state->state, mdp5_state->hwpipe);
+		if (ret)
+			return ret;
+
+		ret = mdp5_pipe_release(state->state, mdp5_state->r_hwpipe);
+		if (ret)
+			return ret;
+
 		mdp5_state->hwpipe = mdp5_state->r_hwpipe = NULL;
 	}
 
drivers/gpu/drm/msm/dsi/dsi_host.c +14 -7
index 9abfb19ea7ed..56cfa0a03fd5 100644
@@ -1354,10 +1354,10 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
 			dsi_get_bpp(msm_host->format) / 8;
 
 	len = dsi_cmd_dma_add(msm_host, msg);
-	if (!len) {
+	if (len < 0) {
 		pr_err("%s: failed to add cmd type = 0x%x\n",
 			__func__,  msg->type);
-		return -EINVAL;
+		return len;
 	}
 
 	/* for video mode, do not send cmds more than
@@ -1376,10 +1376,14 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
 	}
 
 	ret = dsi_cmd_dma_tx(msm_host, len);
-	if (ret < len) {
-		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, len=%d\n",
-			__func__, msg->type, (*(u8 *)(msg->tx_buf)), len);
-		return -ECOMM;
+	if (ret < 0) {
+		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, len=%d, ret=%d\n",
+			__func__, msg->type, (*(u8 *)(msg->tx_buf)), len, ret);
+		return ret;
+	} else if (ret < len) {
+		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, ret=%d len=%d\n",
+			__func__, msg->type, (*(u8 *)(msg->tx_buf)), ret, len);
+		return -EIO;
 	}
 
 	return len;
@@ -2105,9 +2109,12 @@ int msm_dsi_host_cmd_rx(struct mipi_dsi_host *host,
 		}
 
 		ret = dsi_cmds2buf_tx(msm_host, msg);
-		if (ret < msg->tx_len) {
+		if (ret < 0) {
 			pr_err("%s: Read cmd Tx failed, %d\n", __func__, ret);
 			return ret;
+		} else if (ret < msg->tx_len) {
+			pr_err("%s: Read cmd Tx failed, too short: %d\n", __func__, ret);
+			return -ECOMM;
 		}
 
 		/*
drivers/gpu/drm/msm/hdmi/hdmi.c +4 -0
index 33e083f71a17..0b7cb90d2826 100644
@@ -148,6 +148,10 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)
 	/* HDCP needs physical address of hdmi register */
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
 		config->mmio_name);
+	if (!res) {
+		ret = -EINVAL;
+		goto fail;
+	}
 	hdmi->mmio_phy_addr = res->start;
 
 	hdmi->qfprom_mmio = msm_ioremap(pdev,
drivers/gpu/drm/msm/msm_gem_prime.c +1 -1
index 13403c6da6c7..7e4664968106 100644
@@ -26,7 +26,7 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
 	int npages = obj->size >> PAGE_SHIFT;
 
 	if (WARN_ON(!msm_obj->pages))  /* should have already pinned! */
-		return NULL;
+		return ERR_PTR(-ENOMEM);
 
 	return drm_prime_pages_to_sg(msm_obj->pages, npages);
 }
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +4 -2
index ba6a868d4c95..28cccac39c19 100644
@@ -134,10 +134,10 @@ nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
 
 	list_for_each_entry_from_reverse(cstate, &pstate->list, head) {
 		if (nvkm_cstate_valid(clk, cstate, max_volt, clk->temp))
-			break;
+			return cstate;
 	}
 
-	return cstate;
+	return NULL;
 }
 
 static struct nvkm_cstate *
@@ -168,6 +168,8 @@ nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
 	if (!list_empty(&pstate->list)) {
 		cstate = nvkm_cstate_get(clk, pstate, cstatei);
 		cstate = nvkm_cstate_find_best(clk, pstate, cstate);
+		if (!cstate)
+			return -EINVAL;
 	} else {
 		cstate = &pstate->base;
 	}
drivers/gpu/drm/radeon/radeon_connectors.c +4 -0
index b9927101e845..47240983f360 100644
@@ -476,6 +476,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 	    native_mode->vdisplay != 0 &&
 	    native_mode->clock != 0) {
 		mode = drm_mode_duplicate(dev, native_mode);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		drm_mode_set_name(mode);
 
@@ -490,6 +492,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 		 * simpler.
 		 */
 		mode = drm_cvt_mode(dev, native_mode->hdisplay, native_mode->vdisplay, 60, true, false, false);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		DRM_DEBUG_KMS("Adding cvt approximation of native panel mode %s\n", mode->name);
 	}
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +1 -1
index 873624a11ce8..c0b647435974 100644
@@ -1595,10 +1595,10 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
 	vop_win_init(vop);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	vop->len = resource_size(res);
 	vop->regs = devm_ioremap_resource(dev, res);
 	if (IS_ERR(vop->regs))
 		return PTR_ERR(vop->regs);
+	vop->len = resource_size(res);
 
 	vop->regsbak = devm_kzalloc(dev, vop->len, GFP_KERNEL);
 	if (!vop->regsbak)
drivers/gpu/drm/vc4/vc4_txp.c +7 -1
index 6e23c50168f9..3b56558a5d65 100644
@@ -311,12 +311,18 @@ static void vc4_txp_connector_atomic_commit(struct drm_connector *conn,
 	if (WARN_ON(i == ARRAY_SIZE(drm_fmts)))
 		return;
 
-	ctrl = TXP_GO | TXP_VSTART_AT_EOF | TXP_EI |
+	ctrl = TXP_GO | TXP_EI |
 	       VC4_SET_FIELD(0xf, TXP_BYTE_ENABLE) |
 	       VC4_SET_FIELD(txp_fmts[i], TXP_FORMAT);
 
 	if (fb->format->has_alpha)
 		ctrl |= TXP_ALPHA_ENABLE;
+	else
+		/*
+		 * If TXP_ALPHA_ENABLE isn't set and TXP_ALPHA_INVERT is, the
+		 * hardware will force the output padding to be 0xff.
+		 */
+		ctrl |= TXP_ALPHA_INVERT;
 
 	gem = drm_fb_cma_get_gem_obj(fb, 0);
 	TXP_WRITE(TXP_DST_PTR, gem->paddr + fb->offsets[0]);
drivers/gpu/drm/virtio/virtgpu_display.c +2 -0
index 25503b933599..7511f416eb67 100644
@@ -180,6 +180,8 @@ static int virtio_gpu_conn_get_modes(struct drm_connector *connector)
 		DRM_DEBUG("add mode: %dx%d\n", width, height);
 		mode = drm_cvt_mode(connector->dev, width, height, 60,
 				    false, false, false);
+		if (!mode)
+			return count;
 		mode->type |= DRM_MODE_TYPE_PREFERRED;
 		drm_mode_probed_add(connector, mode);
 		count++;
drivers/hid/hid-elan.c +0 -2
index 7139227edb28..63077fb23026 100644
@@ -192,7 +192,6 @@ static int elan_input_configured(struct hid_device *hdev, struct hid_input *hi)
 	ret = input_mt_init_slots(input, ELAN_MAX_FINGERS, INPUT_MT_POINTER);
 	if (ret) {
 		hid_err(hdev, "Failed to init elan MT slots: %d\n", ret);
-		input_free_device(input);
 		return ret;
 	}
 
@@ -204,7 +203,6 @@ static int elan_input_configured(struct hid_device *hdev, struct hid_input *hi)
 		hid_err(hdev, "Failed to register elan input device: %d\n",
 			ret);
 		input_mt_destroy_slots(input);
-		input_free_device(input);
 		return ret;
 	}
 
drivers/hid/hid-led.c +1 -1
index d3e1ab162f7c..7fc5982a0ca4 100644
@@ -369,7 +369,7 @@ static const struct hidled_config hidled_configs[] = {
 		.type = DREAM_CHEEKY,
 		.name = "Dream Cheeky Webmail Notifier",
 		.short_name = "dream_cheeky",
-		.max_brightness = 31,
+		.max_brightness = 63,
 		.num_leds = 1,
 		.report_size = 9,
 		.report_type = RAW_REQUEST,
drivers/hwmon/hwmon.c +7 -9
index c4051a3e63c2..fb82d8ee0dd6 100644
@@ -695,11 +695,12 @@ EXPORT_SYMBOL_GPL(hwmon_device_register_with_groups);
 
 /**
  * hwmon_device_register_with_info - register w/ hwmon
- * @dev: the parent device
- * @name: hwmon name attribute
- * @drvdata: driver data to attach to created device
- * @chip: pointer to hwmon chip information
+ * @dev: the parent device (mandatory)
+ * @name: hwmon name attribute (mandatory)
+ * @drvdata: driver data to attach to created device (optional)
+ * @chip: pointer to hwmon chip information (mandatory)
  * @extra_groups: pointer to list of additional non-standard attribute groups
+ *	(optional)
  *
  * hwmon_device_unregister() must be called when the device is no
  * longer needed.
@@ -712,13 +713,10 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
 				const struct hwmon_chip_info *chip,
 				const struct attribute_group **extra_groups)
 {
-	if (!name)
-		return ERR_PTR(-EINVAL);
-
-	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
+	if (!dev || !name || !chip)
 		return ERR_PTR(-EINVAL);
 
-	if (chip && !dev)
+	if (!chip->ops || !chip->ops->is_visible || !chip->info)
 		return ERR_PTR(-EINVAL);
 
 	return __hwmon_device_register(dev, name, drvdata, chip, extra_groups);
drivers/hwtracing/coresight/coresight-cpu-debug.c +4 -3
index e8819d750938..a4eba09691b4 100644
@@ -379,9 +379,10 @@ static int debug_notifier_call(struct notifier_block *self,
 	int cpu;
 	struct debug_drvdata *drvdata;
 
-	mutex_lock(&debug_lock);
+	/* Bail out if we can't acquire the mutex or the functionality is off */
+	if (!mutex_trylock(&debug_lock))
+		return NOTIFY_DONE;
 
-	/* Bail out if the functionality is disabled */
 	if (!debug_enable)
 		goto skip_dump;
 
@@ -400,7 +401,7 @@ static int debug_notifier_call(struct notifier_block *self,
 
 skip_dump:
 	mutex_unlock(&debug_lock);
-	return 0;
+	return NOTIFY_DONE;
 }
 
 static struct notifier_block debug_notifier = {
drivers/i2c/busses/i2c-at91.c +11 -0
index d51bf536bdf7..29947eb905fb 100644
@@ -757,6 +757,7 @@ static int at91_twi_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num)
 	unsigned int_addr_flag = 0;
 	struct i2c_msg *m_start = msg;
 	bool is_read;
+	u8 *dma_buf = NULL;
 
 	dev_dbg(&adap->dev, "at91_xfer: processing %d messages:\n", num);
 
@@ -804,7 +805,17 @@ static int at91_twi_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num)
 	dev->msg = m_start;
 	dev->recv_len_abort = false;
 
+	if (dev->use_dma) {
+		dma_buf = i2c_get_dma_safe_msg_buf(m_start, 1);
+		if (!dma_buf) {
+			ret = -ENOMEM;
+			goto out;
+		}
+		dev->buf = dma_buf;
+	}
+
 	ret = at91_do_twi_transfer(dev);
+	i2c_put_dma_safe_msg_buf(dma_buf, m_start, !ret);
 
 	ret = (ret < 0) ? ret : num;
 out:
drivers/i2c/busses/i2c-cadence.c +10 -2
index c5475bb4fae6..2150afdcc083 100644
@@ -511,7 +511,7 @@ static void cdns_i2c_master_reset(struct i2c_adapter *adap)
 static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
 		struct i2c_adapter *adap)
 {
-	unsigned long time_left;
+	unsigned long time_left, msg_timeout;
 	u32 reg;
 
 	id->p_msg = msg;
@@ -536,8 +536,16 @@ static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
 	else
 		cdns_i2c_msend(id);
 
+	/* Minimal time to execute this message */
+	msg_timeout = msecs_to_jiffies((1000 * msg->len * BITS_PER_BYTE) / id->i2c_clk);
+	/* Plus some wiggle room */
+	msg_timeout += msecs_to_jiffies(500);
+
+	if (msg_timeout < adap->timeout)
+		msg_timeout = adap->timeout;
+
 	/* Wait for the signal of completion */
-	time_left = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
+	time_left = wait_for_completion_timeout(&id->xfer_done, msg_timeout);
 	if (time_left == 0) {
 		cdns_i2c_master_reset(adap);
 		dev_err(id->adap.dev.parent,
drivers/iio/adc/sc27xx_adc.c +2 -2
index 2b60efea0c39..4095e1f7d756 100644
@@ -35,8 +35,8 @@
 
 /* Bits and mask definition for SC27XX_ADC_CH_CFG register */
 #define SC27XX_ADC_CHN_ID_MASK		GENMASK(4, 0)
-#define SC27XX_ADC_SCALE_MASK		GENMASK(10, 8)
-#define SC27XX_ADC_SCALE_SHIFT		8
+#define SC27XX_ADC_SCALE_MASK		GENMASK(10, 9)
+#define SC27XX_ADC_SCALE_SHIFT		9
 
 /* Bits definitions for SC27XX_ADC_INT_EN registers */
 #define SC27XX_ADC_IRQ_EN		BIT(0)
drivers/iio/dummy/iio_simple_dummy.c +12 -8
index 62052479c349..f970b4388dda 100644
@@ -571,10 +571,9 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	struct iio_sw_device *swd;
 
 	swd = kzalloc(sizeof(*swd), GFP_KERNEL);
-	if (!swd) {
-		ret = -ENOMEM;
-		goto error_kzalloc;
-	}
+	if (!swd)
+		return ERR_PTR(-ENOMEM);
+
 	/*
 	 * Allocate an IIO device.
 	 *
@@ -586,7 +585,7 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	indio_dev = iio_device_alloc(sizeof(*st));
 	if (!indio_dev) {
 		ret = -ENOMEM;
-		goto error_ret;
+		goto error_free_swd;
 	}
 
 	st = iio_priv(indio_dev);
@@ -617,6 +616,10 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	 *    indio_dev->name = spi_get_device_id(spi)->name;
 	 */
 	indio_dev->name = kstrdup(name, GFP_KERNEL);
+	if (!indio_dev->name) {
+		ret = -ENOMEM;
+		goto error_free_device;
+	}
 
 	/* Provide description of available channels */
 	indio_dev->channels = iio_dummy_channels;
@@ -633,7 +636,7 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 
 	ret = iio_simple_dummy_events_register(indio_dev);
 	if (ret < 0)
-		goto error_free_device;
+		goto error_free_name;
 
 	ret = iio_simple_dummy_configure_buffer(indio_dev);
 	if (ret < 0)
@@ -650,11 +653,12 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	iio_simple_dummy_unconfigure_buffer(indio_dev);
 error_unregister_events:
 	iio_simple_dummy_events_unregister(indio_dev);
+error_free_name:
+	kfree(indio_dev->name);
 error_free_device:
 	iio_device_free(indio_dev);
-error_ret:
+error_free_swd:
 	kfree(swd);
-error_kzalloc:
 	return ERR_PTR(ret);
 }
 
drivers/infiniband/hw/hfi1/file_ops.c +2 -0
index adeb259458de..64ee11542a56 100644
@@ -308,6 +308,8 @@ static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from)
 	unsigned long dim = from->nr_segs;
 	int idx;
 
+	if (!HFI1_CAP_IS_KSET(SDMA))
+		return -EINVAL;
 	idx = srcu_read_lock(&fd->pq_srcu);
 	pq = srcu_dereference(fd->pq, &fd->pq_srcu);
 	if (!cq || !pq) {
drivers/infiniband/hw/hfi1/init.c +1 -1
index d9890ca1d70a..c3abf7811746 100644
@@ -535,7 +535,7 @@ void set_link_ipg(struct hfi1_pportdata *ppd)
 	u16 shift, mult;
 	u64 src;
 	u32 current_egress_rate; /* Mbits /sec */
-	u32 max_pkt_time;
+	u64 max_pkt_time;
 	/*
 	 * max_pkt_time is the maximum packet egress time in units
 	 * of the fabric clock period 1/(805 MHz).
drivers/infiniband/hw/hfi1/sdma.c +7 -5
index 38258de75a94..33ff9eca28f6 100644
@@ -1313,11 +1313,13 @@ void sdma_clean(struct hfi1_devdata *dd, size_t num_engines)
 		kvfree(sde->tx_ring);
 		sde->tx_ring = NULL;
 	}
-	spin_lock_irq(&dd->sde_map_lock);
-	sdma_map_free(rcu_access_pointer(dd->sdma_map));
-	RCU_INIT_POINTER(dd->sdma_map, NULL);
-	spin_unlock_irq(&dd->sde_map_lock);
-	synchronize_rcu();
+	if (rcu_access_pointer(dd->sdma_map)) {
+		spin_lock_irq(&dd->sde_map_lock);
+		sdma_map_free(rcu_access_pointer(dd->sdma_map));
+		RCU_INIT_POINTER(dd->sdma_map, NULL);
+		spin_unlock_irq(&dd->sde_map_lock);
+		synchronize_rcu();
+	}
 	kfree(dd->per_sdma);
 	dd->per_sdma = NULL;
 
drivers/infiniband/sw/rxe/rxe_req.c +1 -1
index 63db49144f62..4008ab2da052 100644
@@ -680,7 +680,7 @@ int rxe_requester(void *arg)
 	opcode = next_opcode(qp, wqe, wqe->wr.opcode);
 	if (unlikely(opcode < 0)) {
 		wqe->status = IB_WC_LOC_QP_OP_ERR;
-		goto exit;
+		goto err;
 	}
 
 	mask = rxe_opcode[opcode].mask;
drivers/input/misc/sparcspkr.c +1 -0
index 4a5afc7fe96e..f6e1f38267d9 100644
@@ -204,6 +204,7 @@ static int bbc_beep_probe(struct platform_device *op)
 
 	info = &state->u.bbc;
 	info->clock_freq = of_getintprop_default(dp, "clock-frequency", 0);
+	of_node_put(dp);
 	if (!info->clock_freq)
 		goto out_free;
 
drivers/input/mouse/bcm5974.c +6 -1
index d0122134f320..f68816329a2e 100644
@@ -956,17 +956,22 @@ static int bcm5974_probe(struct usb_interface *iface,
 	if (!dev->tp_data)
 		goto err_free_bt_buffer;
 
-	if (dev->bt_urb)
+	if (dev->bt_urb) {
 		usb_fill_int_urb(dev->bt_urb, udev,
 				 usb_rcvintpipe(udev, cfg->bt_ep),
 				 dev->bt_data, dev->cfg.bt_datalen,
 				 bcm5974_irq_button, dev, 1);
 
+		dev->bt_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+	}
+
 	usb_fill_int_urb(dev->tp_urb, udev,
 			 usb_rcvintpipe(udev, cfg->tp_ep),
 			 dev->tp_data, dev->cfg.tp_datalen,
 			 bcm5974_irq_trackpad, dev, 1);
 
+	dev->tp_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+
 	/* create bcm5974 device */
 	usb_make_path(udev, dev->phys, sizeof(dev->phys));
 	strlcat(dev->phys, "/input0", sizeof(dev->phys));
drivers/iommu/amd_iommu_init.c +1 -1
index 76ae6968801e..1c61cd0b1d55 100644
@@ -90,7 +90,7 @@
 #define ACPI_DEVFLAG_LINT1              0x80
 #define ACPI_DEVFLAG_ATSDIS             0x10000000
 
-#define LOOP_TIMEOUT	100000
+#define LOOP_TIMEOUT	2000000
 /*
  * ACPI table definitions
  *
drivers/iommu/msm_iommu.c +7 -4
index fc5f0b53adaf..bf7ff0219646 100644
@@ -638,16 +638,19 @@ static void insert_iommu_master(struct device *dev,
 static int qcom_iommu_of_xlate(struct device *dev,
 			       struct of_phandle_args *spec)
 {
-	struct msm_iommu_dev *iommu;
+	struct msm_iommu_dev *iommu = NULL, *iter;
 	unsigned long flags;
 	int ret = 0;
 
 	spin_lock_irqsave(&msm_iommu_lock, flags);
-	list_for_each_entry(iommu, &qcom_iommu_devices, dev_node)
-		if (iommu->dev->of_node == spec->np)
+	list_for_each_entry(iter, &qcom_iommu_devices, dev_node) {
+		if (iter->dev->of_node == spec->np) {
+			iommu = iter;
 			break;
+		}
+	}
 
-	if (!iommu || iommu->dev->of_node != spec->np) {
+	if (!iommu) {
 		ret = -ENODEV;
 		goto fail;
 	}
drivers/iommu/mtk_iommu.c +1 -2
index 8e75f34ac886..7304ad88f126 100644
@@ -702,8 +702,7 @@ static int mtk_iommu_remove(struct platform_device *pdev)
 	iommu_device_sysfs_remove(&data->iommu);
 	iommu_device_unregister(&data->iommu);
 
-	if (iommu_present(&platform_bus_type))
-		bus_set_iommu(&platform_bus_type, NULL);
+	list_del(&data->list);
 
 	clk_disable_unprepare(data->bclk);
 	devm_free_irq(&pdev->dev, data->irq, data);
drivers/irqchip/irq-armada-370-xp.c +10 -1
index 5849ac5a2ad3..0fd428db3aa4 100644
@@ -392,7 +392,16 @@ static void armada_xp_mpic_smp_cpu_init(void)
 
 static void armada_xp_mpic_perf_init(void)
 {
-	unsigned long cpuid = cpu_logical_map(smp_processor_id());
+	unsigned long cpuid;
+
+	/*
+	 * This Performance Counter Overflow interrupt is specific for
+	 * Armada 370 and XP. It is not available on Armada 375, 38x and 39x.
+	 */
+	if (!of_machine_is_compatible("marvell,armada-370-xp"))
+		return;
+
+	cpuid = cpu_logical_map(smp_processor_id());
 
 	/* Enable Performance Counter Overflow interrupts */
 	writel(ARMADA_370_XP_INT_CAUSE_PERF(cpuid),
drivers/irqchip/irq-aspeed-i2c-ic.c +2 -2
index f20200af0992..1274e3bc2213 100644
@@ -82,8 +82,8 @@ static int __init aspeed_i2c_ic_of_init(struct device_node *node,
 	}
 
 	i2c_ic->parent_irq = irq_of_parse_and_map(node, 0);
-	if (i2c_ic->parent_irq < 0) {
-		ret = i2c_ic->parent_irq;
+	if (!i2c_ic->parent_irq) {
+		ret = -EINVAL;
 		goto err_iounmap;
 	}
 
drivers/irqchip/irq-xtensa-mx.c +14 -4
index e539500752d4..345960c60e34 100644
@@ -141,14 +141,25 @@ static struct irq_chip xtensa_mx_irq_chip = {
 	.irq_set_affinity = xtensa_mx_irq_set_affinity,
 };
 
+static void __init xtensa_mx_init_common(struct irq_domain *root_domain)
+{
+	unsigned int i;
+
+	irq_set_default_host(root_domain);
+	secondary_init_irq();
+
+	/* Initialize default IRQ routing to CPU 0 */
+	for (i = 0; i < XCHAL_NUM_EXTINTERRUPTS; ++i)
+		set_er(1, MIROUT(i));
+}
+
 int __init xtensa_mx_init_legacy(struct device_node *interrupt_parent)
 {
 	struct irq_domain *root_domain =
 		irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0,
 				&xtensa_mx_irq_domain_ops,
 				&xtensa_mx_irq_chip);
-	irq_set_default_host(root_domain);
-	secondary_init_irq();
+	xtensa_mx_init_common(root_domain);
 	return 0;
 }
 
@@ -158,8 +169,7 @@ static int __init xtensa_mx_init(struct device_node *np,
 	struct irq_domain *root_domain =
 		irq_domain_add_linear(np, NR_IRQS, &xtensa_mx_irq_domain_ops,
 				&xtensa_mx_irq_chip);
-	irq_set_default_host(root_domain);
-	secondary_init_irq();
+	xtensa_mx_init_common(root_domain);
 	return 0;
 }
 IRQCHIP_DECLARE(xtensa_mx_irq_chip, "cdns,xtensa-mx", xtensa_mx_init);
drivers/macintosh/Kconfig +4 -0
index 47c350cdfb12..a316624742f6 100644
@@ -66,6 +66,10 @@ config ADB_PMU
 	  this device; you should do so if your machine is one of those
 	  mentioned above.
 
+config ADB_PMU_EVENT
+	def_bool y
+	depends on ADB_PMU && INPUT=y
+
 config ADB_PMU_LED
 	bool "Support for the Power/iBook front LED"
 	depends on PPC_PMAC && ADB_PMU
drivers/macintosh/Makefile +2 -1
index 49819b1b6f20..712edcb3e0b0 100644
@@ -12,7 +12,8 @@ obj-$(CONFIG_MAC_EMUMOUSEBTN)	+= mac_hid.o
 obj-$(CONFIG_INPUT_ADBHID)	+= adbhid.o
 obj-$(CONFIG_ANSLCD)		+= ans-lcd.o
 
-obj-$(CONFIG_ADB_PMU)		+= via-pmu.o via-pmu-event.o
+obj-$(CONFIG_ADB_PMU)		+= via-pmu.o
+obj-$(CONFIG_ADB_PMU_EVENT)	+= via-pmu-event.o
 obj-$(CONFIG_ADB_PMU_LED)	+= via-pmu-led.o
 obj-$(CONFIG_PMAC_BACKLIGHT)	+= via-pmu-backlight.o
 obj-$(CONFIG_ADB_CUDA)		+= via-cuda.o
drivers/macintosh/via-pmu.c +1 -1
index d72c450aebe5..50299d68ddfc 100644
@@ -1464,7 +1464,7 @@ pmu_handle_data(unsigned char *data, int len)
 		pmu_pass_intr(data, len);
 		/* len == 6 is probably a bad check. But how do I
 		 * know what PMU versions send what events here? */
-		if (len == 6) {
+		if (IS_ENABLED(CONFIG_ADB_PMU_EVENT) && len == 6) {
 			via_pmu_event(PMU_EVT_POWER, !!(data[1]&8));
 			via_pmu_event(PMU_EVT_LID, data[1]&1);
 		}
drivers/mailbox/mailbox.c +13 -6
index 10a559cfb7ea..aa28fdcb81b9 100644
@@ -85,11 +85,11 @@ static void msg_submit(struct mbox_chan *chan)
 exit:
 	spin_unlock_irqrestore(&chan->lock, flags);
 
-	/* kick start the timer immediately to avoid delays */
 	if (!err && (chan->txdone_method & TXDONE_BY_POLL)) {
-		/* but only if not already active */
-		if (!hrtimer_active(&chan->mbox->poll_hrt))
-			hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL);
+		/* kick start the timer immediately to avoid delays */
+		spin_lock_irqsave(&chan->mbox->poll_hrt_lock, flags);
+		hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL);
+		spin_unlock_irqrestore(&chan->mbox->poll_hrt_lock, flags);
 	}
 }
 
@@ -123,20 +123,26 @@ static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer)
 		container_of(hrtimer, struct mbox_controller, poll_hrt);
 	bool txdone, resched = false;
 	int i;
+	unsigned long flags;
 
 	for (i = 0; i < mbox->num_chans; i++) {
 		struct mbox_chan *chan = &mbox->chans[i];
 
 		if (chan->active_req && chan->cl) {
-			resched = true;
 			txdone = chan->mbox->ops->last_tx_done(chan);
 			if (txdone)
 				tx_tick(chan, 0);
+			else
+				resched = true;
 		}
 	}
 
 	if (resched) {
-		hrtimer_forward_now(hrtimer, ms_to_ktime(mbox->txpoll_period));
+		spin_lock_irqsave(&mbox->poll_hrt_lock, flags);
+		if (!hrtimer_is_queued(hrtimer))
+			hrtimer_forward_now(hrtimer, ms_to_ktime(mbox->txpoll_period));
+		spin_unlock_irqrestore(&mbox->poll_hrt_lock, flags);
+
 		return HRTIMER_RESTART;
 	}
 	return HRTIMER_NORESTART;
@@ -473,6 +479,7 @@ int mbox_controller_register(struct mbox_controller *mbox)
 		hrtimer_init(&mbox->poll_hrt, CLOCK_MONOTONIC,
 			     HRTIMER_MODE_REL);
 		mbox->poll_hrt.function = txdone_hrtimer;
+		spin_lock_init(&mbox->poll_hrt_lock);
 	}
 
 	for (i = 0; i < mbox->num_chans; i++) {
drivers/md/bcache/request.c +6 -0
index c1e487d1261c..958c3a1c453a 100644
@@ -1102,6 +1102,12 @@ static void detached_dev_do_request(struct bcache_device *d, struct bio *bio)
 	 * which would call closure_get(&dc->disk.cl)
 	 */
 	ddip = kzalloc(sizeof(struct detached_dev_io_private), GFP_NOIO);
+	if (!ddip) {
+		bio->bi_status = BLK_STS_RESOURCE;
+		bio->bi_end_io(bio);
+		return;
+	}
+
 	ddip->d = d;
 	ddip->start_time = jiffies;
 	ddip->bi_end_io = bio->bi_end_io;
drivers/md/md-bitmap.c +23 -21

70 lines not on this page · raw message

drivers/md/md.c +21 -12
index 7e0477e883c7..4594a1ee88b9 100644
@@ -2443,14 +2443,16 @@ static void sync_sbs(struct mddev *mddev, int nospares)
 
 static bool does_sb_need_changing(struct mddev *mddev)
 {
-	struct md_rdev *rdev;
+	struct md_rdev *rdev = NULL, *iter;
 	struct mdp_superblock_1 *sb;
 	int role;
 
 	/* Find a good rdev */
-	rdev_for_each(rdev, mddev)
-		if ((rdev->raid_disk >= 0) && !test_bit(Faulty, &rdev->flags))
+	rdev_for_each(iter, mddev)
+		if ((iter->raid_disk >= 0) && !test_bit(Faulty, &iter->flags)) {
+			rdev = iter;
 			break;
+		}
 
 	/* No good device found. */
 	if (!rdev)
@@ -7618,17 +7620,22 @@ EXPORT_SYMBOL(md_register_thread);
 
 void md_unregister_thread(struct md_thread **threadp)
 {
-	struct md_thread *thread = *threadp;
-	if (!thread)
-		return;
-	pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
-	/* Locking ensures that mddev_unlock does not wake_up a
+	struct md_thread *thread;
+
+	/*
+	 * Locking ensures that mddev_unlock does not wake_up a
 	 * non-existent thread
 	 */
 	spin_lock(&pers_lock);
+	thread = *threadp;
+	if (!thread) {
+		spin_unlock(&pers_lock);
+		return;
+	}
 	*threadp = NULL;
 	spin_unlock(&pers_lock);
 
+	pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
 	kthread_stop(thread->tsk);
 	kfree(thread);
 }
@@ -9323,16 +9330,18 @@ static int read_rdev(struct mddev *mddev, struct md_rdev *rdev)
 
 void md_reload_sb(struct mddev *mddev, int nr)
 {
-	struct md_rdev *rdev;
+	struct md_rdev *rdev = NULL, *iter;
 	int err;
 
 	/* Find the rdev */
-	rdev_for_each_rcu(rdev, mddev) {
-		if (rdev->desc_nr == nr)
+	rdev_for_each_rcu(iter, mddev) {
+		if (iter->desc_nr == nr) {
+			rdev = iter;
 			break;
+		}
 	}
 
-	if (!rdev || rdev->desc_nr != nr) {
+	if (!rdev) {
 		pr_warn("%s: %d Could not find rdev with nr %d\n", __func__, __LINE__, nr);
 		return;
 	}
drivers/md/raid0.c +16 -15
index 0272102b207e..2a782c4f4710 100644
@@ -150,21 +150,6 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
 	pr_debug("md/raid0:%s: FINAL %d zones\n",
 		 mdname(mddev), conf->nr_strip_zones);
 
-	if (conf->nr_strip_zones == 1) {
-		conf->layout = RAID0_ORIG_LAYOUT;
-	} else if (mddev->layout == RAID0_ORIG_LAYOUT ||
-		   mddev->layout == RAID0_ALT_MULTIZONE_LAYOUT) {
-		conf->layout = mddev->layout;
-	} else if (default_layout == RAID0_ORIG_LAYOUT ||
-		   default_layout == RAID0_ALT_MULTIZONE_LAYOUT) {
-		conf->layout = default_layout;
-	} else {
-		pr_err("md/raid0:%s: cannot assemble multi-zone RAID0 with default_layout setting\n",
-		       mdname(mddev));
-		pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n");
-		err = -ENOTSUPP;
-		goto abort;
-	}
 	/*
 	 * now since we have the hard sector sizes, we can make sure
 	 * chunk size is a multiple of that sector size
@@ -295,6 +280,22 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
 			 (unsigned long long)smallest->sectors);
 	}
 
+	if (conf->nr_strip_zones == 1 || conf->strip_zone[1].nb_dev == 1) {
+		conf->layout = RAID0_ORIG_LAYOUT;
+	} else if (mddev->layout == RAID0_ORIG_LAYOUT ||
+		   mddev->layout == RAID0_ALT_MULTIZONE_LAYOUT) {
+		conf->layout = mddev->layout;
+	} else if (default_layout == RAID0_ORIG_LAYOUT ||
+		   default_layout == RAID0_ALT_MULTIZONE_LAYOUT) {
+		conf->layout = default_layout;
+	} else {
+		pr_err("md/raid0:%s: cannot assemble multi-zone RAID0 with default_layout setting\n",
+		       mdname(mddev));
+		pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n");
+		err = -EOPNOTSUPP;
+		goto abort;
+	}
+
 	pr_debug("md/raid0:%s: done.\n", mdname(mddev));
 	*private_conf = conf;
 
drivers/media/cec/cec-adap.c +3 -3
index 5eeadab15a5f..a42043379d67 100644
@@ -1218,7 +1218,7 @@ static int cec_config_log_addr(struct cec_adapter *adap,
 		 * While trying to poll the physical address was reset
 		 * and the adapter was unconfigured, so bail out.
 		 */
-		if (!adap->is_configuring)
+		if (adap->phys_addr == CEC_PHYS_ADDR_INVALID)
 			return -EINTR;
 
 		if (err)
@@ -1276,7 +1276,6 @@ static void cec_adap_unconfigure(struct cec_adapter *adap)
 	    adap->phys_addr != CEC_PHYS_ADDR_INVALID)
 		WARN_ON(adap->ops->adap_log_addr(adap, CEC_LOG_ADDR_INVALID));
 	adap->log_addrs.log_addr_mask = 0;
-	adap->is_configuring = false;
 	adap->is_configured = false;
 	memset(adap->phys_addrs, 0xff, sizeof(adap->phys_addrs));
 	cec_flush(adap);
@@ -1469,9 +1468,10 @@ static int cec_config_thread_func(void *arg)
 	for (i = 0; i < las->num_log_addrs; i++)
 		las->log_addr[i] = CEC_LOG_ADDR_INVALID;
 	cec_adap_unconfigure(adap);
+	adap->is_configuring = false;
 	adap->kthread_config = NULL;
-	mutex_unlock(&adap->lock);
 	complete(&adap->config_completion);
+	mutex_unlock(&adap->lock);
 	return 0;
 }
 
drivers/media/pci/cx23885/cx23885-core.c +3 -3
index a1d738969d7b..06e4e1df125c 100644
@@ -2164,7 +2164,7 @@ static int cx23885_initdev(struct pci_dev *pci_dev,
 	err = pci_set_dma_mask(pci_dev, 0xffffffff);
 	if (err) {
 		pr_err("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name);
-		goto fail_ctrl;
+		goto fail_dma_set_mask;
 	}
 
 	err = request_irq(pci_dev->irq, cx23885_irq,
@@ -2172,7 +2172,7 @@ static int cx23885_initdev(struct pci_dev *pci_dev,
 	if (err < 0) {
 		pr_err("%s: can't get IRQ %d\n",
 		       dev->name, pci_dev->irq);
-		goto fail_irq;
+		goto fail_dma_set_mask;
 	}
 
 	switch (dev->board) {
@@ -2194,7 +2194,7 @@ static int cx23885_initdev(struct pci_dev *pci_dev,
 
 	return 0;
 
-fail_irq:
+fail_dma_set_mask:
 	cx23885_dev_unregister(dev);
 fail_ctrl:
 	v4l2_ctrl_handler_free(hdl);
drivers/media/pci/cx25821/cx25821-core.c +1 -1
index e04fe9f17b7a..99359eaf8cdc 100644
@@ -1350,11 +1350,11 @@ static void cx25821_finidev(struct pci_dev *pci_dev)
 	struct cx25821_dev *dev = get_cx25821(v4l2_dev);
 
 	cx25821_shutdown(dev);
-	pci_disable_device(pci_dev);
 
 	/* unregister stuff */
 	if (pci_dev->irq)
 		free_irq(pci_dev->irq, dev);
+	pci_disable_device(pci_dev);
 
 	cx25821_dev_unregister(dev);
 	v4l2_device_unregister(v4l2_dev);
drivers/media/platform/coda/coda-common.c +9 -6
index 5f8da544b98d..d792122b86c2 100644
@@ -1894,8 +1894,8 @@ static void coda_encode_ctrls(struct coda_ctx *ctx)
 		0x0, V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED);
 	v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
 		V4L2_CID_MPEG_VIDEO_H264_PROFILE,
-		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, 0x0,
-		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE);
+		V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE, 0x0,
+		V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE);
 	if (ctx->dev->devtype->product == CODA_HX4 ||
 	    ctx->dev->devtype->product == CODA_7541) {
 		v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
@@ -1909,12 +1909,15 @@ static void coda_encode_ctrls(struct coda_ctx *ctx)
 	if (ctx->dev->devtype->product == CODA_960) {
 		v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
 			V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-			V4L2_MPEG_VIDEO_H264_LEVEL_4_0,
-			~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
+			V4L2_MPEG_VIDEO_H264_LEVEL_4_2,
+			~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
+			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
 			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
 			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
 			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_0)),
+			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
+			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
+			  (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_2)),
 			V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
 	}
 	v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,
@@ -1977,7 +1980,7 @@ static void coda_decode_ctrls(struct coda_ctx *ctx)
 	ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
 		&coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE,
 		V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
-		~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
+		~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) |
 		  (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
 		  (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
 		V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
drivers/media/platform/exynos4-is/fimc-is.c +1 -1
index 0fe9be93fabe..0f3f82bd4d20 100644
@@ -144,7 +144,7 @@ static int fimc_is_enable_clocks(struct fimc_is *is)
 			dev_err(&is->pdev->dev, "clock %s enable failed\n",
 				fimc_is_clocks[i]);
 			for (--i; i >= 0; i--)
-				clk_disable(is->clocks[i]);
+				clk_disable_unprepare(is->clocks[i]);
 			return ret;
 		}
 		pr_debug("enabled clock: %s\n", fimc_is_clocks[i]);
drivers/media/platform/exynos4-is/fimc-isp-video.h +1 -1
index f79a1b348aa6..67ef85249912 100644
@@ -35,7 +35,7 @@ static inline int fimc_isp_video_device_register(struct fimc_isp *isp,
 	return 0;
 }
 
-void fimc_isp_video_device_unregister(struct fimc_isp *isp,
+static inline void fimc_isp_video_device_unregister(struct fimc_isp *isp,
 				enum v4l2_buf_type type)
 {
 }
drivers/media/platform/qcom/venus/hfi.c +3 -0
index 24207829982f..8a99e2d8274a 100644
@@ -113,6 +113,9 @@ int hfi_core_deinit(struct venus_core *core, bool blocking)
 		mutex_lock(&core->lock);
 	}
 
+	if (!core->ops)
+		goto unlock;
+
 	ret = core->ops->core_deinit(core);
 
 	if (!ret)
drivers/media/platform/sti/delta/delta-v4l2.c +4 -2
index 53dc6da2b09e..eb5e8867967e 100644
@@ -1862,7 +1862,7 @@ static int delta_probe(struct platform_device *pdev)
 	if (ret) {
 		dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
 			DELTA_PREFIX);
-		goto err;
+		goto err_pm_disable;
 	}
 
 	/* register all available decoders */
@@ -1876,7 +1876,7 @@ static int delta_probe(struct platform_device *pdev)
 	if (ret) {
 		dev_err(delta->dev, "%s failed to register V4L2 device\n",
 			DELTA_PREFIX);
-		goto err;
+		goto err_pm_disable;
 	}
 
 	delta->work_queue = create_workqueue(DELTA_NAME);
@@ -1901,6 +1901,8 @@ static int delta_probe(struct platform_device *pdev)
 	destroy_workqueue(delta->work_queue);
 err_v4l2:
 	v4l2_device_unregister(&delta->v4l2_dev);
+err_pm_disable:
+	pm_runtime_disable(dev);
 err:
 	return ret;
 }
drivers/media/platform/vsp1/vsp1_rpf.c +3 -3
index f8005b60b9d2..abaf4dde3802 100644
@@ -290,11 +290,11 @@ static void rpf_configure_partition(struct vsp1_entity *entity,
 		     + crop.left * fmtinfo->bpp[0] / 8;
 
 	if (format->num_planes > 1) {
+		unsigned int bpl = format->plane_fmt[1].bytesperline;
 		unsigned int offset;
 
-		offset = crop.top * format->plane_fmt[1].bytesperline
-		       + crop.left / fmtinfo->hsub
-		       * fmtinfo->bpp[1] / 8;
+		offset = crop.top / fmtinfo->vsub * bpl
+		       + crop.left / fmtinfo->hsub * fmtinfo->bpp[1] / 8;
 		mem.addr[1] += offset;
 		mem.addr[2] += offset;
 	}
drivers/media/usb/pvrusb2/pvrusb2-hdw.c +5 -2
index 21ccbbd70dce..bbb5ff16abd6 100644
@@ -2561,6 +2561,11 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
 	} while (0);
 	mutex_unlock(&pvr2_unit_mtx);
 
+	INIT_WORK(&hdw->workpoll, pvr2_hdw_worker_poll);
+
+	if (hdw->unit_number == -1)
+		goto fail;
+
 	cnt1 = 0;
 	cnt2 = scnprintf(hdw->name+cnt1,sizeof(hdw->name)-cnt1,"pvrusb2");
 	cnt1 += cnt2;
@@ -2572,8 +2577,6 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
 	if (cnt1 >= sizeof(hdw->name)) cnt1 = sizeof(hdw->name)-1;
 	hdw->name[cnt1] = 0;
 
-	INIT_WORK(&hdw->workpoll,pvr2_hdw_worker_poll);
-
 	pvr2_trace(PVR2_TRACE_INIT,"Driver unit number is %d, name is %s",
 		   hdw->unit_number,hdw->name);
 
drivers/media/usb/uvc/uvc_v4l2.c +11 -9
index e858f4f189ed..0371a4a1cd12 100644
@@ -865,29 +865,31 @@ static int uvc_ioctl_enum_input(struct file *file, void *fh,
 	struct uvc_video_chain *chain = handle->chain;
 	const struct uvc_entity *selector = chain->selector;
 	struct uvc_entity *iterm = NULL;
+	struct uvc_entity *it;
 	u32 index = input->index;
-	int pin = 0;
 
 	if (selector == NULL ||
 	    (chain->dev->quirks & UVC_QUIRK_IGNORE_SELECTOR_UNIT)) {
 		if (index != 0)
 			return -EINVAL;
-		list_for_each_entry(iterm, &chain->entities, chain) {
-			if (UVC_ENTITY_IS_ITERM(iterm))
+		list_for_each_entry(it, &chain->entities, chain) {
+			if (UVC_ENTITY_IS_ITERM(it)) {
+				iterm = it;
 				break;
+			}
 		}
-		pin = iterm->id;
 	} else if (index < selector->bNrInPins) {
-		pin = selector->baSourceID[index];
-		list_for_each_entry(iterm, &chain->entities, chain) {
-			if (!UVC_ENTITY_IS_ITERM(iterm))
+		list_for_each_entry(it, &chain->entities, chain) {
+			if (!UVC_ENTITY_IS_ITERM(it))
 				continue;
-			if (iterm->id == pin)
+			if (it->id == selector->baSourceID[index]) {
+				iterm = it;
 				break;
+			}
 		}
 	}
 
-	if (iterm == NULL || iterm->id != pin)
+	if (iterm == NULL)
 		return -EINVAL;
 
 	memset(input, 0, sizeof(*input));
drivers/mfd/ipaq-micro.c +1 -1
index cd762d08f116..2ba0e2d575c0 100644
@@ -410,7 +410,7 @@ static int __init micro_probe(struct platform_device *pdev)
 	micro_reset_comm(micro);
 
 	irq = platform_get_irq(pdev, 0);
-	if (!irq)
+	if (irq < 0)
 		return -EINVAL;
 	ret = devm_request_irq(&pdev->dev, irq, micro_serial_isr,
 			       IRQF_SHARED, "ipaq-micro",
drivers/misc/cardreader/rtsx_usb.c +1 -0
index b97903ff1a72..869c176d48cc 100644
@@ -678,6 +678,7 @@ static int rtsx_usb_probe(struct usb_interface *intf,
 	return 0;
 
 out_init_fail:
+	usb_set_intfdata(ucr->pusb_intf, NULL);
 	usb_free_coherent(ucr->pusb_dev, IOBUF_SIZE, ucr->iobuf,
 			ucr->iobuf_dma);
 	return ret;
drivers/misc/lkdtm/usercopy.c +14 -3
index 9725aed305bb..b0e020372d11 100644
@@ -30,12 +30,12 @@ static const unsigned char test_text[] = "This is a test.\n";
  */
 static noinline unsigned char *trick_compiler(unsigned char *stack)
 {
-	return stack + 0;
+	return stack + unconst;
 }
 
 static noinline unsigned char *do_usercopy_stack_callee(int value)
 {
-	unsigned char buf[32];
+	unsigned char buf[128];
 	int i;
 
 	/* Exercise stack to avoid everything living in registers. */
@@ -43,7 +43,12 @@ static noinline unsigned char *do_usercopy_stack_callee(int value)
 		buf[i] = value & 0xff;
 	}
 
-	return trick_compiler(buf);
+	/*
+	 * Put the target buffer in the middle of stack allocation
+	 * so that we don't step on future stack users regardless
+	 * of stack growth direction.
+	 */
+	return trick_compiler(&buf[(128/2)-32]);
 }
 
 static noinline void do_usercopy_stack(bool to_user, bool bad_frame)
@@ -66,6 +71,12 @@ static noinline void do_usercopy_stack(bool to_user, bool bad_frame)
 		bad_stack -= sizeof(unsigned long);
 	}
 
+#ifdef ARCH_HAS_CURRENT_STACK_POINTER
+	pr_info("stack     : %px\n", (void *)current_stack_pointer);
+#endif
+	pr_info("good_stack: %px-%px\n", good_stack, good_stack + sizeof(good_stack));
+	pr_info("bad_stack : %px-%px\n", bad_stack, bad_stack + sizeof(good_stack));
+
 	user_addr = vm_mmap(NULL, 0, PAGE_SIZE,
 			    PROT_READ | PROT_WRITE | PROT_EXEC,
 			    MAP_ANONYMOUS | MAP_PRIVATE, 0);
drivers/mmc/core/block.c +1 -2
index c6e83f6021c1..3029886a42b6 100644
@@ -1499,8 +1499,7 @@ void mmc_blk_cqe_recovery(struct mmc_queue *mq)
 	err = mmc_cqe_recovery(host);
 	if (err)
 		mmc_blk_reset(mq->blkdata, host, MMC_BLK_CQE_RECOVERY);
-	else
-		mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
+	mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
 
 	pr_debug("%s: CQE recovery done\n", mmc_hostname(host));
 }
drivers/mtd/chips/cfi_cmdset_0002.c +53 -40

229 lines not on this page · raw message

drivers/mtd/ubi/vmt.c +0 -1
index d0c6b66b7450..9f6ffd340a3e 100644
@@ -322,7 +322,6 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
 	ubi->volumes[vol_id] = NULL;
 	ubi->vol_count -= 1;
 	spin_unlock(&ubi->volumes_lock);
-	ubi_eba_destroy_table(eba_tbl);
 out_acc:
 	spin_lock(&ubi->volumes_lock);
 	ubi->rsvd_pebs -= vol->reserved_pebs;
drivers/net/dsa/mv88e6xxx/chip.c +1 -0
index 1df7aed5ae15..be064bcfd70a 100644
@@ -2778,6 +2778,7 @@ static int mv88e6xxx_mdios_register(struct mv88e6xxx_chip *chip,
 	 */
 	child = of_get_child_by_name(np, "mdio");
 	err = mv88e6xxx_mdio_register(chip, child, false);
+	of_node_put(child);
 	if (err)
 		return err;
 
drivers/net/ethernet/altera/altera_tse_main.c +5 -1
index 1b4dfd357383..1b9fb78ef824 100644
@@ -174,7 +174,8 @@ static int altera_tse_mdio_create(struct net_device *dev, unsigned int id)
 	mdio = mdiobus_alloc();
 	if (mdio == NULL) {
 		netdev_err(dev, "Error allocating MDIO bus\n");
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto put_node;
 	}
 
 	mdio->name = ALTERA_TSE_RESOURCE_NAME;
@@ -191,6 +192,7 @@ static int altera_tse_mdio_create(struct net_device *dev, unsigned int id)
 			   mdio->id);
 		goto out_free_mdio;
 	}
+	of_node_put(mdio_node);
 
 	if (netif_msg_drv(priv))
 		netdev_info(dev, "MDIO bus %s: created\n", mdio->id);
@@ -200,6 +202,8 @@ static int altera_tse_mdio_create(struct net_device *dev, unsigned int id)
 out_free_mdio:
 	mdiobus_free(mdio);
 	mdio = NULL;
+put_node:
+	of_node_put(mdio_node);
 	return ret;
 }
 
drivers/net/ethernet/broadcom/Makefile +5 -0
index 7046ad6d3d0e..ac50da49ca77 100644
@@ -16,3 +16,8 @@ obj-$(CONFIG_BGMAC_BCMA) += bgmac-bcma.o bgmac-bcma-mdio.o
 obj-$(CONFIG_BGMAC_PLATFORM) += bgmac-platform.o
 obj-$(CONFIG_SYSTEMPORT) += bcmsysport.o
 obj-$(CONFIG_BNXT) += bnxt/
+
+# FIXME: temporarily silence -Warray-bounds on non W=1+ builds
+ifndef KBUILD_EXTRA_WARN
+CFLAGS_tg3.o += -Wno-array-bounds
+endif
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +4 -4
index 8aaf856771d7..6055a4917ff6 100644
@@ -1148,9 +1148,9 @@ static int ixgbe_update_vf_xcast_mode(struct ixgbe_adapter *adapter,
 
 	switch (xcast_mode) {
 	case IXGBEVF_XCAST_MODE_NONE:
-		disable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE |
+		disable = IXGBE_VMOLR_ROMPE |
 			  IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE;
-		enable = 0;
+		enable = IXGBE_VMOLR_BAM;
 		break;
 	case IXGBEVF_XCAST_MODE_MULTI:
 		disable = IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE;
@@ -1172,9 +1172,9 @@ static int ixgbe_update_vf_xcast_mode(struct ixgbe_adapter *adapter,
 			return -EPERM;
 		}
 
-		disable = 0;
+		disable = IXGBE_VMOLR_VPE;
 		enable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE |
-			 IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE;
+			 IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE;
 		break;
 	default:
 		return -EOPNOTSUPP;
drivers/net/ethernet/mediatek/mtk_eth_soc.c +3 -0
index 59f3dce3ab1d..f2eaf8c13cc2 100644
@@ -1575,6 +1575,9 @@ static int mtk_hwlro_get_fdir_entry(struct net_device *dev,
 	struct ethtool_rx_flow_spec *fsp =
 		(struct ethtool_rx_flow_spec *)&cmd->fs;
 
+	if (fsp->location >= ARRAY_SIZE(mac->hwlro_ip))
+		return -EINVAL;
+
 	/* only tcp dst ipv4 is meaningful, others are meaningless */
 	fsp->flow_type = TCP_V4_FLOW;
 	fsp->h_u.tcp_ip4_spec.ip4dst = ntohl(mac->hwlro_ip[fsp->location]);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c +1 -1
index f652cfd8127b..1d33fae529b6 100644
@@ -2083,7 +2083,7 @@ static int mlx4_en_get_module_eeprom(struct net_device *dev,
 			en_err(priv,
 			       "mlx4_get_module_info i(%d) offset(%d) bytes_to_read(%d) - FAILED (0x%x)\n",
 			       i, offset, ee->len - i, ret);
-			return 0;
+			return ret;
 		}
 
 		i += ret;
drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +5 -2
index 2266c09b741a..a22e932a00b0 100644
@@ -637,6 +637,9 @@ static void mlx5_fw_tracer_handle_traces(struct work_struct *work)
 	if (!tracer->owner)
 		return;
 
+	if (unlikely(!tracer->str_db.loaded))
+		goto arm;
+
 	block_count = tracer->buff.size / TRACER_BLOCK_SIZE_BYTE;
 	start_offset = tracer->buff.consumer_index * TRACER_BLOCK_SIZE_BYTE;
 
@@ -694,6 +697,7 @@ static void mlx5_fw_tracer_handle_traces(struct work_struct *work)
 						      &tmp_trace_block[TRACES_PER_BLOCK - 1]);
 	}
 
+arm:
 	mlx5_fw_tracer_arm(dev);
 }
 
@@ -935,8 +939,7 @@ void mlx5_fw_tracer_event(struct mlx5_core_dev *dev, struct mlx5_eqe *eqe)
 			queue_work(tracer->work_queue, &tracer->ownership_change_work);
 		break;
 	case MLX5_TRACER_SUBTYPE_TRACES_AVAILABLE:
-		if (likely(tracer->str_db.loaded))
-			queue_work(tracer->work_queue, &tracer->handle_traces_work);
+		queue_work(tracer->work_queue, &tracer->handle_traces_work);
 		break;
 	default:
 		mlx5_core_dbg(dev, "FWTracer: Event with unrecognized subtype: sub_type %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en_main.c +5 -0
index 75872aef44d0..6ecb92f55e97 100644
@@ -4327,6 +4327,11 @@ static int mlx5e_xdp_set(struct net_device *netdev, struct bpf_prog *prog)
 
 unlock:
 	mutex_unlock(&priv->state_lock);
+
+	/* Need to fix some features. */
+	if (!err)
+		netdev_update_features(netdev);
+
 	return err;
 }
 
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c +0 -13
index 21296fa7f7fb..bf51ed94952c 100644
@@ -227,8 +227,6 @@ static int mlxsw_sp_dcbnl_ieee_setets(struct net_device *dev,
 static int mlxsw_sp_dcbnl_app_validate(struct net_device *dev,
 				       struct dcb_app *app)
 {
-	int prio;
-
 	if (app->priority >= IEEE_8021QAZ_MAX_TCS) {
 		netdev_err(dev, "APP entry with priority value %u is invalid\n",
 			   app->priority);
@@ -242,17 +240,6 @@ static int mlxsw_sp_dcbnl_app_validate(struct net_device *dev,
 				   app->protocol);
 			return -EINVAL;
 		}
-
-		/* Warn about any DSCP APP entries with the same PID. */
-		prio = fls(dcb_ieee_getapp_mask(dev, app));
-		if (prio--) {
-			if (prio < app->priority)
-				netdev_warn(dev, "Choosing priority %d for DSCP %d in favor of previously-active value of %d\n",
-					    app->priority, app->protocol, prio);
-			else if (prio > app->priority)
-				netdev_warn(dev, "Ignoring new priority %d for DSCP %d in favor of current value of %d\n",
-					    app->priority, app->protocol, prio);
-		}
 		break;
 
 	case IEEE_8021QAZ_APP_SEL_ETHERTYPE:
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +2 -2
index 2e75d0af4a58..a51661cfd27f 100644
@@ -292,8 +292,6 @@ nfp_net_get_link_ksettings(struct net_device *netdev,
 
 	/* Init to unknowns */
 	ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
-	ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
-	ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
 	cmd->base.port = PORT_OTHER;
 	cmd->base.speed = SPEED_UNKNOWN;
 	cmd->base.duplex = DUPLEX_UNKNOWN;
@@ -301,6 +299,8 @@ nfp_net_get_link_ksettings(struct net_device *netdev,
 	port = nfp_port_from_netdev(netdev);
 	eth_port = nfp_port_get_eth_port(port);
 	if (eth_port) {
+		ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
+		ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
 		cmd->base.autoneg = eth_port->aneg != NFP_ANEG_DISABLED ?
 			AUTONEG_ENABLE : AUTONEG_DISABLE;
 		nfp_net_set_fec_link_mode(eth_port, cmd);
drivers/net/phy/mdio_bus.c +0 -1
index eaa890a6a5d2..efdac68da7f4 100644
@@ -746,7 +746,6 @@ int __init mdio_bus_init(void)
 
 	return ret;
 }
-EXPORT_SYMBOL_GPL(mdio_bus_init);
 
 #if IS_ENABLED(CONFIG_PHYLIB)
 void mdio_bus_exit(void)
drivers/net/phy/micrel.c +6 -5
index 013590330059..1d00a563892a 100644
@@ -285,7 +285,7 @@ static int kszphy_config_reset(struct phy_device *phydev)
 		}
 	}
 
-	if (priv->led_mode >= 0)
+	if (priv->type && priv->led_mode >= 0)
 		kszphy_setup_led(phydev, priv->type->led_mode_reg, priv->led_mode);
 
 	return 0;
@@ -301,10 +301,10 @@ static int kszphy_config_init(struct phy_device *phydev)
 
 	type = priv->type;
 
-	if (type->has_broadcast_disable)
+	if (type && type->has_broadcast_disable)
 		kszphy_broadcast_disable(phydev);
 
-	if (type->has_nand_tree_disable)
+	if (type && type->has_nand_tree_disable)
 		kszphy_nand_tree_disable(phydev);
 
 	return kszphy_config_reset(phydev);
@@ -775,7 +775,7 @@ static int kszphy_probe(struct phy_device *phydev)
 
 	priv->type = type;
 
-	if (type->led_mode_reg) {
+	if (type && type->led_mode_reg) {
 		ret = of_property_read_u32(np, "micrel,led-mode",
 				&priv->led_mode);
 		if (ret)
@@ -796,7 +796,8 @@ static int kszphy_probe(struct phy_device *phydev)
 		unsigned long rate = clk_get_rate(clk);
 		bool rmii_ref_clk_sel_25_mhz;
 
-		priv->rmii_ref_clk_sel = type->has_rmii_ref_clk_sel;
+		if (type)
+			priv->rmii_ref_clk_sel = type->has_rmii_ref_clk_sel;
 		rmii_ref_clk_sel_25_mhz = of_property_read_bool(np,
 				"micrel,rmii-reference-clock-select-25-mhz");
 
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +1 -1
index 4d45d5a8ad2e..db583a6aeb0c 100644
@@ -5615,7 +5615,7 @@ unsigned int ar9003_get_paprd_scale_factor(struct ath_hw *ah,
 
 static u8 ar9003_get_eepmisc(struct ath_hw *ah)
 {
-	return ah->eeprom.map4k.baseEepHeader.eepMisc;
+	return ah->eeprom.ar9300_eep.baseEepHeader.opCapFlags.eepMisc;
 }
 
 const struct eeprom_ops eep_ar9300_ops = {
drivers/net/wireless/ath/ath9k/ar9003_phy.h +1 -1
index a171dbb29fbb..ad949eb02f3d 100644
@@ -720,7 +720,7 @@
 #define AR_CH0_TOP2		(AR_SREV_9300(ah) ? 0x1628c : \
 					(AR_SREV_9462(ah) ? 0x16290 : 0x16284))
 #define AR_CH0_TOP2_XPABIASLVL		(AR_SREV_9561(ah) ? 0x1e00 : 0xf000)
-#define AR_CH0_TOP2_XPABIASLVL_S	12
+#define AR_CH0_TOP2_XPABIASLVL_S	(AR_SREV_9561(ah) ? 9 : 12)
 
 #define AR_CH0_XTAL		(AR_SREV_9300(ah) ? 0x16294 : \
 				 ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x16298 : \
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +8 -0
index d567fbe79cff..3cd3f3ca1000 100644
@@ -1005,6 +1005,14 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
 		goto rx_next;
 	}
 
+	if (rxstatus->rs_keyix >= ATH_KEYMAX &&
+	    rxstatus->rs_keyix != ATH9K_RXKEYIX_INVALID) {
+		ath_dbg(common, ANY,
+			"Invalid keyix, dropping (keyix: %d)\n",
+			rxstatus->rs_keyix);
+		goto rx_next;
+	}
+
 	/* Get the RX status information */
 
 	memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
drivers/net/wireless/ath/carl9170/tx.c +3 -0
index 0cb5b58925dc..40369cb59eb5 100644
@@ -1554,6 +1554,9 @@ static struct carl9170_vif_info *carl9170_pick_beaconing_vif(struct ar9170 *ar)
 					goto out;
 			}
 		} while (ar->beacon_enabled && i--);
+
+		/* no entry found in list */
+		return NULL;
 	}
 
 out:
drivers/net/wireless/broadcom/b43/phy_n.c +1 -1
index 88446258e775..3508a7822619 100644
@@ -594,7 +594,7 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev)
 	u16 data[4];
 	s16 gain[2];
 	u16 minmax[2];
-	static const u16 lna_gain[4] = { -2, 10, 19, 25 };
+	static const s16 lna_gain[4] = { -2, 10, 19, 25 };
 
 	if (nphy->hang_avoid)
 		b43_nphy_stay_in_carrier_search(dev, 1);
drivers/net/wireless/broadcom/b43legacy/phy.c +1 -1
index 995c7d0c212a..11ee5ee48976 100644
@@ -1148,7 +1148,7 @@ void b43legacy_phy_lo_b_measure(struct b43legacy_wldev *dev)
 	struct b43legacy_phy *phy = &dev->phy;
 	u16 regstack[12] = { 0 };
 	u16 mls;
-	u16 fval;
+	s16 fval;
 	int i;
[… more lines in the raw message]

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

drivers/net/wireless/intel/ipw2x00/libipw_tx.c +1 -1
index 84205aa508df..daa4f9eb08ff 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/power.c +3 -0
index c11fe2621d51..cd19831ace57 100644

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

drivers/net/wireless/marvell/mwifiex/11h.c +2 -0
index 238accfe4f41..c4176e357b22 100644

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

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c +6 -2
index 225c1c8851cc..77bf8a601ca4 100644

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

drivers/net/wireless/realtek/rtlwifi/usb.c +1 -1
index 3d6c0d8c71d7..395671383ca9 100644

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

drivers/nfc/st21nfca/se.c +25 -7
index ced3c20d6453..52e209950c43 100644

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

drivers/nfc/st21nfca/st21nfca.h +1 -0
index 94ffb0501e87..7e2923ac9263 100644

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

drivers/nvme/host/pci.c +1 -0
index d7cf3202cdd3..b06d2b6bd3fe 100644

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

drivers/of/overlay.c +1 -3
index a77bfeac867d..fef5b6c2fae2 100644

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

drivers/pci/controller/dwc/pcie-qcom.c +4 -5
index 33e510393976..133fad284c9f 100644

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

drivers/pci/controller/pcie-cadence-ep.c +1 -2
index c3a088910f48..f6da8d562b8a 100644

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

drivers/pci/controller/pcie-rockchip-ep.c +1 -2
index caf34661d38d..06dd2ab73b6e 100644

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

drivers/pci/pci.c +7 -5
index 293b3e3b0083..48c419b306f3 100644

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

drivers/pcmcia/Kconfig +1 -1
index cbbe4a285b48..a8fdd6df6a12 100644

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

drivers/phy/qualcomm/phy-qcom-qmp.c +10 -1
index 68107611c70a..c64262f4ff11 100644

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

drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +1 -1
index e69b84d9538a..0c0f834eab82 100644

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

drivers/pwm/pwm-lp3943.c +1 -0
index 5055ba2c6c94..a5f4c39eeb21 100644

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

drivers/regulator/pfuze100-regulator.c +2 -0
index 4b8306594c3f..8b1940110561 100644

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

drivers/rpmsg/qcom_smd.c +2 -2
index aa008fa11002..f23f10887d93 100644

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

drivers/rtc/rtc-mt6397.c +2 -0
index 964ed91416e1..671b6d275da3 100644

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

drivers/scsi/dc395x.c +12 -3
index 16b9dc2fff6b..8b5a07503d5f 100644

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

drivers/scsi/fcoe/fcoe_ctlr.c +1 -1
index 658c0726581f..1e087a206f48 100644

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

drivers/scsi/megaraid.c +1 -1
index a84878fbf45d..7352d46ebb09 100644

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

drivers/scsi/ufs/ufs-qcom.c +5 -2
index 798a74535ea7..9d70ee149d3e 100644

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

drivers/scsi/ufs/ufshcd.c +6 -1
index fee1989e23f0..abc156cf05f6 100644

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

drivers/soc/qcom/smp2p.c +1 -0
index 7908e7f2850f..5721a353d95f 100644

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

drivers/soc/qcom/smsm.c +1 -0
index 2b49d2c212da..5304529b41c9 100644

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

drivers/soc/rockchip/grf.c +2 -0
index 3b81e1d75a97..3e7e999ee324 100644

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

drivers/spi/spi-img-spfi.c +1 -1
index 25a545c985d4..c63cceec6312 100644

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

drivers/spi/spi-ti-qspi.c +3 -2
index c70b1790a959..c248b1c38ca6 100644

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

drivers/staging/greybus/audio_codec.c +2 -2
index 6cbf69a57dfd..806be9d86338 100644

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

drivers/staging/rtl8192e/rtllib_softmac.c +1 -1
index 919231fec09c..5f1dd4e2d12e 100644

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

drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c +1 -1
index 212cc9ccbb96..426966a29d31 100644

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

drivers/staging/rtl8712/usb_intf.c +3 -3
index 5e2cdc25401b..2b1ff63913af 100644

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

drivers/tty/goldfish.c +2 -0
index c8c5cdfc5e19..abc84d84f638 100644

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

drivers/tty/serial/8250/8250_fintek.c +4 -4
index 79a4958b3f5c..440023069f4f 100644

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

drivers/tty/serial/digicolor-usart.c +2 -0
index 4446c13629b1..e06967ca62fa 100644

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

drivers/tty/serial/icom.c +1 -1
index ad374f7c476d..cb950c78d66d 100644

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

drivers/tty/serial/meson_uart.c +13 -0
index 8a842591b37c..1838d0be3704 100644

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

drivers/tty/serial/msm_serial.c +5 -0
index a40827956bd1..d248c43db36a 100644

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

drivers/tty/serial/sa1100.c +2 -2
index a399772be3fc..8a65fb1ce568 100644

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

drivers/tty/serial/serial_txx9.c +2 -0
index 2f7ef64536a0..8724db39e947 100644

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

drivers/tty/serial/sh-sci.c +5 -1
index 6f44c5f0ef3a..ba7f0b44b710 100644

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

drivers/tty/serial/st-asc.c +4 -0
index 7971997cdead..ce35e3a131b1 100644

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

drivers/tty/serial/stm32-usart.c +12 -3
index ccaaf804df06..bb2f6f02ce23 100644

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

drivers/tty/synclink_gt.c +2 -0
index afe34beec720..11c62fcd67f2 100644

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

drivers/tty/tty_buffer.c +2 -1
index 6b0cb633679d..dfe0c8c22cd3 100644

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

drivers/usb/core/hcd-pci.c +2 -2
index 7537681355f6..fed331d786e2 100644

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

drivers/usb/core/quirks.c +3 -0
index d5f233fa6f3b..f8f2de7899a9 100644

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

drivers/usb/dwc2/gadget.c +0 -1
index 1e46005929e4..85d25f7e9c27 100644

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

drivers/usb/dwc3/dwc3-pci.c +1 -1
index ad2cb08b440f..527938eee846 100644

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

drivers/usb/host/isp116x-hcd.c +4 -2
index 74da136d322a..361327012c78 100644

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

drivers/usb/host/oxu210hp-hcd.c +2 -0
index 10d97261b433..48533eb707e6 100644

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

drivers/usb/musb/omap2430.c +1 -0
index 24e622c05638..5f1c41e95f56 100644

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

drivers/usb/serial/option.c +2 -0
index 0699b770e058..427a38ab198b 100644

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

drivers/usb/storage/karma.c +8 -7
index edcf2be0e0eb..09c8add5108a 100644

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

drivers/usb/usbip/stub_dev.c +1 -1
index 0081c1073b08..c64964c32cc9 100644

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

drivers/usb/usbip/stub_rx.c +2 -0
index 8c55cd833098..b88eeaee637a 100644

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

drivers/vhost/vringh.c +8 -2
index 97aa9b87e572..6b2efff1c297 100644

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

drivers/video/fbdev/amba-clcd.c +4 -1
index 38c1f324ce15..549f78e77255 100644

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

drivers/video/fbdev/core/fbcon.c +3 -2
index bf7959fdf9f4..7c2582892eab 100644

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

drivers/video/fbdev/pxa3xx-gcu.c +7 -5
index 69cfb337c857..43695a33f062 100644

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

fs/afs/dir.c +4 -1
index 54e7f6f1405e..59eb92484051 100644

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

fs/binfmt_flat.c +26 -1
index e4b59e76afb0..a6f97d86fb80 100644

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

fs/btrfs/disk-io.c +2 -2
index 2ac920bdf4df..c9fd018dcf76 100644

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

fs/btrfs/volumes.c +4 -4
index 8f05e6a472c3..2b4d33b58a68 100644

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

fs/ceph/xattr.c +9 -1
index a09ce27ab220..6fa9a784676b 100644

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

fs/cifs/smb2pdu.c +3 -0
index 43478ec6fd67..3485b9bf970f 100644

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

fs/dax.c +2 -1
index d09701aa6f2f..7451efc5020c 100644

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

fs/dlm/lock.c +9 -2
index 26a4847efccc..ac53403e9edb 100644

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

fs/dlm/plock.c +5 -7
index c7d5a2ea3d03..e0c05e08d8bf 100644

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

fs/ext4/inline.c +12 -0
index e90b60470344..a2943382bf18 100644

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

fs/ext4/namei.c +67 -17

84 lines not on this page · raw message

fs/ext4/super.c +1 -0
index 6893b87c7354..bf120842a307 100644

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

fs/f2fs/segment.c +6 -3
index 0e3e590a250f..6fbf0471323e 100644

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

fs/f2fs/segment.h +20 -12
index 1f5db4cbc499..d5f9c928946f 100644

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

fs/fat/fatent.c +4 -3
index 4c6c635bc8aa..5e35307a3d6b 100644

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

fs/fs-writeback.c +8 -5
index 869a34a48958..4d687e2e2373 100644

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

fs/jffs2/fs.c +1 -0
index 81f7a6efe168..6afaace72f2b 100644

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

fs/jfs/jfs_dmap.c +2 -1
index f05805a10a50..1014f2a24697 100644

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

fs/kernfs/dir.c +19 -12
index a4a538abcaf9..99627d3438e5 100644

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

fs/nfs/nfs4proc.c +4 -0
index 759c834b60fd..f48a11fa78bb 100644

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

fs/nfs/pnfs.c +2 -0
index 0f1c15859418..a7d638bfb46b 100644

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

fs/notify/fdinfo.c +2 -9
index 86fcf5814279..74aeabbf0ea4 100644

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

fs/notify/inotify/inotify.h +12 -0
index 7e4578d35b61..5d94c00b1233 100644

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

fs/notify/inotify/inotify_user.c +1 -1
index 97a51690338e..83d0b9356844 100644

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

fs/notify/mark.c +3 -3
index 09535f6423fc..3afd58170984 100644

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

fs/ocfs2/dlmfs/userdlm.c +15 -1
index 9cecf4857195..24dbbbf13827 100644

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

fs/proc/generic.c +3 -0
index bab10368a04d..d8b3c6a7173f 100644

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

fs/proc/proc_net.c +3 -0
index 096bcc1e7a8a..68ce173d5590 100644

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

include/drm/drm_edid.h +3 -3
index 53be104aab5c..8b9678bffe7b 100644

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

include/linux/bpf.h +2 -0
index 48e6d68ec5ee..766ea96bf5b8 100644

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

include/linux/efi.h +2 -0
index 9a5d4b499271..ec89e8bcc92f 100644

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

include/linux/mailbox_controller.h +1 -0
index 74deadb42d76..5a4524f66ea1 100644

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

include/linux/mtd/cfi.h +1 -0
index 9b57a9b1b081..4ead3d1559f5 100644

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

include/linux/nodemask.h +25 -26

51 lines not on this page · raw message

include/linux/ptrace.h +0 -6
index 561feb560619..d41de55cdfb9 100644

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

include/net/if_inet6.h +8 -0
index d7578cf49c3a..3953003b0490 100644

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

include/scsi/libfcoe.h +2 -1
index eafccb2d4d6f..71a00fb2279f 100644

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

include/sound/jack.h +1 -0
index 1e84bfb553cf..4742f842b457 100644

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

include/trace/events/vmscan.h +2 -2
index a1cb91342231..7add8c87fe22 100644

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

kernel/dma/debug.c +1 -1
index 9c9a5b12f92f..7c6cd00d0fca 100644

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

kernel/ptrace.c +2 -3
index 8a98e3e78c70..bf8360e86f62 100644

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

kernel/trace/trace.c +10 -3
index 063b434c89d2..5b7a6e9b0ab6 100644

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

kernel/trace/trace_events_hist.c +3 -0
index 9741344cc0a4..e25bc917ec6c 100644

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

lib/nodemask.c +2 -2
index 3aa454c54c0d..e22647f5181b 100644

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

mm/hugetlb.c +8 -1
index 0c5a2b4e003d..45e874fafdd7 100644

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

net/bluetooth/sco.c +13 -8
index 1e0a1c0a56b5..14b5288d1432 100644

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

net/ipv4/ip_gre.c +5 -6
index 41d0f9bb5191..cf60d0e07965 100644

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

net/ipv4/tcp_input.c +7 -4
index d71326f3777c..92f5068c7680 100644

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

net/ipv4/tcp_output.c +2 -2
index 8543cd724d54..25dbdb27a571 100644

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

net/ipv4/xfrm4_protocol.c +0 -1
index 8dd0e6ab8606..0e1f5dc2766b 100644

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

net/ipv6/addrconf.c +26 -7
index 9d8b791f63ef..f261c6d7f1f2 100644

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

net/ipv6/seg6_hmac.c +0 -1
index 8546f94f30d4..a886a8f4c0cb 100644

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

net/key/af_key.c +6 -4
index 1bbb6ec89ff3..af67e0d265c0 100644

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

net/mac80211/chan.c +2 -5
index d9558ffb8acf..6d95ce1c4a27 100644

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

net/mac80211/ieee80211_i.h +5 -0
index dea48696f994..2c2532196ef6 100644

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

net/mac80211/scan.c +20 -0
index 5d2a11777718..de42bcfeda9c 100644

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

net/netfilter/nf_tables_api.c +10 -6
index 9cc8e92f4b00..ab68076d2cba 100644

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

net/netfilter/nft_dynset.c +0 -3
index 4e544044fc2d..cc076d535e14 100644

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

net/nfc/core.c +1 -0
index 54168bbc07cb..a84f824da051 100644

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

net/rxrpc/call_event.c +2 -1
index 468efc3660c0..12f5c1870103 100644

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

net/rxrpc/sendmsg.c +6 -0
index edd76c41765f..0220a2935002 100644

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

net/rxrpc/sysctl.c +2 -2
index d75bd15151e6..50f825f55c21 100644

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

net/sctp/input.c +3 -1
index 64dc2923a21b..0e2503e536ed 100644

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

net/sunrpc/xdr.c +5 -1
index 540e340e2565..34596d0e4bde 100644

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

net/sunrpc/xprtrdma/rpc_rdma.c +5 -0
index f2eaf264726b..3d65a2bccfc7 100644

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

net/tipc/bearer.c +1 -2
index e1006ed4d90a..0f970259d0d5 100644

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

net/unix/af_unix.c +1 -1
index 82279dbd2f62..e79c32942796 100644

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

net/wireless/nl80211.c +1 -0
index 2799ff117f5a..534f57363f4a 100644

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

scripts/faddr2line +97 -53

150 lines not on this page · raw message

scripts/mod/modpost.c +3 -2
index 7c693bd775c1..e294b6cff9fd 100644

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

sound/core/jack.c +27 -7
index acb531749efb..074b15fcb0ac 100644

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

sound/pci/hda/patch_conexant.c +7 -0
index 8851cd11dc9c..629857f5539c 100644

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

sound/pci/hda/patch_realtek.c +10 -0
index a5263453ea64..ed0b8ec50d71 100644

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

sound/soc/codecs/rt5514.c +1 -1
index 32fe76c3134a..0ecff512013e 100644

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

sound/soc/codecs/rt5645.c +6 -1
index 9185bd7c5a6d..d34000182f67 100644

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

sound/soc/codecs/tscs454.c +6 -6
index ff85a0bf6170..00a90ccd6566 100644

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

sound/soc/codecs/wm2000.c +3 -3
index c5ae07234a00..cad39f63b763 100644

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

sound/soc/mediatek/mt2701/mt2701-wm8960.c +7 -2
index 89f34efd9747..a5ede216b795 100644

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

sound/soc/mediatek/mt8173/mt8173-max98090.c +4 -1
index 431ba3db1759..c9fc719c2af9 100644

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

sound/soc/mxs/mxs-saif.c +1 -0
index 93c019670199..6d0ab4e75518 100644

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

sound/soc/soc-dapm.c +0 -2
index af9f28dd957d..4d70e6bc2c12 100644

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

tools/perf/builtin-c2c.c +6 -4
index 2bd39fdc8ab0..f3c142bd1a11 100644

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

tools/perf/pmu-events/jevents.c +1 -1
index 31331c42b0e3..0f5a63026d21 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.