Linux 4.19.164
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.19.164 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/admin-guide/kernel-parameters.txt | 1 Makefile | 5 arch/arc/kernel/stacktrace.c | 23 ++- arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 5 arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts | 4 arch/arm/boot/dts/at91-sama5d3_xplained.dts | 7 + arch/arm/boot/dts/at91-sama5d4_xplained.dts | 7 + arch/arm/boot/dts/at91sam9rl.dtsi | 19 +- arch/arm/boot/dts/exynos5410-odroidxu.dts | 6 arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 28 ++++ arch/arm/boot/dts/exynos5410.dtsi | 4 arch/arm/boot/dts/omap4-panda-es.dts | 2 arch/arm/boot/dts/sama5d2.dtsi | 7 - arch/arm/boot/dts/sun8i-v3s.dtsi | 2 arch/arm/kernel/head.S | 6 arch/arm/mach-shmobile/pm-rmobile.c | 1 arch/arm/mach-sunxi/sunxi.c | 1 arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 2 arch/arm64/boot/dts/exynos/exynos7.dtsi | 12 - arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 1 arch/arm64/boot/dts/rockchip/rk3328.dtsi | 16 +- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 3 arch/arm64/include/asm/atomic_lse.h | 76 ++++++++-- arch/arm64/include/asm/kvm_host.h | 1 arch/arm64/include/asm/lse.h | 6 arch/arm64/kernel/syscall.c | 2 arch/arm64/kvm/sys_regs.c | 1 arch/arm64/lib/memcpy.S | 3 arch/arm64/lib/memmove.S | 3 arch/arm64/lib/memset.S | 3 arch/mips/bcm47xx/Kconfig | 1 arch/powerpc/Makefile | 1 arch/powerpc/include/asm/book3s/32/pgtable.h | 4 arch/powerpc/include/asm/cputable.h | 5 arch/powerpc/include/asm/nohash/pgtable.h | 4 arch/powerpc/kernel/head_64.S | 8 - arch/powerpc/kernel/rtas.c | 2 arch/powerpc/kernel/setup-common.c | 4 arch/powerpc/perf/core-book3s.c | 10 + arch/powerpc/platforms/powernv/memtrace.c | 44 +++++- arch/powerpc/platforms/pseries/suspend.c | 4 arch/powerpc/xmon/nonstdio.c | 2 arch/s390/kernel/smp.c | 18 -- arch/s390/purgatory/head.S | 9 - arch/um/drivers/chan_user.c | 4 arch/um/drivers/xterm.c | 5 arch/um/os-Linux/irq.c | 2 arch/x86/include/asm/apic.h | 1 arch/x86/include/asm/pgtable_types.h | 1 arch/x86/include/asm/sync_core.h | 9 - arch/x86/kernel/apic/apic.c | 14 +- arch/x86/kernel/apic/vector.c | 24 ++- arch/x86/kernel/apic/x2apic_phys.c | 9 + arch/x86/kernel/cpu/intel_rdt.h | 2 arch/x86/kernel/cpu/intel_rdt_monitor.c | 7 - arch/x86/kernel/kprobes/core.c | 5 arch/x86/lib/memcpy_64.S | 6 arch/x86/lib/memmove_64.S | 4 arch/x86/lib/memset_64.S | 6 arch/x86/mm/ident_map.c | 12 + arch/x86/mm/mem_encrypt_identity.c | 4 arch/x86/mm/tlb.c | 10 + block/blk-mq.c | 29 ++-- crypto/af_alg.c | 10 + crypto/ecdh.c | 9 - drivers/acpi/acpi_pnp.c | 3 drivers/acpi/device_pm.c | 41 +---- drivers/acpi/resource.c | 2 drivers/block/xen-blkback/xenbus.c | 4 drivers/bluetooth/hci_h5.c | 3 drivers/bus/fsl-mc/fsl-mc-allocator.c | 4 drivers/bus/mips_cdmm.c | 4 drivers/clk/clk-s2mps11.c | 1 drivers/clk/mvebu/armada-37xx-xtal.c | 4 drivers/clk/renesas/r9a06g032-clocks.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 1 drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 1 drivers/clk/tegra/clk-id.h | 1 drivers/clk/tegra/clk-tegra-periph.c | 2 drivers/clk/ti/fapll.c | 11 + drivers/clocksource/arm_arch_timer.c | 23 ++- drivers/clocksource/cadence_ttc_timer.c | 18 +- drivers/cpufreq/highbank-cpufreq.c | 7 + drivers/cpufreq/loongson1-cpufreq.c | 1 drivers/cpufreq/mediatek-cpufreq.c | 1 drivers/cpufreq/scpi-cpufreq.c | 1 drivers/cpufreq/sti-cpufreq.c | 7 + drivers/crypto/amcc/crypto4xx_core.c | 2 drivers/crypto/inside-secure/safexcel.c | 2 drivers/crypto/omap-aes.c | 3 drivers/crypto/qat/qat_common/qat_hal.c | 2 drivers/crypto/talitos.c | 10 - drivers/dma/mv_xor_v2.c | 4 drivers/edac/amd64_edac.c | 26 ++- drivers/extcon/extcon-max77693.c | 2 drivers/gpio/gpio-eic-sprd.c | 2 drivers/gpio/gpio-mvebu.c | 16 +- drivers/gpu/drm/drm_dp_aux_dev.c | 2 drivers/gpu/drm/drm_dp_mst_topology.c | 7 - drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c | 8 + drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 drivers/gpu/drm/tegra/drm.c | 2 drivers/gpu/drm/tegra/sor.c | 10 + drivers/gpu/drm/tve200/tve200_drv.c | 4 drivers/gpu/drm/xen/xen_drm_front.c | 2 drivers/gpu/drm/xen/xen_drm_front_gem.c | 8 - drivers/gpu/drm/xen/xen_drm_front_kms.c | 2 drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c | 8 + drivers/hsi/controllers/omap_ssi_core.c | 2 drivers/hwtracing/coresight/coresight-tmc-etr.c | 2 drivers/iio/adc/rockchip_saradc.c | 2 drivers/iio/imu/bmi160/bmi160_core.c | 4 drivers/iio/industrialio-buffer.c | 6 drivers/iio/light/rpr0521.c | 17 +- drivers/iio/light/st_uvis25.h | 5 drivers/iio/light/st_uvis25_core.c | 8 - drivers/iio/pressure/mpl3115.c | 9 + drivers/infiniband/core/cm.c | 2 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 1 drivers/infiniband/hw/cxgb4/cq.c | 3 drivers/infiniband/hw/mthca/mthca_cq.c | 2 drivers/infiniband/hw/mthca/mthca_dev.h | 1 drivers/infiniband/sw/rxe/rxe_req.c | 3 drivers/input/keyboard/cros_ec_keyb.c | 1 drivers/input/keyboard/omap4-keypad.c | 89 +++++++----- drivers/input/misc/cm109.c | 7 - drivers/input/mouse/cyapa_gen6.c | 2 drivers/input/serio/i8042-x86ia64io.h | 42 ++++++ drivers/input/touchscreen/ads7846.c | 52 ++++--- drivers/input/touchscreen/goodix.c | 12 + drivers/irqchip/irq-alpine-msi.c | 3 drivers/irqchip/irq-gic-v3-its.c | 16 -- drivers/md/dm-ioctl.c | 1 drivers/md/dm-table.c | 6 drivers/md/md-cluster.c | 67 +++++---- drivers/md/md.c | 21 ++- drivers/media/common/siano/smsdvb-main.c | 5 drivers/media/i2c/max2175.c | 2 drivers/media/pci/intel/ipu3/ipu3-cio2.c | 62 ++++---- drivers/media/pci/intel/ipu3/ipu3-cio2.h | 1 drivers/media/pci/netup_unidvb/netup_unidvb_spi.c | 5 drivers/media/pci/saa7146/mxb.c | 19 +- drivers/media/pci/solo6x10/solo6x10-g723.c | 2 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 1 drivers/media/rc/sunxi-cir.c | 2 drivers/media/usb/gspca/gspca.c | 1 drivers/media/usb/msi2500/msi2500.c | 2 drivers/media/usb/tm6000/tm6000-video.c | 5 drivers/memstick/core/memstick.c | 1 drivers/memstick/host/r592.c | 12 + drivers/mmc/core/block.c | 2 drivers/mtd/cmdlinepart.c | 14 +- drivers/mtd/nand/raw/qcom_nandc.c | 2 drivers/mtd/nand/spi/core.c | 4 drivers/net/can/softing/softing_main.c | 9 + drivers/net/ethernet/allwinner/sun4i-emac.c | 7 - drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 24 ++- drivers/net/ethernet/korina.c | 2 drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 21 ++- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 40 ++++- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 12 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 6 drivers/net/ethernet/microchip/lan743x_ethtool.c | 9 - drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 1 drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 6 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 27 +++ drivers/net/vxlan.c | 3 drivers/net/wireless/ath/ath10k/usb.c | 7 - drivers/net/wireless/ath/ath10k/wmi-tlv.c | 4 drivers/net/wireless/ath/ath10k/wmi.c | 9 + drivers/net/wireless/ath/ath10k/wmi.h | 1 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 2 drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 36 +++-- drivers/net/wireless/intersil/orinoco/orinoco_usb.c | 14 +- drivers/net/wireless/marvell/mwifiex/main.c | 2 drivers/net/wireless/st/cw1200/main.c | 2 drivers/net/xen-netback/xenbus.c | 6 drivers/nfc/s3fwrn5/firmware.c | 4 drivers/nvdimm/label.c | 13 + drivers/pci/controller/dwc/pcie-qcom.c | 12 + drivers/pci/controller/pcie-iproc.c | 10 - drivers/pci/pci-acpi.c | 4 drivers/pci/pci.c | 14 +- drivers/pci/slot.c | 6 drivers/pinctrl/intel/pinctrl-baytrail.c | 8 + drivers/pinctrl/intel/pinctrl-merrifield.c | 8 + drivers/pinctrl/pinctrl-amd.c | 7 - drivers/pinctrl/pinctrl-falcon.c | 14 +- drivers/pinctrl/sunxi/pinctrl-sunxi.c | 6 drivers/platform/x86/acer-wmi.c | 1 drivers/platform/x86/dell-smbios-base.c | 1 drivers/platform/x86/intel-vbtn.c | 12 + drivers/platform/x86/mlx-platform.c | 27 +-- drivers/platform/x86/thinkpad_acpi.c | 10 + drivers/power/supply/axp288_charger.c | 28 ++-- drivers/power/supply/bq24190_charger.c | 20 ++ drivers/ps3/ps3stor_lib.c | 2 drivers/pwm/pwm-lp3943.c | 1 drivers/pwm/pwm-zx.c | 1 drivers/s390/block/dasd_alias.c | 22 ++- drivers/scsi/be2iscsi/be_main.c | 4 drivers/scsi/bnx2i/Kconfig | 1 drivers/scsi/fnic/fnic_main.c | 1 drivers/scsi/lpfc/lpfc_mem.c | 6 drivers/scsi/lpfc/lpfc_sli.c | 10 + drivers/scsi/megaraid/megaraid_sas_base.c | 16 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 2 drivers/scsi/pm8001/pm8001_init.c | 3 drivers/scsi/qedi/qedi_main.c | 4 drivers/scsi/scsi_lib.c | 126 ++++++++++++------ drivers/scsi/ufs/ufshcd.c | 7 + drivers/slimbus/qcom-ngd-ctrl.c | 6 drivers/soc/fsl/dpio/dpio-driver.c | 5 drivers/soc/mediatek/mtk-scpsys.c | 5 drivers/soc/qcom/qcom-geni-se.c | 17 ++ drivers/soc/qcom/smp2p.c | 5 drivers/soc/tegra/fuse/speedo-tegra210.c | 2 drivers/soc/ti/knav_dma.c | 13 + drivers/soc/ti/knav_qmss_queue.c | 4 drivers/spi/spi-bcm2835aux.c | 17 -- drivers/spi/spi-bcm63xx-hsspi.c | 4 drivers/spi/spi-davinci.c | 2 drivers/spi/spi-img-spfi.c | 4 drivers/spi/spi-mxs.c | 1 drivers/spi/spi-pic32.c | 1 drivers/spi/spi-rb4xx.c | 2 drivers/spi/spi-sc18is602.c | 13 - drivers/spi/spi-sh.c | 13 - drivers/spi/spi-st-ssc4.c | 5 drivers/spi/spi-tegra114.c | 2 drivers/spi/spi-tegra20-sflash.c | 1 drivers/spi/spi-tegra20-slink.c | 2 drivers/spi/spi-ti-qspi.c | 1 drivers/spi/spi.c | 19 +- drivers/staging/comedi/drivers/mf6x4.c | 3 drivers/staging/gasket/gasket_interrupt.c | 15 +- drivers/staging/greybus/audio_codec.c | 2 drivers/staging/mt7621-spi/spi-mt7621.c | 2 drivers/staging/speakup/speakup_dectlk.c | 2 drivers/tty/serial/8250/8250_omap.c | 5 drivers/tty/serial/serial_core.c | 4 drivers/usb/chipidea/ci_hdrc_imx.c | 3 drivers/usb/core/quirks.c | 3 drivers/usb/gadget/function/f_acm.c | 2 drivers/usb/gadget/function/f_fs.c | 5 drivers/usb/gadget/function/f_midi.c | 6 drivers/usb/gadget/function/f_rndis.c | 4 drivers/usb/gadget/udc/dummy_hcd.c | 2 drivers/usb/host/ehci-omap.c | 1 drivers/usb/host/max3421-hcd.c | 3 drivers/usb/host/oxu210hp-hcd.c | 4 drivers/usb/host/xhci-hub.c | 4 drivers/usb/misc/sisusbvga/Kconfig | 2 drivers/usb/serial/digi_acceleport.c | 45 +----- drivers/usb/serial/keyspan_pda.c | 63 ++++----- drivers/usb/serial/mos7720.c | 2 drivers/usb/serial/option.c | 23 +++ drivers/usb/storage/uas.c | 3 drivers/usb/storage/unusual_uas.h | 7 - drivers/usb/storage/usb.c | 3 drivers/vfio/pci/vfio_pci.c | 4 drivers/video/fbdev/atmel_lcdfb.c | 2 drivers/watchdog/Kconfig | 3 drivers/watchdog/qcom-wdt.c | 2 drivers/watchdog/sprd_wdt.c | 34 ++-- drivers/watchdog/watchdog_core.c | 22 +-- drivers/xen/xen-pciback/xenbus.c | 2 drivers/xen/xenbus/xenbus.h | 2 drivers/xen/xenbus/xenbus_client.c | 8 + drivers/xen/xenbus/xenbus_probe.c | 1 drivers/xen/xenbus/xenbus_probe_backend.c | 7 + drivers/xen/xenbus/xenbus_xs.c | 34 +++- fs/ceph/caps.c | 11 + fs/cifs/smb2ops.c | 3 fs/cifs/smb2pdu.c | 7 - fs/cifs/smb2pdu.h | 14 +- fs/ext4/inode.c | 19 ++ fs/ext4/mballoc.c | 1 fs/jffs2/readinode.c | 16 ++ fs/jfs/jfs_dmap.h | 2 fs/lockd/host.c | 20 +- fs/nfs/inode.c | 2 fs/nfs/nfs4proc.c | 10 + fs/nfs_common/grace.c | 6 fs/nfsd/nfssvc.c | 3 fs/quota/quota_v2.c | 19 ++ fs/ubifs/io.c | 13 + include/acpi/acpi_bus.h | 5 include/linux/build_bug.h | 5 include/linux/compiler-clang.h | 1 include/linux/compiler-gcc.h | 19 -- include/linux/compiler.h | 18 ++ include/linux/netfilter/x_tables.h | 5 include/linux/security.h | 2 include/linux/seq_buf.h | 2 include/linux/sunrpc/xprt.h | 1 include/linux/trace_seq.h | 4 include/linux/usb_usual.h | 2 include/uapi/linux/if_alg.h | 16 ++ include/xen/xenbus.h | 15 ++ kernel/cpu.c | 6 kernel/irq/irqdomain.c | 11 + kernel/sched/core.c | 6 kernel/sched/deadline.c | 5 kernel/sched/sched.h | 42 ++---- net/bluetooth/hci_event.c | 17 +- net/bridge/br_vlan.c | 4 net/core/lwt_bpf.c | 8 - net/ipv4/netfilter/arp_tables.c | 14 +- net/ipv4/netfilter/ip_tables.c | 14 +- net/ipv4/tcp_input.c | 3 net/ipv4/tcp_output.c | 9 - net/ipv6/netfilter/ip6_tables.c | 14 +- net/mac80211/mesh_pathtbl.c | 4 net/mac80211/vht.c | 14 +- net/netfilter/x_tables.c | 49 ++----- net/sunrpc/xprt.c | 65 +++++++-- net/sunrpc/xprtrdma/module.c | 1 net/sunrpc/xprtrdma/transport.c | 1 net/sunrpc/xprtsock.c | 4 net/wireless/nl80211.c | 2 net/xdp/xsk.c | 8 - samples/bpf/lwt_len_hist.sh | 2 scripts/checkpatch.pl | 2 scripts/kconfig/preprocess.c | 2 security/integrity/ima/ima_crypto.c | 20 -- security/selinux/hooks.c | 16 +- sound/core/oss/pcm_oss.c | 28 ++-- sound/pci/hda/hda_codec.c | 2 sound/pci/hda/hda_sysfs.c | 2 sound/pci/hda/patch_ca0132.c | 2 sound/pci/hda/patch_realtek.c | 4 sound/soc/codecs/wm8997.c | 2 sound/soc/codecs/wm8998.c | 4 sound/soc/codecs/wm_adsp.c | 5 sound/soc/jz4740/jz4740-i2s.c | 4 sound/soc/meson/Kconfig | 2 sound/soc/soc-pcm.c | 2 sound/usb/clock.c | 6 sound/usb/format.c | 2 sound/usb/quirks.c | 1 sound/usb/stream.c | 6 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 8 - tools/perf/util/cs-etm.c | 29 +++- tools/perf/util/cs-etm.h | 10 + tools/perf/util/parse-regs-options.c | 2 tools/testing/ktest/ktest.pl | 7 - tools/testing/selftests/bpf/test_offload.py | 1 350 files changed, 2087 insertions(+), 1115 deletions(-)
Alan Stern (1):
media: gspca: Fix memory leak in probe
Alexander Sverdlin (1):
serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
Alexandre Belloni (1):
ARM: dts: at91: at91sam9rl: fix ADC triggers
Alexey Kardashevskiy (1):
serial_core: Check for port state when tty is in error state
Amadej Kastelic (1):
ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
Anant Thazhemadam (1):
Bluetooth: hci_h5: fix memory leak in h5_close
Andy Lutomirski (1):
x86/membarrier: Get rid of a dubious optimization
Andy Shevchenko (2):
pinctrl: merrifield: Set default bias in case no particular value given
pinctrl: baytrail: Avoid clearing debounce value when turning it off
Anmol Karn (1):
Bluetooth: Fix null pointer dereference in hci_event_packet()
Ansuel Smith (1):
PCI: qcom: Add missing reset for ipq806x
Anton Ivanov (3):
um: Monitor error events in IRQ controller
um: tty: Fix handling of close in tty lines
um: chan_xterm: Fix fd leak
Antti Palosaari (1):
media: msi2500: assign SPI bus number dynamically
Ard Biesheuvel (2):
ARM: p2v: fix handling of LPAE translation in BE mode
crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
Arnd Bergmann (7):
kbuild: avoid static_assert for genksyms
scsi: megaraid_sas: Check user-provided offsets RDMa/mthca: Work around -Wenum-conversion warning
seq_buf: Avoid type mismatch for seq_buf_init
watchdog: coh901327: add COMMON_CLK dependency
Input: cyapa_gen6 - fix out-of-bounds stack access platform/x86: mlx-platform: remove an unused variable
Artem Lapkin (1):
arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
Arvind Sankar (3):
x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP compiler.h: fix barrier_data() on clang x86/mm/ident_map: Check for errors from ident_pud_init()
Athira Rajeev (1):
powerpc/perf: Exclude kernel samples while counting events in user space.
Baruch Siach (1):
gpio: mvebu: fix potential user-after-free on probe
Bean Huo (1):
mmc: block: Fixup condition for CMD13 polling for RPMB requests
Bharat Gooty (1):
PCI: iproc: Fix out-of-bound array accesses
Bjorn Andersson (1):
slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
Bjorn Helgaas (1):
PCI: Bounds-check command-line resource alignment requests
Björn Töpel (1):
ixgbe: avoid premature Rx buffer reuse
Bob Pearson (1):
RDMA/rxe: Compute PSN windows correctly
Bongsu Jeon (1):
nfc: s3fwrn5: Release the nfc firmware
Borislav Petkov (1):
EDAC/amd64: Fix PCI component registration
Bui Quang Minh (1):
USB: dummy-hcd: Fix uninitialized array use in init()
Calum Mackay (1):
lockd: don't use interval-based rebinding over TCP
Can Guo (1):
scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
Carlos Garnacho (1):
platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
Cezary Rojewski (1):
ASoC: pcm: DRAIN support reactivation
Chen-Yu Tsai (2):
arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
arm64: dts: rockchip: Fix UART pull-ups on rk3328
Cheng Lin (1):
nfs_common: need lock during iterate through the list
Chris Chiu (4):
Input: i8042 - add Acer laptops to the i8042 reset list
ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
ALSA: hda/realtek: Apply jack fixup for Quanta NL3
Chris Packham (1):
ARM: dts: Remove non-existent i2c1 from 98dx3236
Christophe JAILLET (5):
ath10k: Fix an error handling path
ath10k: Release some resources in an error handling path
net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
clk: s2mps11: Fix a resource leak in error handling paths in the probe function
Christophe Leroy (4):
crypto: talitos - Endianess in current_desc_hdr()
crypto: talitos - Fix return type of current_desc_hdr() powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 powerpc/xmon: Change printk() to pr_cont()
Chuhong Yuan (1):
ASoC: jz4740-i2s: add missed checks for clk_get()
Chunguang Xu (1):
ext4: fix a memory leak of ext4_free_data
Chunyan Zhang (1):
gpio: eic-sprd: break loop when getting NULL device resource
Claudiu Beznea (1):
ARM: dts: at91: sama5d2: map securam as device
Coiby Xu (1):
pinctrl: amd: remove debounce filter setting in IRQ type setting
Colin Ian King (3):
crypto: inside-secure - Fix sizeof() mismatch
media: tm6000: Fix sizeof() mismatches
PCI: Fix overflow in command-line resource alignment requests
Connor McAdams (1):
ALSA: hda/ca0132 - Change Input Source enum strings.
Cristian Birsan (2):
ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
Dae R. Jeong (1):
md: fix a warning caused by a race between concurrent md_ioctl()s
Dan Carpenter (6):
scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
media: max2175: fix max2175_set_csm_mode() error code
media: saa7146: fix array overflow in vidioc_s_audio()
ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
qlcnic: Fix error code in probe
Dan Williams (1):
libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
Daniel Scally (1):
Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
Daniel T. Lee (1):
samples: bpf: Fix lwt_len_hist reusing previous BPF map
Dave Kleikamp (1):
jfs: Fix array index bounds check in dbAdjTree
David Hildenbrand (2):
powerpc/powernv/memtrace: Don't leak kernel memory to user space powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
David Jander (1):
Input: ads7846 - fix race that causes missing releases
David Woodhouse (1):
x86/apic: Fix x2apic enablement without interrupt remapping
Deepak R Varma (1):
drm/tegra: replace idr_init() by idr_init_base()
Dmitry Baryshkov (1):
drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
Dmitry Osipenko (1):
clk: tegra: Fix duplicated SE clock entry
Dmitry Torokhov (3):
Input: cm109 - do not stomp on control URB
Input: ads7846 - fix unaligned access on 7845
Input: cros_ec_keyb - send 'scancodes' in addition to key events
Dongdong Wang (1):
lwt: Disable BH too in run_lwt_bpf()
Douglas Anderson (1):
soc: qcom: geni: More properly switch to DMA mode
Dwaipayan Ray (1):
checkpatch: fix unescaped left brace
Eric Biggers (1):
crypto: af_alg - avoid undefined behavior accessing salg_name
Eric Dumazet (2):
mac80211: mesh: fix mesh_pathtbl_init() error path
tcp: select sane initial rcvq_space.space for big MSS
Evan Green (1):
soc: qcom: smp2p: Safely acquire spinlock without IRQs
Fabio Estevam (1):
usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
Fangrui Song (2):
x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
Fugang Duan (2):
net: stmmac: free tx skb buffer in stmmac_resume()
net: stmmac: delete the eee_ctrl_timer after napi disabled
Geert Uytterhoeven (1):
clk: renesas: r9a06g032: Drop __packed for portability
Greg Kroah-Hartman (1):
Linux 4.19.164
Guenter Roeck (1):
watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
H. Nikolaus Schaller (1):
ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
Hans de Goede (3):
platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
Hao Si (1):
soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
Hui Wang (1):
ACPI: PNP: compare the string length in the matching_id()
Ian Abbott (1):
staging: comedi: mf6x4: Fix AI end-of-conversion detection
Icenowy Zheng (1):
ARM: dts: sun8i: v3s: fix GIC node memory range
Jack Pham (1):
usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
Jack Xu (1):
crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
James Morse (1):
x86/resctrl: Remove unused struct mbm_state::chunks_bw
James Smart (2):
scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
Jan Kara (2):
quota: Sanity-check quota file headers on load
ext4: fix deadlock with fs freezing and EA inodes
Jason Gunthorpe (1):
vfio-pci: Use io_remap_pfn_range() for PCI IO memory
Jernej Skrabec (1):
clk: sunxi-ng: Make sure divider tables have sentinel
Jerome Brunet (1):
ASoC: meson: fix COMPILE_TEST error
Jing Xiangfeng (3):
staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
memstick: r592: Fix error return in r592_probe()
Joel Stanley (1):
ARM: dts: aspeed: s2600wf: Fix VGA memory region location
Johan Hovold (9):
USB: serial: option: add interface-number sanity check to flag handling
USB: serial: mos7720: fix parallel-port state restore
USB: serial: digi_acceleport: fix write-wakeup deadlocks
USB: serial: keyspan_pda: fix dropped unthrottle interrupts
USB: serial: keyspan_pda: fix write deadlock
USB: serial: keyspan_pda: fix stalled writes
USB: serial: keyspan_pda: fix write-wakeup use-after-free
USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
USB: serial: keyspan_pda: fix write unthrottling
Johannes Berg (2):
iwlwifi: pcie: limit memory read spin time
mac80211: don't set set TDLS STA bandwidth wider than possible
Johannes Thumshirn (1):
block: factor out requeue handling from dispatch code
Jonathan Cameron (4):
iio:light:rpr0521: Fix timestamp alignment and prevent data leak. iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. iio:pressure:mpl3115: Force alignment of buffer iio:imu:bmi160: Fix too large a buffer.
Jordan Niethe (1):
powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
Jubin Zhong (1):
PCI: Fix pci_slot_release() NULL pointer dereference
Julian Sax (1):
HID: i2c-hid: add Vero K147 to descriptor override
Kamal Heib (2):
RDMA/bnxt_re: Set queue pair state when being queried RDMA/cxgb4: Validate the number of CQEs
Keita Suzuki (1):
media: siano: fix memory leak of debugfs members in smsdvb_hotplug
Keqian Zhu (1):
clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
Krzysztof Kozlowski (4):
ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU drm/tve200: Fix handling of platform_get_irq() error
Leo Yan (2):
perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata perf cs-etm: Move definition of 'traceid_list' global variable from header file
Leon Romanovsky (2):
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait net/mlx5: Properly convey driver version to firmware
Li Jun (1):
xhci: Give USB2 ports time to enter U3 in bus suspend
Lingling Xu (2):
watchdog: sprd: remove watchdog disable from resume fail path
watchdog: sprd: check busy bit before new loading rather than after that
Lokesh Vutla (1):
pwm: lp3943: Dynamically allocate PWM chip base
Luc Van Oostenryck (1):
xsk: Fix xsk_poll()'s return type
Luis Henriques (1):
ceph: fix race in concurrent __ceph_remove_cap invocations
Lukas Wunner (8):
spi: bcm2835aux: Fix use-after-free on unbind
media: netup_unidvb: Don't leak SPI master in probe error path
spi: spi-sh: Fix use-after-free on unbind
spi: davinci: Fix use-after-free on unbind
spi: pic32: Don't leak DMA channels in probe error path
spi: rb4xx: Don't leak SPI master in probe error path
spi: sc18is602: Don't leak SPI master in probe error path
spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
Manivannan Sadhasivam (1):
watchdog: qcom: Avoid context switch in restart handler
Mao Jinlong (1):
coresight: tmc-etr: Check if page is valid before dma_map_page()
Marc Zyngier (3):
genirq/irqdomain: Don't try to free an interrupt that has no mapping irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
Marek Szyprowski (1):
extcon: max77693: Fix modalias string
Mark Rutland (1):
arm64: syscall: exit userspace before unmasking exceptions
Markus Reichl (1):
arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
Martin Blumenstingl (1):
net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
Martin Wilck (1):
scsi: core: Fix VPD LUN ID designator priorities
Masahiro Yamada (1):
kconfig: fix return value of do_error_if()
Masami Hiramatsu (1):
x86/kprobes: Restore BTF if the single-stepping is cancelled
Mathieu Desnoyers (1):
powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
Max Verevkin (1):
platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
Michael Ellerman (1):
powerpc: Drop -me200 addition to build flags
Miquel Raynal (1):
mtd: spinand: Fix OOB read
Moshe Shemesh (2):
net/mlx4_en: Avoid scheduling restart task if it is already running net/mlx4_en: Handle TX error CQE
Nathan Chancellor (2):
spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
Nathan Lynch (2):
powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops powerpc/pseries/hibernation: remove redundant cacheinfo update
Neal Cardwell (1):
tcp: fix cwnd-limited bug for TSO deferral where we send nothing
Necip Fazil Yildiran (1):
MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
NeilBrown (1):
NFS: switch nfsiod to be an UNBOUND workqueue.
Nicholas Piggin (1):
kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
Nick Desaulniers (1):
Kbuild: do not emit debug info for assembly with LLVM_IAS=1
Nicolas Boichat (1):
soc: mediatek: Check if power domains can be powered on at boot time
Nicolas Ferre (1):
ARM: dts: at91: sama5d2: fix CAN message ram offset and size
Nicolin Chen (1):
soc/tegra: fuse: Fix index bug in get_process_id
Nuno Sá (1):
iio: buffer: Fix demux update
Oleksandr Andrushchenko (1):
drm/xen-front: Fix misused IS_ERR_OR_NULL checks
Oleksij Rempel (1):
Input: ads7846 - fix integer overflow on Rt calculation
Olga Kornievskaia (1):
NFSv4.2: condition READDIR's mask for security label based on LSM state
Oliver Neukum (2):
USB: add RESET_RESUME quirk for Snapscan 1212
USB: UAS: introduce a quirk to set no_write_same
Pali Rohár (5):
cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
cpufreq: st: Add missing MODULE_DEVICE_TABLE
cpufreq: loongson1: Add missing MODULE_ALIAS
cpufreq: scpi: Add missing MODULE_ALIAS
Paul Kocialkowski (1):
ARM: sunxi: Add machine match for the Allwinner V3 SoC
Paul Moore (1):
selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
Pawel Wieczorkiewicz (1):
xen-blkback: set ring->xenblkd to NULL after kthread_stop()
Paweł Chmiel (2):
arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
arm64: dts: exynos: Correct psci compatible used on Exynos7
Peilin Ye (1):
Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
Peng Liu (1):
sched/deadline: Fix sched_dl_global_validate()
Philipp Rudo (1):
s390/kexec_file: fix diag308 subcode when loading crash kernel
Praveenkumar I (1):
mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
Qinglang Miao (11):
drm/tegra: sor: Disable clocks on error in tegra_sor_init()
spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
media: solo6x10: fix missing snd_card_free in error handling case
memstick: fix a double-free bug in memstick_check
cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
dm ioctl: fix error return code in target_message
scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
Rafael J. Wysocki (1):
PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
Rakesh Pillai (1):
ath10k: Fix the parsing error in service available event
Randy Dunlap (1):
scsi: bnx2i: Requires MMU
Richard Weinberger (1):
ubifs: wbuf: Don't leak kernel memory to flash
Roberto Sassu (1):
ima: Don't modify file descriptor mode on the fly
Sakari Ailus (5):
media: ipu3-cio2: Remove traces of returned buffers
media: ipu3-cio2: Return actual subdev format
media: ipu3-cio2: Serialise access to pad format
media: ipu3-cio2: Validate mbus format in setting subdev format
media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
Sami Tolvanen (1):
arm64: lse: fix LSE atomics with LLVM's integrated assembler
Sara Sharon (2):
iwlwifi: mvm: fix kernel panic in case of assert during CSA
cfg80211: initialize rekey_data
Sean Young (1):
media: sunxi-cir: ensure IR is handled when it is continuous
Sebastian Andrzej Siewior (1):
orinoco: Move context allocation after processing the skb
SeongJae Park (5):
xen/xenbus: Allow watches discard events before queueing xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() xen/xenbus/xen_bus_type: Support will_handle watch callback xen/xenbus: Count pending messages for each watch xenbus/xenbus_backend: Disallow pending watch messages
Serge Hallyn (1):
fix namespaced fscaps when !CONFIG_SECURITY
Sergej Bauer (1):
lan743x: fix for potential NULL pointer dereference with bare card
Simon Beginn (1):
Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
Sreekanth Reddy (1):
scsi: mpt3sas: Increase IOCInit request timeout to 30s
Stefan Haberland (4):
s390/dasd: fix hanging device offline processing s390/dasd: prevent inconsistent LCU device data s390/dasd: fix list corruption of pavgroup group list s390/dasd: fix list corruption of lcu list
Steve French (2):
SMB3: avoid confusing warning message on mount to Azure SMB3.1.1: do not log warning message if server doesn't populate salt
Steven Rostedt (VMware) (1):
ktest.pl: If size of log is too big to email, email error message
Subash Abhinov Kasiviswanathan (1):
netfilter: x_tables: Switch synchronization to RCU
Sven Eckelmann (3):
vxlan: Add needed_headroom for lower device
vxlan: Copy needed_tailroom from lowerdev
mtd: parser: cmdline: Fix parsing of part-names with colons
Sven Schnelle (1):
s390/smp: perform initial CPU reset also for SMT siblings
Takashi Iwai (7):
ALSA: usb-audio: Fix potential out-of-bounds shift
ALSA: usb-audio: Fix control 'access overflow' errors from chmap
ALSA: pcm: oss: Fix potential out-of-bounds shift
ALSA: hda: Fix regressions on clear and reconfig sysfs
ALSA: pcm: oss: Fix a few more UBSAN fixes
ALSA: hda/realtek: Add quirk for MSI-GP73
ALSA: usb-audio: Disable sample read check if firmware doesn't give back
Terry Zhou (1):
clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
Thomas Gleixner (4):
x86/apic/vector: Fix ordering in vector assignment
USB: sisusbvga: Make console support depend on BROKEN dm table: Remove BUG_ON(in_interrupt())
sched: Reenable interrupts in do_sched_yield()
Tianyue Ren (1):
selinux: fix error initialization in inode_doinit_with_dentry()
Timo Witte (1):
platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
Toke Høiland-Jørgensen (1):
selftests/bpf/test_offload.py: Reset ethtool features after failed setting
Tom Rix (1):
drm/gma500: fix double free of gma_connector
Trond Myklebust (1):
SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
Tsuchiya Yuto (1):
mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
Tyrel Datwyler (1):
powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
Uwe Kleine-König (2):
spi: fix resource leak for drivers without .remove callback
pwm: zx: Add missing cleanup in error path
Vadim Pasternak (3):
platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
Vincent Stehlé (2):
powerpc/ps3: use dma_mapping_error()
net: korina: fix return value
Vincenzo Frascino (1):
arm64: lse: Fix LSE atomics with LLVM
Vineet Gupta (1):
ARC: stack unwinding: don't assume non-current task is sleeping
Wang Wensheng (1):
watchdog: Fix potential dereferencing of null pointer
Will McVicker (2):
USB: gadget: f_midi: setup SuperSpeed Plus descriptors
USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
Xiaochen Shen (1):
x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
Xin Xiong (1):
drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
Xu Qiang (1):
irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
Yang Yingliang (4):
video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() usb/max3421: fix return error code in max3421_probe()
speakup: fix uninitialized flush_lock
Yangtao Li (1):
pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
Yu Kuai (3):
media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm() clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
Zhang Changzhong (3):
net: bridge: vlan: fix error return code in __vlan_add()
scsi: fnic: Fix error return code in fnic_probe()
bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
Zhang Qilong (20):
can: softing: softing_netdev_open(): fix error handling
spi: img-spfi: fix reference leak in img_spfi_resume
spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
spi: tegra20-slink: fix reference leak in slink ops of tegra20
spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
spi: tegra114: fix reference leak in tegra spi ops
ASoC: wm8998: Fix PM disable depth imbalance on error
ASoC: arizona: Fix a wrong free in wm8997_probe
staging: greybus: codecs: Fix reference counter leak in error handling
spi: mxs: fix reference leak in mxs_spi_probe
crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
soc: ti: knav_qmss: fix reference leak in knav_queue_probe
soc: ti: Fix reference imbalance in knav_dma_probe
Input: omap4-keypad - fix runtime PM error handling
power: supply: bq24190_charger: fix reference leak
scsi: pm80xx: Fix error return in pm8001_pci_probe()
usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
usb: oxu210hp-hcd: Fix memory leak in oxu_create libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
clk: ti: Fix memleak in ti_fapll_synth_setup
Zhao Heming (2):
md/cluster: block reshape with remote resync job md/cluster: fix deadlock when node is doing resync job
Zhe Li (1):
jffs2: Fix GC exit abnormally
Zheng Zengkai (1):
perf record: Fix memory leak when using '--user-regs=?' to list registers
Zhihao Cheng (2):
drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
Zwane Mwaikambo (1):
drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
kazuo ito (1):
nfsd: Fix message level for normal termination
taehyun.cho (1):
USB: gadget: f_acm: add support for SuperSpeed Plus
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/kernel-parameters.txt +1 -0
@@ -4998,6 +4998,7 @@ device); j = NO_REPORT_LUNS (don't use report luns command, uas only); + k = NO_SAME (do not use WRITE_SAME, uas only) l = NOT_LOCKABLE (don't try to lock and unlock ejectable media, not on uas); m = MAX_SECTORS_64 (don't transfer more
Makefile +4 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 19 -SUBLEVEL = 163 +SUBLEVEL = 164 EXTRAVERSION = NAME = "People's Front"
@@ -745,8 +745,11 @@ KBUILD_CFLAGS += $(call cc-option, -gsplit-dwarf, -g) else KBUILD_CFLAGS += -g endif +ifneq ($(LLVM_IAS),1) KBUILD_AFLAGS += -Wa,-gdwarf-2 endif +endif + ifdef CONFIG_DEBUG_INFO_DWARF4 KBUILD_CFLAGS += $(call cc-option, -gdwarf-4,) endif
arch/arc/kernel/stacktrace.c +15 -8
@@ -41,15 +41,15 @@#ifdef CONFIG_ARC_DW2_UNWIND -static void seed_unwind_frame_info (struct task_struct *tsk, -struct pt_regs *regs, -struct unwind_frame_info *frame_info) +static int +seed_unwind_frame_info (struct task_struct *tsk,struct pt_regs *regs, +struct unwind_frame_info *frame_info) {/* * synchronous unwinding (e.g. dump_stack) * - uses current values of SP and friends */ -if (tsk ==NULL && regs ==NULL ) { +if (regs ==NULL && (tsk ==NULL || tsk == current)) {unsigned long fp, sp, blink, ret; frame_info->task = current;
@@ -68,11 +68,15 @@ static void seed_unwind_frame_info(struct task_struct *tsk, frame_info->call_frame =0 ; }else if (regs ==NULL ) {/* -* Asynchronous unwinding of sleeping task -* - Gets SP etc from task's pt_regs (saved bottom of kernel -* mode stack of task) +* Asynchronous unwinding of a likely sleeping task +* - first ensure it is actually sleeping +* - if so, it will be in __switch_to, kernel mode SP of task +* is safe-kept and BLINK at a well known location in there */ +if (tsk->state ==TASK_RUNNING ) +return -1 ; + frame_info->task = tsk; frame_info->regs.r27 =TSK_K_FP (tsk);
@@ -106,6 +110,8 @@ static void seed_unwind_frame_info(struct task_struct *tsk, frame_info->regs.r63 = regs->ret; frame_info->call_frame = 0; } + +return 0 ; }#endif
@@ -119,7 +125,8 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,unsigned int address;struct unwind_frame_info frame_info; -seed_unwind_frame_info (tsk, regs, &frame_info); +if (seed_unwind_frame_info (tsk, regs, &frame_info)) +return 0 ;while (1 ) { address =UNW_PC (&frame_info);
arch/arm/boot/dts/armada-xp-98dx3236.dtsi +0 -5
@@ -266,11 +266,6 @@ reg = <0x11000 0x100>; }; -&i2c1 { - compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; - reg = <0x11100 0x100>; -}; - &mpic { reg = <0x20a00 0x2d0>, <0x21070 0x58>; };
arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts +2 -2
@@ -22,9 +22,9 @@ #size-cells = <1>; ranges; - vga_memory: framebuffer@7f000000 { + vga_memory: framebuffer@9f000000 { no-map; - reg = <0x7f000000 0x01000000>; + reg = <0x9f000000 0x01000000>; /* 16M */ }; };
arch/arm/boot/dts/at91-sama5d3_xplained.dts +7 -0
@@ -243,6 +243,11 @@ atmel,pins = <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */ }; + pinctrl_usb_default: usb_default { + atmel,pins = + <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE + AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; + }; }; }; };
@@ -260,6 +265,8 @@ &pioE 3 GPIO_ACTIVE_LOW &pioE 4 GPIO_ACTIVE_LOW >; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_default>; status = "okay"; };
arch/arm/boot/dts/at91-sama5d4_xplained.dts +7 -0
@@ -170,6 +170,11 @@ atmel,pins = <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; }; + pinctrl_usb_default: usb_default { + atmel,pins = + <AT91_PIOE 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE + AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; + }; pinctrl_key_gpio: key_gpio_0 { atmel,pins = <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
@@ -195,6 +200,8 @@ &pioE 11 GPIO_ACTIVE_HIGH &pioE 14 GPIO_ACTIVE_HIGH >; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_default>; status = "okay"; };
arch/arm/boot/dts/at91sam9rl.dtsi +11 -8
@@ -277,23 +277,26 @@ atmel,adc-use-res = "highres"; trigger0 { - trigger-name = "timer-counter-0"; + trigger-name = "external-rising"; trigger-value = <0x1>; + trigger-external; }; + trigger1 { - trigger-name = "timer-counter-1"; - trigger-value = <0x3>; + trigger-name = "external-falling"; + trigger-value = <0x2>; + trigger-external; }; trigger2 { - trigger-name = "timer-counter-2"; - trigger-value = <0x5>; + trigger-name = "external-any"; + trigger-value = <0x3>; + trigger-external; }; trigger3 { - trigger-name = "external"; - trigger-value = <0x13>; - trigger-external; + trigger-name = "continuous"; + trigger-value = <0x6>; }; };
arch/arm/boot/dts/exynos5410-odroidxu.dts +4 -2
@@ -324,6 +324,8 @@ regulator-name = "vddq_lcd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + /* Supplies also GPK and GPJ */ + regulator-always-on; }; ldo8_reg: LDO8 {
@@ -626,11 +628,11 @@ }; &usbdrd_dwc3_0 { - dr_mode = "host"; + dr_mode = "peripheral"; }; &usbdrd_dwc3_1 { - dr_mode = "peripheral"; + dr_mode = "host"; }; &usbdrd3_0 {
arch/arm/boot/dts/exynos5410-pinctrl.dtsi +28 -0
@@ -560,6 +560,34 @@ interrupt-controller; #interrupt-cells = <2>; }; + + usb3_1_oc: usb3-1-oc { + samsung,pins = "gpk2-4", "gpk2-5"; + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; + }; + + usb3_1_vbusctrl: usb3-1-vbusctrl { + samsung,pins = "gpk2-6", "gpk2-7"; + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; + }; + + usb3_0_oc: usb3-0-oc { + samsung,pins = "gpk3-0", "gpk3-1"; + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; + }; + + usb3_0_vbusctrl: usb3-0-vbusctrl { + samsung,pins = "gpk3-2", "gpk3-3"; + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; + }; }; &pinctrl_2 {
arch/arm/boot/dts/exynos5410.dtsi +4 -0
@@ -392,6 +392,8 @@ &usbdrd3_0 { clocks = <&clock CLK_USBD300>; clock-names = "usbdrd30"; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_0_oc>, <&usb3_0_vbusctrl>; }; &usbdrd_phy0 {
@@ -403,6 +405,8 @@ &usbdrd3_1 { clocks = <&clock CLK_USBD301>; clock-names = "usbdrd30"; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_1_oc>, <&usb3_1_vbusctrl>; }; &usbdrd_dwc3_1 {
arch/arm/boot/dts/omap4-panda-es.dts +1 -1
@@ -49,7 +49,7 @@ button_pins: pinmux_button_pins { pinctrl-single,pins = < - OMAP4_IOPAD(0x11b, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */ + OMAP4_IOPAD(0x0fc, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */ >; }; };
arch/arm/boot/dts/sama5d2.dtsi +4 -3
@@ -1247,6 +1247,7 @@ clocks = <&securam_clk>; #address-cells = <1>; #size-cells = <1>; + no-memory-wc; ranges = <0 0xf8044000 0x1420>; };
@@ -1297,7 +1298,7 @@ can0: can@f8054000 { compatible = "bosch,m_can"; - reg = <0xf8054000 0x4000>, <0x210000 0x4000>; + reg = <0xf8054000 0x4000>, <0x210000 0x1c00>; reg-names = "m_can", "message_ram"; interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>, <64 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -1490,7 +1491,7 @@ can1: can@fc050000 { compatible = "bosch,m_can"; - reg = <0xfc050000 0x4000>, <0x210000 0x4000>; + reg = <0xfc050000 0x4000>, <0x210000 0x3800>; reg-names = "m_can", "message_ram"; interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>, <65 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -1500,7 +1501,7 @@ assigned-clocks = <&can1_gclk>; assigned-clock-parents = <&utmi>; assigned-clock-rates = <40000000>; - bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>; + bosch,mram-cfg = <0x1c00 0 0 64 0 0 32 32>; status = "disabled"; };
arch/arm/boot/dts/sun8i-v3s.dtsi +1 -1
@@ -419,7 +419,7 @@ gic: interrupt-controller@1c81000 { compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; reg = <0x01c81000 0x1000>, - <0x01c82000 0x1000>, + <0x01c82000 0x2000>, <0x01c84000 0x2000>, <0x01c86000 0x2000>; interrupt-controller;
arch/arm/kernel/head.S +1 -5
@@ -674,12 +674,8 @@ ARM_BE8(rev16 ip, ip) ldrcc r7, [r4], #4 @ use branch for delay slot bcc 1b bx lr -#else -#ifdef CONFIG_CPU_ENDIAN_BE8 - moveq r0, #0x00004000 @ set bit 22, mov to mvn instruction #else moveq r0, #0x400000 @ set bit 22, mov to mvn instruction -#endif b 2f 1: ldr ip, [r7, r3] #ifdef CONFIG_CPU_ENDIAN_BE8
@@ -688,7 +684,7 @@ ARM_BE8(rev16 ip, ip) tst ip, #0x000f0000 @ check the rotation field orrne ip, ip, r6, lsl #24 @ mask in offset bits 31-24 biceq ip, ip, #0x00004000 @ clear bit 22 - orreq ip, ip, r0 @ mask in offset bits 7-0 + orreq ip, ip, r0, ror #8 @ mask in offset bits 7-0 #else bic ip, ip, #0x000000ff tst ip, #0xf00 @ check the rotation field
arch/arm/mach-shmobile/pm-rmobile.c +1 -0
@@ -330,6 +330,7 @@ static int __init rmobile_init_pm_domains(void) pmd =of_get_child_by_name (np,"pm-domains" );if (!pmd) { +iounmap (base);pr_warn ("%pOF lacks pm-domains node\n" , np);continue ; }
arch/arm/mach-sunxi/sunxi.c +1 -0
@@ -66,6 +66,7 @@ static const char * const sun8i_board_dt_compat[] = {"allwinner,sun8i-h2-plus" ,"allwinner,sun8i-h3" ,"allwinner,sun8i-r40" , +"allwinner,sun8i-v3" ,"allwinner,sun8i-v3s" , NULL, };
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +1 -1
@@ -399,7 +399,7 @@ #size-cells = <1>; compatible = "winbond,w25q16", "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <3000000>; + spi-max-frequency = <104000000>; }; };
arch/arm64/boot/dts/exynos/exynos7.dtsi +4 -8
@@ -62,8 +62,10 @@ }; psci { - compatible = "arm,psci-0.2"; + compatible = "arm,psci"; method = "smc"; + cpu_off = <0x84000002>; + cpu_on = <0xC4000003>; }; soc: soc {
@@ -494,13 +496,6 @@ pmu_system_controller: system-controller@105c0000 { compatible = "samsung,exynos7-pmu", "syscon"; reg = <0x105c0000 0x5000>; - - reboot: syscon-reboot { - compatible = "syscon-reboot"; - regmap = <&pmu_system_controller>; - offset = <0x0400>; - mask = <0x1>; - }; }; rtc: rtc@10590000 {
@@ -638,3 +633,4 @@ }; #include "exynos7-pinctrl.dtsi" +#include "arm/exynos-syscon-restart.dtsi"
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +1 -0
@@ -255,6 +255,7 @@ }; &usb20_otg { + dr_mode = "host"; status = "okay"; };
arch/arm64/boot/dts/rockchip/rk3328.dtsi +8 -8
@@ -1085,8 +1085,8 @@ uart0 { uart0_xfer: uart0-xfer { - rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, - <1 RK_PB0 1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, + <1 RK_PB0 1 &pcfg_pull_up>; }; uart0_cts: uart0-cts {
@@ -1104,8 +1104,8 @@ uart1 { uart1_xfer: uart1-xfer { - rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, - <3 RK_PA6 4 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, + <3 RK_PA6 4 &pcfg_pull_up>; }; uart1_cts: uart1-cts {
@@ -1123,15 +1123,15 @@ uart2-0 { uart2m0_xfer: uart2m0-xfer { - rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, - <1 RK_PA1 2 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, + <1 RK_PA1 2 &pcfg_pull_up>; }; }; uart2-1 { uart2m1_xfer: uart2m1-xfer { - rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, - <2 RK_PA1 1 &pcfg_pull_none>; + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, + <2 RK_PA1 1 &pcfg_pull_up>; }; };
arch/arm64/boot/dts/rockchip/rk3399.dtsi +3 -0
@@ -29,6 +29,9 @@ i2c6 = &i2c6; i2c7 = &i2c7; i2c8 = &i2c8; + mmc0 = &sdio0; + mmc1 = &sdmmc; + mmc2 = &sdhci; serial0 = &uart0; serial1 = &uart1; serial2 = &uart2;
arch/arm64/include/asm/atomic_lse.h +57 -19
190 lines not on this page · raw message
arch/arm64/include/asm/kvm_host.h +1 -0
@@ -165,6 +165,7 @@ enum vcpu_sysreg {#define c2_TTBR1 (TTBR1_EL1 * 2)/* Translation Table Base Register 1 */ #define c2_TTBR1_high (c2_TTBR1 + 1)/* TTBR1 top 32 bits */ #define c2_TTBCR (TCR_EL1 * 2)/* Translation Table Base Control R. */ +#define c2_TTBCR2 (c2_TTBCR + 1)/* Translation Table Base Control R. 2 */ #define c3_DACR (DACR32_EL2 * 2)/* Domain Access Control Register */ #define c5_DFSR (ESR_EL1 * 2)/* Data Fault Status Register */ #define c5_IFSR (IFSR32_EL2 * 2)/* Instruction Fault Status Register */
arch/arm64/include/asm/lse.h +3 -3
@@ -4,6 +4,8 @@#if defined(CONFIG_AS_LSE ) && defined(CONFIG_ARM64_LSE_ATOMICS ) +#define __LSE_PREAMBLE ".arch_extension lse\n" +#include <linux/compiler_types.h> #include <linux/export.h> #include <linux/stringify.h>
@@ -20,8 +22,6 @@#else /* __ASSEMBLER__ */ -__asm__(".arch_extension lse" ); -/* Move the ll/sc atomics out-of-line */ #define __LL_SC_INLINE notrace#define __LL_SC_PREFIX (x) __ll_sc_##x
@@ -33,7 +33,7 @@ __asm__(".arch_extension lse");/* In-line patching at runtime */ #define ARM64_LSE_ATOMIC_INSN (llsc, lse) \ - ALTERNATIVE(llsc, lse, ARM64_HAS_LSE_ATOMICS) + ALTERNATIVE(llsc, __LSE_PREAMBLE lse, ARM64_HAS_LSE_ATOMICS)#endif /* __ASSEMBLER__ */ #else /* CONFIG_AS_LSE && CONFIG_ARM64_LSE_ATOMICS */
arch/arm64/kernel/syscall.c +1 -1
@@ -102,8 +102,8 @@ static void el0_svc_common(struct pt_regs *regs, int scno, int sc_nr, regs->syscallno = scno;cortex_a76_erratum_1463225_svc_handler (); +user_exit_irqoff ();local_daif_restore (DAIF_PROCCTX ); -user_exit ();if (has_syscall_work (flags)) {/* set default errno for user-issued syscall(-1) */
arch/arm64/kvm/sys_regs.c +1 -0
@@ -1661,6 +1661,7 @@ static const struct sys_reg_desc cp15_regs[] = { { Op1( 0), CRn( 2), CRm( 0), Op2( 0), access_vm_reg, NULL, c2_TTBR0 }, { Op1( 0), CRn( 2), CRm( 0), Op2( 1), access_vm_reg, NULL, c2_TTBR1 }, { Op1( 0), CRn( 2), CRm( 0), Op2( 2), access_vm_reg, NULL, c2_TTBCR }, + { Op1( 0), CRn( 2), CRm( 0), Op2( 3), access_vm_reg, NULL, c2_TTBCR2 }, { Op1( 0), CRn( 3), CRm( 0), Op2( 0), access_vm_reg, NULL, c3_DACR }, { Op1( 0), CRn( 5), CRm( 0), Op2( 0), access_vm_reg, NULL, c5_DFSR }, { Op1( 0), CRn( 5), CRm( 0), Op2( 1), access_vm_reg, NULL, c5_IFSR },
arch/arm64/lib/memcpy.S +1 -2
@@ -68,9 +68,8 @@ stp \ptr, \regB, [\regC], \val .endm - .weak memcpy ENTRY(__memcpy) -ENTRY(memcpy) +WEAK(memcpy) #include "copy_template.S" ret ENDPIPROC(memcpy)
arch/arm64/lib/memmove.S +1 -2
@@ -57,9 +57,8 @@ C_h .req x12 D_l .req x13 D_h .req x14 - .weak memmove ENTRY(__memmove) -ENTRY(memmove) +WEAK(memmove) cmp dstin, src b.lo __memcpy add tmp1, src, count
arch/arm64/lib/memset.S +1 -2
@@ -54,9 +54,8 @@ dst .req x8 tmp3w .req w9 tmp3 .req x9 - .weak memset ENTRY(__memset) -ENTRY(memset) +WEAK(memset) mov dst, dstin /* Preserve return value. */ and A_lw, val, #255 orr A_lw, A_lw, A_lw, lsl #8
arch/mips/bcm47xx/Kconfig +1 -0
@@ -27,6 +27,7 @@ config BCM47XX_BCMA select BCMA select BCMA_HOST_SOC select BCMA_DRIVER_MIPS + select BCMA_DRIVER_PCI if PCI select BCMA_DRIVER_PCI_HOSTMODE if PCI select BCMA_DRIVER_GPIO default y
arch/powerpc/Makefile +0 -1
@@ -251,7 +251,6 @@ endif cpu-as-$(CONFIG_4xx) += -Wa,-m405 cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec) -cpu-as-$(CONFIG_E200) += -Wa,-me200 cpu-as-$(CONFIG_E500) += -Wa,-me500 # When using '-many -mpower4' gas will first try and find a matching power4
arch/powerpc/include/asm/book3s/32/pgtable.h +2 -2
@@ -434,9 +434,9 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,if (pte_val (*ptep) & _PAGE_HASHPTE)flush_hash_entry (mm, ptep, addr); __asm__ __volatile__("\ -stw%U0%X0 %2,%0\n\ +stw%X0 %2,%0\n\ eieio\n\ -stw%U0%X0 %L2,%1" +stw%X1 %L2,%1" :"=m" (*ptep),"=m" (*((unsigned char *)ptep+4 )) :"r" (pte) :"memory" );
arch/powerpc/include/asm/cputable.h +0 -5
@@ -411,7 +411,6 @@ static inline void cpu_feature_keys_init(void) { } CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \ CPU_FTR_DEBUG_LVL_EXC | CPU_FTR_EMB_HV | CPU_FTR_ALTIVEC_COMP | \ CPU_FTR_CELL_TB_BUG | CPU_FTR_SMT) -#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)/* 64-bit CPUs */ #define CPU_FTRS_PPC970 (CPU_FTR_LWSYNC | \
@@ -509,8 +508,6 @@ enum { CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX | CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 | CPU_FTRS_CLASSIC32 | -#else - CPU_FTRS_GENERIC_32 |#endif #ifdef CONFIG_PPC_8xx CPU_FTRS_8XX |
@@ -585,8 +582,6 @@ enum { CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX & CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 & CPU_FTRS_CLASSIC32 & -#else - CPU_FTRS_GENERIC_32 &#endif #ifdef CONFIG_PPC_8xx CPU_FTRS_8XX &
arch/powerpc/include/asm/nohash/pgtable.h +2 -2
@@ -151,9 +151,9 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,*/ if (IS_ENABLED (CONFIG_PPC32 ) &&IS_ENABLED (CONFIG_PTE_64BIT ) && !percpu) { __asm__ __volatile__("\ -stw%U0%X0 %2,%0\n\ +stw%X0 %2,%0\n\ eieio\n\ -stw%U0%X0 %L2,%1" +stw%X1 %L2,%1" :"=m" (*ptep),"=m" (*((unsigned char *)ptep+4 )) :"r" (pte) :"memory" );return ;
arch/powerpc/kernel/head_64.S +4 -4
@@ -423,6 +423,10 @@ generic_secondary_common_init: /* From now on, r24 is expected to be logical cpuid */ mr r24,r5 + /* Create a temp kernel stack for use before relocation is on. */ + ld r1,PACAEMERGSP(r13) + subi r1,r1,STACK_FRAME_OVERHEAD + /* See if we need to call a cpu state restore handler */ LOAD_REG_ADDR(r23, cur_cpu_spec) ld r23,0(r23)
@@ -451,10 +455,6 @@ generic_secondary_common_init: sync /* order paca.run and cur_cpu_spec */ isync /* In case code patching happened */ - /* Create a temp kernel stack for use before relocation is on. */ - ld r1,PACAEMERGSP(r13) - subi r1,r1,STACK_FRAME_OVERHEAD - b __secondary_start #endif /* SMP */
arch/powerpc/kernel/rtas.c +1 -1
@@ -1095,7 +1095,7 @@ static struct rtas_filter rtas_filters[] __ro_after_init = { { "ibm,display-message", -1, 0, -1, -1, -1 }, { "ibm,errinjct", -1, 2, -1, -1, -1, 1024 }, { "ibm,close-errinjct", -1, -1, -1, -1, -1 }, - { "ibm,open-errinct", -1, -1, -1, -1, -1 }, + { "ibm,open-errinjct", -1, -1, -1, -1, -1 }, { "ibm,get-config-addr-info2", -1, -1, -1, -1, -1 }, { "ibm,get-dynamic-sensor-state", -1, 1, -1, -1, -1 }, { "ibm,get-indices", -1, 2, 3, -1, -1 },
arch/powerpc/kernel/setup-common.c +2 -2
@@ -929,8 +929,6 @@ void __init setup_arch(char **cmdline_p)/* On BookE, setup per-core TLB data structures. */ setup_tlb_core_data (); - -smp_release_cpus ();#endif /* Print various info about the machine that has been gathered so far. */
@@ -964,6 +962,8 @@ void __init setup_arch(char **cmdline_p)exc_lvl_early_init ();emergency_stack_init (); +smp_release_cpus (); +initmem_init ();#ifdef CONFIG_DUMMY_CONSOLE
arch/powerpc/perf/core-book3s.c +10 -0
@@ -2058,6 +2058,16 @@ static void record_and_restart(struct perf_event *event, unsigned long val,local64_set (&event->hw.period_left, left);perf_event_update_userpage (event); +/* +* Due to hardware limitation, sometimes SIAR could sample a kernel +* address even when freeze on supervisor state (kernel) is set in +* MMCR2. Check attr.exclude_kernel and address to drop the sample in +* these cases. +*/ +if (event->attr.exclude_kernel && record) +if (is_kernel_addr (mfspr (SPRN_SIAR ))) + record =0 ; +/* * Finally record data if requested. */
arch/powerpc/platforms/powernv/memtrace.c +37 -7
86 lines not on this page · raw message
arch/powerpc/platforms/pseries/suspend.c +0 -4
@@ -26,7 +26,6 @@#include <asm/mmu.h> #include <asm/rtas.h> #include <asm/topology.h> -#include "../../kernel/cacheinfo.h" static u64 stream_id;static struct device suspend_dev;
@@ -91,9 +90,7 @@ static void pseries_suspend_enable_irqs(void)* Update configuration which can be modified based on device tree * changes during resume. */ -cacheinfo_cpu_offline (smp_processor_id ());post_mobility_fixup (); -cacheinfo_cpu_online (smp_processor_id ()); }/**
@@ -223,7 +220,6 @@ static struct bus_type suspend_subsys = {static const struct platform_suspend_ops pseries_suspend_ops = { .valid = suspend_valid_only_mem, - .begin = pseries_suspend_begin, .prepare_late = pseries_prepare_late, .enter = pseries_suspend_enter, };
arch/powerpc/xmon/nonstdio.c +1 -1
@@ -182,7 +182,7 @@ void xmon_printf(const char *format, ...)if (n && rc ==0 ) {/* No udbg hooks, fallback to printk() - dangerous */ -printk ("%s" , xmon_outbuf); +pr_cont ("%s" , xmon_outbuf); } }
arch/s390/kernel/smp.c +3 -15
@@ -863,24 +863,12 @@ static void smp_start_secondary(void *cpuvoid)/* Upping and downing of CPUs */ int __cpu_up (unsigned int cpu,struct task_struct *tidle) { -struct pcpu *pcpu; -int base, i, rc; +struct pcpu *pcpu = pcpu_devices + cpu; +int rc; - pcpu = pcpu_devices + cpu;if (pcpu->state !=CPU_STATE_CONFIGURED )return -EIO ; - base =smp_get_base_cpu (cpu); -for (i =0 ; i <= smp_cpu_mtid; i++) { -if (base + i < nr_cpu_ids) -if (cpu_online (base + i)) -break ; - } -/* -* If this is the first CPU of the core to get online -* do an initial CPU reset. -*/ -if (i > smp_cpu_mtid && -pcpu_sigp_retry (pcpu_devices + base,SIGP_INITIAL_CPU_RESET ,0 ) != +if (pcpu_sigp_retry (pcpu,SIGP_INITIAL_CPU_RESET ,0 ) !=SIGP_CC_ORDER_CODE_ACCEPTED )return -EIO ;
arch/s390/purgatory/head.S +5 -4
@@ -61,14 +61,15 @@ jh 10b .endm -.macro START_NEXT_KERNEL base +.macro START_NEXT_KERNEL base subcode lg %r4,kernel_entry-\base(%r13) lg %r5,load_psw_mask-\base(%r13) ogr %r4,%r5 stg %r4,0(%r0) xgr %r0,%r0 - diag %r0,%r0,0x308 + lghi %r1,\subcode + diag %r0,%r1,0x308 .endm .text
@@ -123,7 +124,7 @@ ENTRY(purgatory_start) je .start_crash_kernel /* start normal kernel */ - START_NEXT_KERNEL .base_crash + START_NEXT_KERNEL .base_crash 0 .return_old_kernel: lmg %r6,%r15,gprregs-.base_crash(%r13)
@@ -227,7 +228,7 @@ ENTRY(purgatory_start) MEMCPY %r9,%r10,%r11 /* start crash kernel */ - START_NEXT_KERNEL .base_dst + START_NEXT_KERNEL .base_dst 1 load_psw_mask:
arch/um/drivers/chan_user.c +2 -2
@@ -26,10 +26,10 @@ int generic_read(int fd, char *c_out, void *unused) n =read (fd, c_out,sizeof (*c_out));if (n >0 )return n; -else if (errno ==EAGAIN ) -return 0 ;else if (n ==0 )return -EIO ; +else if (errno ==EAGAIN ) +return 0 ;return -errno; }
arch/um/drivers/xterm.c +5 -0
@@ -18,6 +18,7 @@struct xterm_chan {int pid;int helper_pid; +int chan_fd;char *title;int device;int raw;
@@ -33,6 +34,7 @@ static void *xterm_init(char *str, int device, const struct chan_opts *opts)return NULL ; *data = ((struct xterm_chan ) { .pid =-1 , .helper_pid =-1 , + .chan_fd =-1 , .device = device, .title = opts->xterm_title, .raw = opts->raw } );
@@ -149,6 +151,7 @@ static int xterm_open(int input, int output, int primary, void *d, goto out_kill; } + data->chan_fd = fd; new =xterm_fd (fd, &data->helper_pid);if (new <0 ) { err = new;
@@ -206,6 +209,8 @@ static void xterm_close(int fd, void *d)os_kill_process (data->helper_pid,0 ); data->helper_pid =-1 ; +if (data->chan_fd !=-1 ) +os_close_file (data->chan_fd);os_close_file (fd); }
arch/um/os-Linux/irq.c +1 -1
@@ -48,7 +48,7 @@ int os_epoll_triggered(int index, int events)int os_event_mask (int irq_type) {if (irq_type ==IRQ_READ ) -return EPOLLIN |EPOLLPRI ; +return EPOLLIN |EPOLLPRI |EPOLLERR |EPOLLHUP |EPOLLRDHUP ;if (irq_type ==IRQ_WRITE )return EPOLLOUT ;return 0 ;
arch/x86/include/asm/apic.h +1 -0
@@ -252,6 +252,7 @@ static inline u64 native_x2apic_icr_read(void)extern int x2apic_mode;extern int x2apic_phys; +extern void __init x2apic_set_max_apicid (u32 apicid);extern void __init check_x2apic (void );extern void x2apic_setup (void );static inline int x2apic_enabled (void )
arch/x86/include/asm/pgtable_types.h +1 -0
@@ -148,6 +148,7 @@ enum page_cache_mode {#endif #define _PAGE_CACHE_MASK (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT) +#define _PAGE_LARGE_CACHE_MASK (_PAGE_PWT | _PAGE_PCD | _PAGE_PAT_LARGE)#define _PAGE_NOCACHE (cachemode2protval(_PAGE_CACHE_MODE_UC))#define _PAGE_CACHE_WP (cachemode2protval(_PAGE_CACHE_MODE_WP))
arch/x86/include/asm/sync_core.h +5 -4
@@ -16,12 +16,13 @@ static inline void sync_core_before_usermode(void)/* With PTI, we unconditionally serialize before running user code. */ if (static_cpu_has (X86_FEATURE_PTI ))return ; +/* -* Return from interrupt and NMI is done through iret, which is core -* serializing. +* Even if we're in an interrupt, we might reschedule before returning, +* in which case we could switch to a different thread in the same mm +* and return using SYSRET or SYSEXIT. Instead of trying to keep +* track of our need to sync the core, just sync right away. */ -if (in_irq () ||in_nmi ()) -return ;sync_core (); }
arch/x86/kernel/apic/apic.c +8 -6
@@ -1813,20 +1813,22 @@ static __init void try_to_enable_x2apic(int remap_mode)return ;if (remap_mode !=IRQ_REMAP_X2APIC_MODE ) { -/* IR is required if there is APIC ID > 255 even when running -* under KVM +/* +* Using X2APIC without IR is not architecturally supported +* on bare metal but may be supported in guests. */ -if (max_physical_apicid >255 || - !x86_init.hyper.x2apic_available ()) { +if (!x86_init.hyper.x2apic_available ()) {pr_info ("x2apic: IRQ remapping doesn't support X2APIC mode\n" );x2apic_disable ();return ; }/* -* without IR all CPUs can be addressed by IOAPIC/MSI -* only in physical mode +* Without IR, all CPUs can be addressed by IOAPIC/MSI only +* in physical mode, and CPUs with an APIC ID that cannnot +* be addressed must not be brought online. */ +x2apic_set_max_apicid (255 ); x2apic_phys =1 ; }x2apic_enable ();
arch/x86/kernel/apic/vector.c +14 -10
@@ -274,20 +274,24 @@ static int assign_irq_vector_any_locked(struct irq_data *irqd)const struct cpumask *affmsk =irq_data_get_affinity_mask (irqd);int node =irq_data_get_node (irqd); -if (node ==NUMA_NO_NODE ) - goto all; -/* Try the intersection of @affmsk and node mask */ -cpumask_and (vector_searchmask,cpumask_of_node (node), affmsk); -if (!assign_vector_locked (irqd, vector_searchmask)) -return 0 ; -/* Try the node mask */ -if (!assign_vector_locked (irqd,cpumask_of_node (node))) -return 0 ; -all: +if (node !=NUMA_NO_NODE ) { +/* Try the intersection of @affmsk and node mask */ +cpumask_and (vector_searchmask,cpumask_of_node (node), affmsk); +if (!assign_vector_locked (irqd, vector_searchmask)) +return 0 ; + } +/* Try the full affinity mask */ cpumask_and (vector_searchmask, affmsk, cpu_online_mask);if (!assign_vector_locked (irqd, vector_searchmask))return 0 ; + +if (node !=NUMA_NO_NODE ) { +/* Try the node mask */ +if (!assign_vector_locked (irqd,cpumask_of_node (node))) +return 0 ; + } +/* Try the full online mask */ return assign_vector_locked (irqd, cpu_online_mask); }
arch/x86/kernel/apic/x2apic_phys.c +9 -0
@@ -13,6 +13,12 @@int x2apic_phys;static struct apic apic_x2apic_phys; +static u32 x2apic_max_apicid__ro_after_init ; + +void __init x2apic_set_max_apicid (u32 apicid) +{ + x2apic_max_apicid = apicid; +}static int __init set_x2apic_phys_mode (char *arg) {
@@ -103,6 +109,9 @@ static int x2apic_phys_probe(void)/* Common x2apic functions, also used by x2apic_cluster */ int x2apic_apic_id_valid (u32 apicid) { +if (x2apic_max_apicid && apicid > x2apic_max_apicid) +return 0 ; +return 1 ; }
arch/x86/kernel/cpu/intel_rdt.h +0 -2
@@ -251,7 +251,6 @@ struct rftype {* struct mbm_state - status for each MBM counter in each domain * @chunks: Total data moved (multiply by rdt_group.mon_scale to get bytes) * @prev_msr Value of IA32_QM_CTR for this RMID last time we read it -* @chunks_bw Total local data moved. Used for bandwidth calculation * @prev_bw_msr:Value of previous IA32_QM_CTR for bandwidth counting * @prev_bw The most recent bandwidth in MBps * @delta_bw Difference between the current and previous bandwidth
@@ -260,7 +259,6 @@ struct rftype {struct mbm_state {u64 chunks;u64 prev_msr; -u64 chunks_bw;u64 prev_bw_msr;u32 prev_bw;u32 delta_bw;
arch/x86/kernel/cpu/intel_rdt_monitor.c +2 -5
@@ -290,8 +290,6 @@ static void mbm_bw_count(u32 rmid, struct rmid_read *rr)return ; chunks =mbm_overflow_count (m->prev_bw_msr, tval); - m->chunks_bw += chunks; - m->chunks = m->chunks_bw; cur_bw = (chunks * r->mon_scale) >>20 ;if (m->delta_comp)
@@ -461,15 +459,14 @@ static void mbm_update(struct rdt_domain *d, int rmid) }if (is_mbm_local_enabled ()) { rr.evtid =QOS_L3_MBM_LOCAL_EVENT_ID ; +__mon_event_count (rmid, &rr);/* * Call the MBA software controller only for the * control groups and when user has enabled * the software controller explicitly. */ -if (!is_mba_sc (NULL )) -__mon_event_count (rmid, &rr); -else +if (is_mba_sc (NULL ))mbm_bw_count (rmid, &rr); } }
arch/x86/kernel/kprobes/core.c +5 -0
@@ -1041,6 +1041,11 @@ int kprobe_fault_handler(struct pt_regs *regs, int trapnr)* So clear it by resetting the current kprobe: */ regs->flags &= ~X86_EFLAGS_TF ; +/* +* Since the single step (trap) has been cancelled, +* we need to restore BTF here. +*/ +restore_btf ();/* * If the TF flag was set before the kprobe hit,
arch/x86/lib/memcpy_64.S +3 -3
@@ -14,8 +14,6 @@ * to a jmp to memcpy_erms which does the REP; MOVSB mem copy. */ -.weak memcpy - /* * memcpy - Copy a memory block. *
@@ -28,7 +26,9 @@ * rax original destination */ ENTRY(__memcpy) -ENTRY(memcpy) +.weak memcpy +.p2align 4, 0x90 +memcpy: ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \ "jmp memcpy_erms", X86_FEATURE_ERMS
arch/x86/lib/memmove_64.S +2 -2
@@ -25,8 +25,8 @@ * rax: dest */ .weak memmove - -ENTRY(memmove) +.p2align 4, 0x90 +memmove: ENTRY(__memmove) /* Handle more 32 bytes in loop */
arch/x86/lib/memset_64.S +3 -3
@@ -6,8 +6,6 @@ #include <asm/alternative-asm.h> #include <asm/export.h> -.weak memset - /* * ISO C memset - set a memory block to a byte value. This function uses fast * string to get better performance than the original function. The code is
@@ -19,7 +17,9 @@ * * rax original destination */ -ENTRY(memset) +.weak memset +.p2align 4, 0x90 +memset: ENTRY(__memset) /* * Some CPUs support enhanced REP MOVSB/STOSB feature. It is recommended
arch/x86/mm/ident_map.c +10 -2
@@ -62,6 +62,7 @@ static int ident_p4d_init(struct x86_mapping_info *info, p4d_t *p4d_page, unsigned long addr, unsigned long end) {unsigned long next; +int result;for (; addr < end; addr = next) {p4d_t *p4d = p4d_page +p4d_index (addr);
@@ -73,13 +74,20 @@ static int ident_p4d_init(struct x86_mapping_info *info, p4d_t *p4d_page,if (p4d_present (*p4d)) { pud =pud_offset (p4d,0 ); -ident_pud_init (info, pud, addr, next); + result =ident_pud_init (info, pud, addr, next); +if (result) +return result; +continue ; } pud = (pud_t *)info->alloc_pgt_page (info->context);if (!pud)return -ENOMEM ; -ident_pud_init (info, pud, addr, next); + + result =ident_pud_init (info, pud, addr, next); +if (result) +return result; +set_p4d (p4d,__p4d (__pa (pud) | info->kernpg_flag)); }
arch/x86/mm/mem_encrypt_identity.c +2 -2
@@ -47,8 +47,8 @@#define PMD_FLAGS_LARGE (__PAGE_KERNEL_LARGE_EXEC & ~_PAGE_GLOBAL)#define PMD_FLAGS_DEC PMD_FLAGS_LARGE -#define PMD_FLAGS_DEC_WP ((PMD_FLAGS_DEC & ~_PAGE_CACHE_MASK) | \ - (_PAGE_PAT | _PAGE_PWT)) +#define PMD_FLAGS_DEC_WP ((PMD_FLAGS_DEC & ~_PAGE_LARGE_CACHE_MASK) | \ + (_PAGE_PAT_LARGE | _PAGE_PWT))#define PMD_FLAGS_ENC (PMD_FLAGS_LARGE | _PAGE_ENC)
arch/x86/mm/tlb.c +8 -2
@@ -321,8 +321,14 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,/* * The membarrier system call requires a full memory barrier and * core serialization before returning to user-space, after -* storing to rq->curr. Writing to CR3 provides that full -* memory barrier and core serializing instruction. +* storing to rq->curr, when changing mm. This is because +* membarrier() sends IPIs to all CPUs that are in the target mm +* to make them issue memory barriers. However, if another CPU +* switches to/from the target mm concurrently with +* membarrier(), it can cause that CPU not to receive an IPI +* when it really should issue a memory barrier. Writing to CR3 +* provides that full memory barrier and core serializing +* instruction. */ if (real_prev == next) { VM_WARN_ON(this_cpu_read(cpu_tlbstate.ctxs[prev_asid].ctx_id) !=
block/blk-mq.c +18 -11
@@ -1118,6 +1118,23 @@ static void blk_mq_update_dispatch_busy(struct blk_mq_hw_ctx *hctx, bool busy)#define BLK_MQ_RESOURCE_DELAY 3/* ms units */ +static void blk_mq_handle_dev_resource (struct request *rq, +struct list_head *list) +{ +struct request *next = + list_first_entry_or_null(list, struct request, queuelist); + +/* +* If an I/O scheduler has been configured and we got a driver tag for +* the next request already, free it. +*/ +if (next) +blk_mq_put_driver_tag (next); + +list_add (&rq->queuelist, list); +__blk_mq_requeue_request (rq); +} +/* * Returns true if we did some work AND can potentially do more. */
@@ -1185,17 +1202,7 @@ bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list, ret = q->mq_ops->queue_rq (hctx, &bd);if (ret ==BLK_STS_RESOURCE || ret ==BLK_STS_DEV_RESOURCE ) { -/* -* If an I/O scheduler has been configured and we got a -* driver tag for the next request already, free it -* again. -*/ -if (!list_empty (list)) { - nxt = list_first_entry(list, struct request, queuelist); -blk_mq_put_driver_tag (nxt); - } -list_add (&rq->queuelist, list); -__blk_mq_requeue_request (rq); +blk_mq_handle_dev_resource (rq, list);break ; }
crypto/af_alg.c +7 -3
@@ -151,7 +151,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)const u32 allowed =CRYPTO_ALG_KERN_DRIVER_ONLY ;struct sock *sk = sock->sk;struct alg_sock *ask =alg_sk (sk); -struct sockaddr_alg *sa = (void *)uaddr; +struct sockaddr_alg_new *sa = (void *)uaddr;const struct af_alg_type *type;void *private;int err;
@@ -159,7 +159,11 @@ static int alg_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)if (sock->state ==SS_CONNECTED )return -EINVAL ; -if (addr_len <sizeof (*sa)) +BUILD_BUG_ON (offsetof(struct sockaddr_alg_new , salg_name) != + offsetof(struct sockaddr_alg , salg_name)); +BUILD_BUG_ON (offsetof(struct sockaddr_alg , salg_name) !=sizeof (*sa)); + +if (addr_len <sizeof (*sa) +1 )return -EINVAL ;/* If caller uses non-allowed flag, return error. */
@@ -167,7 +171,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)return -EINVAL ; sa->salg_type[sizeof (sa->salg_type) -1 ] =0 ; - sa->salg_name[sizeof (sa->salg_name) + addr_len -sizeof (*sa) -1 ] =0 ; + sa->salg_name[addr_len -sizeof (*sa) -1 ] =0 ; type =alg_get_type (sa->salg_type);if (IS_ERR (type) &&PTR_ERR (type) == -ENOENT ) {
crypto/ecdh.c +5 -4
@@ -57,12 +57,13 @@ static int ecdh_set_secret(struct crypto_kpp *tfm, const void *buf,return ecc_gen_privkey (ctx->curve_id, ctx->ndigits, ctx->private_key); -if (ecc_is_key_valid (ctx->curve_id, ctx->ndigits, - (const u64 *)params.key, params.key_size) <0 ) -return -EINVAL ; -memcpy (ctx->private_key, params.key, params.key_size); +if (ecc_is_key_valid (ctx->curve_id, ctx->ndigits, + ctx->private_key, params.key_size) <0 ) { +memzero_explicit (ctx->private_key, params.key_size); +return -EINVAL ; + }return 0 ; }
drivers/acpi/acpi_pnp.c +3 -0
@@ -320,6 +320,9 @@ static bool matching_id(const char *idstr, const char *list_id) {int i; +if (strlen (idstr) !=strlen (list_id)) +return false; +if (memcmp (idstr, list_id,3 ))return false;
drivers/acpi/device_pm.c +12 -29
79 lines not on this page · raw message
drivers/acpi/resource.c +1 -1
@@ -549,7 +549,7 @@ static acpi_status acpi_dev_process_resource(struct acpi_resource *ares, ret = c->preproc (ares, c->preproc_data);if (ret <0 ) { c->error = ret; -return AE_CTRL_TERMINATE ; +return AE_ABORT_METHOD ; }else if (ret >0 ) {return AE_OK ; }
drivers/block/xen-blkback/xenbus.c +3 -1
@@ -264,6 +264,7 @@ static int xen_blkif_disconnect(struct xen_blkif *blkif)if (ring->xenblkd) {kthread_stop (ring->xenblkd); + ring->xenblkd =NULL ;wake_up (&ring->shutdown_wq); }
@@ -651,7 +652,8 @@ static int xen_blkbk_probe(struct xenbus_device *dev,/* setup back pointer */ be->blkif->be = be; - err =xenbus_watch_pathfmt (dev, &be->backend_watch, backend_changed, + err =xenbus_watch_pathfmt (dev, &be->backend_watch,NULL , + backend_changed,"%s/%s" , dev->nodename,"physical-device" );if (err) goto fail;
drivers/bluetooth/hci_h5.c +3 -0
@@ -257,6 +257,9 @@ static int h5_close(struct hci_uart *hu)skb_queue_purge (&h5->rel);skb_queue_purge (&h5->unrel); +kfree_skb (h5->rx_skb); + h5->rx_skb =NULL ; +if (h5->vnd && h5->vnd->close) h5->vnd->close (h5);
drivers/bus/fsl-mc/fsl-mc-allocator.c +3 -1
@@ -292,8 +292,10 @@ int __must_check fsl_mc_object_allocate(struct fsl_mc_device *mc_dev, goto error; mc_adev = resource->data; -if (!mc_adev) +if (!mc_adev) { + error = -EINVAL ; goto error; + } *new_mc_adev = mc_adev;return 0 ;
drivers/bus/mips_cdmm.c +1 -3
@@ -544,10 +544,8 @@ static void mips_cdmm_bus_discover(struct mips_cdmm_bus *bus)dev_set_name (&dev->dev,"cdmm%u-%u" , cpu, id); ++id; ret =device_register (&dev->dev); -if (ret) { +if (ret)put_device (&dev->dev); -kfree (dev); - } } }
drivers/clk/clk-s2mps11.c +1 -0
@@ -211,6 +211,7 @@ static int s2mps11_clk_probe(struct platform_device *pdev)return ret; err_reg: +of_node_put (s2mps11_clks[0 ].clk_np);while (--i >=0 )clkdev_drop (s2mps11_clks[i].lookup);
drivers/clk/mvebu/armada-37xx-xtal.c +2 -2
@@ -15,8 +15,8 @@#include <linux/platform_device.h> #include <linux/regmap.h> -#define NB_GPIO1_LATCH 0xC -#define XTAL_MODE BIT(31) +#define NB_GPIO1_LATCH 0x8 +#define XTAL_MODE BIT(9)static int armada_3700_xtal_clock_probe (struct platform_device *pdev) {
drivers/clk/renesas/r9a06g032-clocks.c +1 -1
@@ -51,7 +51,7 @@ struct r9a06g032_clkdesc {u16 sel, g1, r1, g2, r2; } dual; }; -} __packed; +};#define I_GATE (_clk, _rst, _rdy, _midle, _scon, _mirack, _mistat) \ { .gate = _clk, .reset = _rst, \
drivers/clk/sunxi-ng/ccu-sun50i-a64.c +1 -0
@@ -381,6 +381,7 @@ static struct clk_div_table ths_div_table[] = { { .val = 1, .div = 2 }, { .val = 2, .div = 4 }, { .val = 3, .div = 6 }, + { /* Sentinel */ }, };static const char *const ths_parents[] = {"osc24M" };static struct ccu_div ths_clk = {
drivers/clk/sunxi-ng/ccu-sun8i-h3.c +1 -0
@@ -328,6 +328,7 @@ static struct clk_div_table ths_div_table[] = { { .val = 1, .div = 2 }, { .val = 2, .div = 4 }, { .val = 3, .div = 6 }, + { /* Sentinel */ }, }; static SUNXI_CCU_DIV_TABLE_WITH_GATE(ths_clk, "ths", "osc24M", 0x074, 0, 2, ths_div_table, BIT(31), 0);
drivers/clk/tegra/clk-id.h +1 -0
@@ -233,6 +233,7 @@ enum clk_id { tegra_clk_sdmmc4, tegra_clk_sdmmc4_8, tegra_clk_se, + tegra_clk_se_10, tegra_clk_soc_therm, tegra_clk_soc_therm_8, tegra_clk_sor0,
drivers/clk/tegra/clk-tegra-periph.c +1 -1
@@ -650,7 +650,7 @@ static struct tegra_periph_init_data periph_clks[] = {INT8 ("host1x" , mux_pllm_pllc2_c_c3_pllp_plla,CLK_SOURCE_HOST1X ,28 ,0 , tegra_clk_host1x_8),INT8 ("host1x" , mux_pllc4_out1_pllc_pllc4_out2_pllp_clkm_plla_pllc4_out0,CLK_SOURCE_HOST1X ,28 ,0 , tegra_clk_host1x_9),INT8 ("se" , mux_pllp_pllc2_c_c3_pllm_clkm,CLK_SOURCE_SE ,127 ,TEGRA_PERIPH_ON_APB , tegra_clk_se), -INT8 ("se" , mux_pllp_pllc2_c_c3_clkm,CLK_SOURCE_SE ,127 ,TEGRA_PERIPH_ON_APB , tegra_clk_se), +INT8 ("se" , mux_pllp_pllc2_c_c3_clkm,CLK_SOURCE_SE ,127 ,TEGRA_PERIPH_ON_APB , tegra_clk_se_10),INT8 ("2d" , mux_pllm_pllc2_c_c3_pllp_plla,CLK_SOURCE_2D ,21 ,0 , tegra_clk_gr2d_8),INT8 ("3d" , mux_pllm_pllc2_c_c3_pllp_plla,CLK_SOURCE_3D ,24 ,0 , tegra_clk_gr3d_8), INT8("vic03", mux_pllm_pllc_pllp_plla_pllc2_c3_clkm, CLK_SOURCE_VIC03, 178, 0, tegra_clk_vic03),
drivers/clk/ti/fapll.c +9 -2
@@ -497,6 +497,7 @@ static struct clk * __init ti_fapll_synth_setup(struct fapll_data *fd, {struct clk_init_data *init;struct fapll_synth *synth; +struct clk *clk =ERR_PTR (-ENOMEM ); init =kzalloc (sizeof (*init),GFP_KERNEL );if (!init)
@@ -519,13 +520,19 @@ static struct clk * __init ti_fapll_synth_setup(struct fapll_data *fd, synth->hw.init = init; synth->clk_pll = pll_clk; -return clk_register (NULL , &synth->hw); + clk =clk_register (NULL , &synth->hw); +if (IS_ERR (clk)) { +pr_err ("failed to register clock\n" ); + goto free; + } + +return clk; free:kfree (synth);kfree (init); -return ERR_PTR (-ENOMEM ); +return clk; }static void __init ti_fapll_setup (struct device_node *node)
drivers/clocksource/arm_arch_timer.c +16 -7
@@ -827,15 +827,24 @@ static void arch_timer_evtstrm_enable(int divider)static void arch_timer_configure_evtstream (void ) { -int evt_stream_div, pos; +int evt_stream_div, lsb; + +/* +* As the event stream can at most be generated at half the frequency +* of the counter, use half the frequency when computing the divider. +*/ + evt_stream_div = arch_timer_rate /ARCH_TIMER_EVT_STREAM_FREQ /2 ; + +/* +* Find the closest power of two to the divisor. If the adjacent bit +* of lsb (last set bit, starts from 0) is set, then we use (lsb + 1). +*/ + lsb =fls (evt_stream_div) -1 ; +if (lsb >0 && (evt_stream_div &BIT (lsb -1 ))) + lsb++; -/* Find the closest power of two to the divisor */ - evt_stream_div = arch_timer_rate /ARCH_TIMER_EVT_STREAM_FREQ ; - pos =fls (evt_stream_div); -if (pos >1 && !(evt_stream_div & (1 << (pos -2 )))) - pos--;/* enable event stream */ -arch_timer_evtstrm_enable (min (pos,15 )); +arch_timer_evtstrm_enable (max (0 ,min (lsb,15 ))); }static void arch_counter_set_user_access (void )
drivers/clocksource/cadence_ttc_timer.c +9 -9
@@ -419,10 +419,8 @@ static int __init ttc_setup_clockevent(struct clk *clk, ttcce->ttc.clk = clk; err =clk_prepare_enable (ttcce->ttc.clk); -if (err) { -kfree (ttcce); -return err; - } +if (err) + goto out_kfree; ttcce->ttc.clk_rate_change_nb.notifier_call = ttc_rate_change_clockevent_cb;
@@ -432,7 +430,7 @@ static int __init ttc_setup_clockevent(struct clk *clk, &ttcce->ttc.clk_rate_change_nb);if (err) {pr_warn ("Unable to register clock notifier.\n" ); -return err; + goto out_kfree; } ttcce->ttc.freq =clk_get_rate (ttcce->ttc.clk);
@@ -461,15 +459,17 @@ static int __init ttc_setup_clockevent(struct clk *clk, err =request_irq (irq, ttc_clock_event_interrupt,IRQF_TIMER , ttcce->ce.name, ttcce); -if (err) { -kfree (ttcce); -return err; - } +if (err) + goto out_kfree;clockevents_config_and_register (&ttcce->ce, ttcce->ttc.freq /PRESCALE ,1 ,0xfffe );return 0 ; + +out_kfree: +kfree (ttcce); +return err; }/**
drivers/cpufreq/highbank-cpufreq.c +7 -0
@@ -104,6 +104,13 @@ static int hb_cpufreq_driver_init(void) }module_init (hb_cpufreq_driver_init); +static const struct of_device_id __maybe_unused hb_cpufreq_of_match[] = { + { .compatible ="calxeda,highbank" }, + { .compatible ="calxeda,ecx-2000" }, + { }, +}; +MODULE_DEVICE_TABLE (of, hb_cpufreq_of_match); +MODULE_AUTHOR ("Mark Langsdorf <[email protected]>" );MODULE_DESCRIPTION ("Calxeda Highbank cpufreq driver" );MODULE_LICENSE ("GPL" );
drivers/cpufreq/loongson1-cpufreq.c +1 -0
@@ -217,6 +217,7 @@ static struct platform_driver ls1x_cpufreq_platdrv = {module_platform_driver (ls1x_cpufreq_platdrv); +MODULE_ALIAS ("platform:ls1x-cpufreq" );MODULE_AUTHOR ("Kelvin Cheung <[email protected]>" );MODULE_DESCRIPTION ("Loongson1 CPUFreq driver" );MODULE_LICENSE ("GPL" );
drivers/cpufreq/mediatek-cpufreq.c +1 -0
@@ -554,6 +554,7 @@ static const struct of_device_id mtk_cpufreq_machines[] __initconst = { { } }; +MODULE_DEVICE_TABLE (of, mtk_cpufreq_machines);static int __init mtk_cpufreq_driver_init (void ) {
drivers/cpufreq/scpi-cpufreq.c +1 -0
@@ -246,6 +246,7 @@ static struct platform_driver scpi_cpufreq_platdrv = { };module_platform_driver (scpi_cpufreq_platdrv); +MODULE_ALIAS ("platform:scpi-cpufreq" );MODULE_AUTHOR ("Sudeep Holla <[email protected]>" );MODULE_DESCRIPTION ("ARM SCPI CPUFreq interface driver" );MODULE_LICENSE ("GPL v2" );
drivers/cpufreq/sti-cpufreq.c +7 -0
@@ -295,6 +295,13 @@ static int sti_cpufreq_init(void) }module_init (sti_cpufreq_init); +static const struct of_device_id __maybe_unused sti_cpufreq_of_match[] = { + { .compatible ="st,stih407" }, + { .compatible ="st,stih410" }, + { }, +}; +MODULE_DEVICE_TABLE (of, sti_cpufreq_of_match); +MODULE_DESCRIPTION ("STMicroelectronics CPUFreq/OPP driver" );MODULE_AUTHOR ("Ajitpal Singh <[email protected]>" );MODULE_AUTHOR ("Lee Jones <[email protected]>" );
drivers/crypto/amcc/crypto4xx_core.c +1 -1
@@ -926,7 +926,7 @@ int crypto4xx_build_pd(struct crypto_async_request *req, } pd->pd_ctl.w =PD_CTL_HOST_READY | - ((crypto_tfm_alg_type (req->tfm) ==CRYPTO_ALG_TYPE_AHASH ) | + ((crypto_tfm_alg_type (req->tfm) ==CRYPTO_ALG_TYPE_AHASH ) || (crypto_tfm_alg_type (req->tfm) ==CRYPTO_ALG_TYPE_AEAD ) ?PD_CTL_HASH_FINAL :0 ); pd->pd_ctl_len.w =0x00400000 | (assoclen + datalen);
drivers/crypto/inside-secure/safexcel.c +1 -1
@@ -1066,7 +1066,7 @@ static int safexcel_probe(struct platform_device *pdev) priv->ring[i].rdr_req =devm_kcalloc (dev,EIP197_DEFAULT_RING_SIZE , -sizeof (priv->ring[i].rdr_req), +sizeof (*priv->ring[i].rdr_req),GFP_KERNEL );if (!priv->ring[i].rdr_req) { ret = -ENOMEM ;
drivers/crypto/omap-aes.c +2 -1
@@ -1163,7 +1163,7 @@ static int omap_aes_probe(struct platform_device *pdev)if (err <0 ) {dev_err (dev,"%s: failed to get_sync(%d)\n" , __func__, err); - goto err_res; + goto err_pm_disable; }omap_aes_dma_stop (dd);
@@ -1276,6 +1276,7 @@ static int omap_aes_probe(struct platform_device *pdev)omap_aes_dma_cleanup (dd); err_irq:tasklet_kill (&dd->done_task); +err_pm_disable:pm_runtime_disable (dev); err_res: dd =NULL ;
drivers/crypto/qat/qat_common/qat_hal.c +1 -1
@@ -1189,7 +1189,7 @@ static int qat_hal_put_rel_rd_xfer(struct icp_qat_fw_loader_handle *handle,unsigned short mask;unsigned short dr_offset =0x10 ; - status = ctx_enables =qat_hal_rd_ae_csr (handle, ae,CTX_ENABLES ); + ctx_enables =qat_hal_rd_ae_csr (handle, ae,CTX_ENABLES );if (CE_INUSE_CONTEXTS & ctx_enables) {if (ctx &0x1 ) {pr_err ("QAT: bad 4-ctx mode,ctx=0x%x\n" , ctx);
drivers/crypto/talitos.c +5 -5
@@ -474,7 +474,7 @@ DEF_TALITOS2_DONE(ch1_3, TALITOS2_ISR_CH_1_3_DONE)/* * locate current (offending) descriptor */ -static u32 current_desc_hdr (struct device *dev,int ch) +static __be32 current_desc_hdr (struct device *dev,int ch) {struct talitos_private *priv =dev_get_drvdata (dev);int tail, iter;
@@ -492,7 +492,7 @@ static u32 current_desc_hdr(struct device *dev, int ch) iter = tail;while (priv->chan[ch].fifo[iter].dma_desc != cur_desc && - priv->chan[ch].fifo[iter].desc->next_desc != cur_desc) { + priv->chan[ch].fifo[iter].desc->next_desc !=cpu_to_be32 (cur_desc)) { iter = (iter +1 ) & (priv->fifo_len -1 );if (iter == tail) {dev_err (dev,"couldn't locate current descriptor\n" );
@@ -500,7 +500,7 @@ static u32 current_desc_hdr(struct device *dev, int ch) } } -if (priv->chan[ch].fifo[iter].desc->next_desc == cur_desc) { +if (priv->chan[ch].fifo[iter].desc->next_desc ==cpu_to_be32 (cur_desc)) {struct talitos_edesc *edesc; edesc = container_of(priv->chan[ch].fifo[iter].desc,
@@ -515,13 +515,13 @@ static u32 current_desc_hdr(struct device *dev, int ch)/* * user diagnostics; report root cause of error based on execution unit status */ -static void report_eu_error (struct device *dev,int ch,u32 desc_hdr) +static void report_eu_error (struct device *dev,int ch,__be32 desc_hdr) {struct talitos_private *priv =dev_get_drvdata (dev);int i;if (!desc_hdr) - desc_hdr =in_be32 (priv->chan[ch].reg +TALITOS_DESCBUF ); + desc_hdr =cpu_to_be32 (in_be32 (priv->chan[ch].reg +TALITOS_DESCBUF ));switch (desc_hdr &DESC_HDR_SEL0_MASK ) {case DESC_HDR_SEL0_AFEU :
drivers/dma/mv_xor_v2.c +3 -1
@@ -777,8 +777,10 @@ static int mv_xor_v2_probe(struct platform_device *pdev) goto disable_clk; msi_desc =first_msi_entry (&pdev->dev); -if (!msi_desc) +if (!msi_desc) { + ret = -ENODEV ; goto free_msi_irqs; + } xor_dev->msi_desc = msi_desc; ret = devm_request_irq(&pdev->dev, msi_desc->irq,
drivers/edac/amd64_edac.c +14 -12
@@ -18,6 +18,9 @@ static struct msr __percpu *msrs;/* Per-node stuff */ static struct ecc_settings **ecc_stngs; +/* Device for the PCI component */ +static struct device *pci_ctl_dev; +/* * Valid scrub rates for the K8 hardware memory scrubber. We map the scrubbing * bandwidth to a valid bit pattern. The 'set' operation finds the 'matching-
@@ -2563,6 +2566,9 @@ reserve_mc_sibling_devs(struct amd64_pvt *pvt, u16 pci_id1, u16 pci_id2)return -ENODEV ; } +if (!pci_ctl_dev) + pci_ctl_dev = &pvt->F0->dev; +edac_dbg (1 ,"F0: %s\n" ,pci_name (pvt->F0));edac_dbg (1 ,"F3: %s\n" ,pci_name (pvt->F3));edac_dbg (1 ,"F6: %s\n" ,pci_name (pvt->F6));
@@ -2587,6 +2593,9 @@ reserve_mc_sibling_devs(struct amd64_pvt *pvt, u16 pci_id1, u16 pci_id2)return -ENODEV ; } +if (!pci_ctl_dev) + pci_ctl_dev = &pvt->F2->dev; +edac_dbg (1 ,"F1: %s\n" ,pci_name (pvt->F1));edac_dbg (1 ,"F2: %s\n" ,pci_name (pvt->F2));edac_dbg (1 ,"F3: %s\n" ,pci_name (pvt->F3));
@@ -3441,21 +3450,10 @@ static void remove_one_instance(unsigned int nid)static void setup_pci_device (void ) { -struct mem_ctl_info *mci; -struct amd64_pvt *pvt; -if (pci_ctl)return ; - mci =edac_mc_find (0 ); -if (!mci) -return ; - - pvt = mci->pvt_info; -if (pvt->umc) - pci_ctl =edac_pci_create_generic_ctl (&pvt->F0->dev,EDAC_MOD_STR ); -else - pci_ctl =edac_pci_create_generic_ctl (&pvt->F2->dev,EDAC_MOD_STR ); + pci_ctl =edac_pci_create_generic_ctl (pci_ctl_dev,EDAC_MOD_STR );if (!pci_ctl) {pr_warn ("%s(): Unable to create PCI control\n" , __func__);pr_warn ("%s(): PCI error report via EDAC not set\n" , __func__);
@@ -3535,6 +3533,8 @@ static int __init amd64_edac_init(void)return 0 ; err_pci: + pci_ctl_dev =NULL ; +msrs_free (msrs); msrs =NULL ;
@@ -3566,6 +3566,8 @@ static void __exit amd64_edac_exit(void)kfree (ecc_stngs); ecc_stngs =NULL ; + pci_ctl_dev =NULL ; +msrs_free (msrs); msrs =NULL ; }
drivers/extcon/extcon-max77693.c +1 -1
@@ -1275,4 +1275,4 @@ module_platform_driver(max77693_muic_driver);MODULE_DESCRIPTION ("Maxim MAX77693 Extcon driver" );MODULE_AUTHOR ("Chanwoo Choi <[email protected]>" );MODULE_LICENSE ("GPL" ); -MODULE_ALIAS ("platform:extcon-max77693" ); +MODULE_ALIAS ("platform:max77693-muic" );
drivers/gpio/gpio-eic-sprd.c +1 -1
@@ -599,7 +599,7 @@ static int sprd_eic_probe(struct platform_device *pdev)*/ res =platform_get_resource (pdev,IORESOURCE_MEM , i);if (!res) -continue ; +break ; sprd_eic->base[i] =devm_ioremap_resource (&pdev->dev, res);if (IS_ERR (sprd_eic->base[i]))
drivers/gpio/gpio-mvebu.c +11 -5
@@ -1191,6 +1191,13 @@ static int mvebu_gpio_probe(struct platform_device *pdev)devm_gpiochip_add_data (&pdev->dev, &mvchip->chip, mvchip); +/* Some MVEBU SoCs have simple PWM support for GPIO lines */ +if (IS_ENABLED (CONFIG_PWM )) { + err =mvebu_pwm_probe (pdev, mvchip, id); +if (err) +return err; + } +/* Some gpio controllers do not provide irq support */ if (!have_irqs)return 0 ;
@@ -1200,7 +1207,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev)if (!mvchip->domain) {dev_err (&pdev->dev,"couldn't allocate irq domain %s (DT).\n" , mvchip->chip.label); -return -ENODEV ; + err = -ENODEV ; + goto err_pwm; } err = irq_alloc_domain_generic_chips(
@@ -1248,14 +1256,12 @@ static int mvebu_gpio_probe(struct platform_device *pdev) mvchip); } -/* Some MVEBU SoCs have simple PWM support for GPIO lines */ -if (IS_ENABLED (CONFIG_PWM )) -return mvebu_pwm_probe (pdev, mvchip, id); -return 0 ; err_domain:irq_domain_remove (mvchip->domain); +err_pwm: +pwmchip_remove (&mvchip->mvpwm->chip);return err; }
drivers/gpu/drm/drm_dp_aux_dev.c +1 -1
@@ -60,7 +60,7 @@ static struct drm_dp_aux_dev *drm_dp_aux_dev_get_by_minor(unsigned index)mutex_lock (&aux_idr_mutex); aux_dev =idr_find (&aux_idr, index); -if (!kref_get_unless_zero (&aux_dev->refcount)) +if (aux_dev && !kref_get_unless_zero (&aux_dev->refcount)) aux_dev =NULL ;mutex_unlock (&aux_idr_mutex);
drivers/gpu/drm/drm_dp_mst_topology.c +4 -3
@@ -2706,11 +2706,11 @@ bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, {int ret; - port =drm_dp_get_validated_port_ref (mgr, port); -if (!port) +if (slots <0 )return false; -if (slots <0 ) + port =drm_dp_get_validated_port_ref (mgr, port); +if (!port)return false;if (port->vcpi.vcpi >0 ) {
@@ -2725,6 +2725,7 @@ bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr,if (ret) {DRM_DEBUG_KMS ("failed to init vcpi slots=%d max=63 ret=%d\n" ,DIV_ROUND_UP (pbn, mgr->pbn_div), ret); +drm_dp_put_port (port); goto out; } DRM_DEBUG_KMS("initing vcpi for pbn=%d slots=%d\n",
drivers/gpu/drm/gma500/cdv_intel_dp.c +1 -1
@@ -2124,7 +2124,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_devDRM_INFO ("failed to retrieve link info, disabling eDP\n" );cdv_intel_dp_encoder_destroy (encoder);cdv_intel_dp_destroy (connector); - goto err_priv; + goto err_connector; }else { DRM_DEBUG_KMS("DPCD: Rev=%x LN_Rate=%x LN_CNT=%x LN_DOWNSP=%x\n", intel_dp->dpcd[0], intel_dp->dpcd[1],
drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c +8 -0
@@ -554,6 +554,7 @@ static int dsi_pll_10nm_restore_state(struct msm_dsi_pll *pll)struct pll_10nm_cached_state *cached = &pll_10nm->cached_state;void __iomem *phy_base = pll_10nm->phy_cmn_mmio;u32 val; +int ret; val =pll_read (pll_10nm->mmio + REG_DSI_10nm_PHY_PLL_PLL_OUTDIV_RATE); val &= ~0x3 ;
@@ -568,6 +569,13 @@ static int dsi_pll_10nm_restore_state(struct msm_dsi_pll *pll) val |= cached->pll_mux;pll_write (phy_base + REG_DSI_10nm_PHY_CMN_CLK_CFG1, val); + ret =dsi_pll_10nm_vco_set_rate (&pll->clk_hw, pll_10nm->vco_current_rate, pll_10nm->vco_ref_clk_rate); +if (ret) { +DRM_DEV_ERROR (&pll_10nm->pdev->dev, +"restore vco rate failed. ret=%d\n" , ret); +return ret; + } +DBG ("DSI PLL%d" , pll_10nm->id);return 0 ;
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +1 -0
@@ -763,6 +763,7 @@ static int omap_dmm_probe(struct platform_device *dev) &omap_dmm->refill_pa, GFP_KERNEL);if (!omap_dmm->refill_va) {dev_err (&dev->dev,"could not allocate refill memory\n" ); + ret = -ENOMEM ; goto fail; }
drivers/gpu/drm/tegra/drm.c +1 -1
@@ -242,7 +242,7 @@ static int tegra_drm_open(struct drm_device *drm, struct drm_file *filp)if (!fpriv)return -ENOMEM ; -idr_init (&fpriv->contexts); +idr_init_base (&fpriv->contexts,1 );mutex_init (&fpriv->lock); filp->driver_priv = fpriv;
drivers/gpu/drm/tegra/sor.c +8 -2
@@ -2668,17 +2668,23 @@ static int tegra_sor_init(struct host1x_client *client)if (err <0 ) {dev_err (sor->dev,"failed to deassert SOR reset: %d\n" , err); +clk_disable_unprepare (sor->clk);return err; } } err =clk_prepare_enable (sor->clk_safe); -if (err <0 ) +if (err <0 ) { +clk_disable_unprepare (sor->clk);return err; + } err =clk_prepare_enable (sor->clk_dp); -if (err <0 ) +if (err <0 ) { +clk_disable_unprepare (sor->clk_safe); +clk_disable_unprepare (sor->clk);return err; + }return 0 ; }
drivers/gpu/drm/tve200/tve200_drv.c +2 -2
@@ -223,8 +223,8 @@ static int tve200_probe(struct platform_device *pdev) } irq =platform_get_irq (pdev,0 ); -if (!irq) { - ret = -EINVAL ; +if (irq <0 ) { + ret = irq; goto clk_disable; }
drivers/gpu/drm/xen/xen_drm_front.c +1 -1
@@ -410,7 +410,7 @@ static int xen_drm_drv_dumb_create(struct drm_file *filp, args->size = args->pitch * args->height; obj =xen_drm_front_gem_create (dev, args->size); -if (IS_ERR_OR_NULL (obj)) { +if (IS_ERR (obj)) { ret =PTR_ERR (obj); goto fail; }
drivers/gpu/drm/xen/xen_drm_front_gem.c +4 -4
@@ -85,7 +85,7 @@ static struct xen_gem_object *gem_create(struct drm_device *dev, size_t size) size =round_up (size,PAGE_SIZE ); xen_obj =gem_create_obj (dev, size); -if (IS_ERR_OR_NULL (xen_obj)) +if (IS_ERR (xen_obj))return xen_obj;if (drm_info->front_info->cfg.be_alloc) {
@@ -119,7 +119,7 @@ static struct xen_gem_object *gem_create(struct drm_device *dev, size_t size)*/ xen_obj->num_pages =DIV_ROUND_UP (size,PAGE_SIZE ); xen_obj->pages =drm_gem_get_pages (&xen_obj->base); -if (IS_ERR_OR_NULL (xen_obj->pages)) { +if (IS_ERR (xen_obj->pages)) { ret =PTR_ERR (xen_obj->pages); xen_obj->pages =NULL ; goto fail;
@@ -138,7 +138,7 @@ struct drm_gem_object *xen_drm_front_gem_create(struct drm_device *dev,struct xen_gem_object *xen_obj; xen_obj =gem_create (dev, size); -if (IS_ERR_OR_NULL (xen_obj)) +if (IS_ERR (xen_obj))return ERR_CAST (xen_obj);return &xen_obj->base;
@@ -196,7 +196,7 @@ xen_drm_front_gem_import_sg_table(struct drm_device *dev, size = attach->dmabuf->size; xen_obj =gem_create_obj (dev, size); -if (IS_ERR_OR_NULL (xen_obj)) +if (IS_ERR (xen_obj))return ERR_CAST (xen_obj); ret =gem_alloc_pages_array (xen_obj, size);
drivers/gpu/drm/xen/xen_drm_front_kms.c +1 -1
@@ -59,7 +59,7 @@ fb_create(struct drm_device *dev, struct drm_file *filp,int ret; fb =drm_gem_fb_create_with_funcs (dev, filp, mode_cmd, &fb_funcs); -if (IS_ERR_OR_NULL (fb)) +if (IS_ERR (fb))return fb; gem_obj =drm_gem_object_lookup (filp, mode_cmd->handles[0 ]);
drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c +8 -0
@@ -397,6 +397,14 @@ static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] = { }, .driver_data = (void *)&sipodev_desc }, + { + .ident = "Vero K147", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VERO"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "K147"), + }, + .driver_data = (void *)&sipodev_desc + }, { } /* Terminate list */ };
drivers/hsi/controllers/omap_ssi_core.c +1 -1
@@ -389,7 +389,7 @@ static int ssi_add_controller(struct hsi_controller *ssi, err =ida_simple_get (&platform_omap_ssi_ida,0 ,0 ,GFP_KERNEL );if (err <0 ) - goto out_err; +return err; ssi->id = err; ssi->owner =THIS_MODULE ;
drivers/hwtracing/coresight/coresight-tmc-etr.c +2 -0
@@ -183,6 +183,8 @@ static int tmc_pages_alloc(struct tmc_pages *tmc_pages, }else { page =alloc_pages_node (node,GFP_KERNEL | __GFP_ZERO,0 ); +if (!page) + goto err; } paddr =dma_map_page (dev, page,0 ,PAGE_SIZE , dir);if (dma_mapping_error (dev, paddr))
drivers/iio/adc/rockchip_saradc.c +1 -1
@@ -383,7 +383,7 @@ static int rockchip_saradc_resume(struct device *dev) ret =clk_prepare_enable (info->clk);if (ret) -return ret; +clk_disable_unprepare (info->pclk);return ret; }
drivers/iio/imu/bmi160/bmi160_core.c +2 -2
@@ -385,8 +385,8 @@ static irqreturn_t bmi160_trigger_handler(int irq, void *p)struct iio_poll_func *pf = p;struct iio_dev *indio_dev = pf->indio_dev;struct bmi160_data *data =iio_priv (indio_dev); -__le16 buf[16 ]; -/* 3 sens x 3 axis x __le16 + 3 x __le16 pad + 4 x __le16 tstamp */ +__le16 buf[12 ]; +/* 2 sens x 3 axis x __le16 + 2 x __le16 pad + 4 x __le16 tstamp */ int i, ret, j =0 , base =BMI160_REG_DATA_MAGN_XOUT_L ;__le16 sample;
drivers/iio/industrialio-buffer.c +3 -3
@@ -850,12 +850,12 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev, indio_dev->masklength, in_ind + 1);while (in_ind != out_ind) { - in_ind =find_next_bit (indio_dev->active_scan_mask, - indio_dev->masklength, - in_ind +1 ); length =iio_storage_bytes_for_si (indio_dev, in_ind);/* Make sure we are aligned */ in_loc =roundup (in_loc, length) + length; + in_ind =find_next_bit (indio_dev->active_scan_mask, + indio_dev->masklength, + in_ind +1 ); } length =iio_storage_bytes_for_si (indio_dev, in_ind); out_loc =roundup (out_loc, length);
drivers/iio/light/rpr0521.c +13 -4
@@ -197,6 +197,17 @@ struct rpr0521_data {bool pxs_need_dis;struct regmap *regmap; + +/* +* Ensure correct naturally aligned timestamp. +* Note that the read will put garbage data into +* the padding but this should not be a problem +*/ +struct { +__le16 channels[3 ]; +u8 garbage; +s64 ts__aligned(8) ; + } scan; }; static IIO_CONST_ATTR(in_intensity_scale_available, RPR0521_ALS_SCALE_AVAIL);
@@ -452,8 +463,6 @@ static irqreturn_t rpr0521_trigger_consumer_handler(int irq, void *p)struct rpr0521_data *data =iio_priv (indio_dev);int err; -u8 buffer[16 ];/* 3 16-bit channels + padding + ts */ -/* Use irq timestamp when reasonable. */ if (iio_trigger_using_own (indio_dev) && data->irq_timestamp) { pf->timestamp = data->irq_timestamp;
@@ -464,11 +473,11 @@ static irqreturn_t rpr0521_trigger_consumer_handler(int irq, void *p) pf->timestamp =iio_get_time_ns (indio_dev); err =regmap_bulk_read (data->regmap,RPR0521_REG_PXS_DATA , - &buffer, + data->scan.channels, (3 *2 ) +1 );/* 3 * 16-bit + (discarded) int clear reg. */ if (!err)iio_push_to_buffers_with_timestamp (indio_dev, - buffer, pf->timestamp); + &data->scan, pf->timestamp);else dev_err (&data->client->dev,"Trigger consumer can't read from sensor.\n" );
drivers/iio/light/st_uvis25.h +5 -0
@@ -28,6 +28,11 @@ struct st_uvis25_hw {struct iio_trigger *trig;bool enabled;int irq; +/* Ensure timestamp is naturally aligned */ +struct { +u8 chan; +s64 ts__aligned(8) ; + } scan; };extern const struct dev_pm_ops st_uvis25_pm_ops;
drivers/iio/light/st_uvis25_core.c +5 -3
@@ -235,17 +235,19 @@ static const struct iio_buffer_setup_ops st_uvis25_buffer_ops = {static irqreturn_t st_uvis25_buffer_handler_thread (int irq,void *p) { -u8 buffer[ALIGN (sizeof (u8),sizeof (s64)) +sizeof (s64)];struct iio_poll_func *pf = p;struct iio_dev *iio_dev = pf->indio_dev;struct st_uvis25_hw *hw =iio_priv (iio_dev); +unsigned int val;int err; - err =regmap_read (hw->regmap,ST_UVIS25_REG_OUT_ADDR , (int *)buffer); + err =regmap_read (hw->regmap,ST_UVIS25_REG_OUT_ADDR , &val);if (err <0 ) goto out; -iio_push_to_buffers_with_timestamp (iio_dev, buffer, + hw->scan.chan = val; + +iio_push_to_buffers_with_timestamp (iio_dev, &hw->scan,iio_get_time_ns (iio_dev)); out:
drivers/iio/pressure/mpl3115.c +8 -1
@@ -147,7 +147,14 @@ static irqreturn_t mpl3115_trigger_handler(int irq, void *p)struct iio_poll_func *pf = p;struct iio_dev *indio_dev = pf->indio_dev;struct mpl3115_data *data =iio_priv (indio_dev); -u8 buffer[16 ];/* 32-bit channel + 16-bit channel + padding + ts */ +/* +* 32-bit channel + 16-bit channel + padding + ts +* Note that it is possible for only one of the first 2 +* channels to be enabled. If that happens, the first element +* of the buffer may be either 16 or 32-bits. As such we cannot +* use a simple structure definition to express this data layout. +*/ +u8 buffer[16 ]__aligned(8) ;int ret, pos =0 ;mutex_lock (&data->lock);
drivers/infiniband/core/cm.c +2 -0
@@ -1443,6 +1443,7 @@ int ib_send_cm_req(struct ib_cm_id *cm_id, id.local_id);if (IS_ERR (cm_id_priv->timewait_info)) { ret =PTR_ERR (cm_id_priv->timewait_info); + cm_id_priv->timewait_info =NULL ; goto out; }
@@ -1969,6 +1970,7 @@ static int cm_req_handler(struct cm_work *work) id.local_id);if (IS_ERR (cm_id_priv->timewait_info)) { ret =PTR_ERR (cm_id_priv->timewait_info); + cm_id_priv->timewait_info =NULL ; goto destroy; } cm_id_priv->timewait_info->work.remote_id = req_msg->local_comm_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c +1 -0
@@ -1838,6 +1838,7 @@ int bnxt_re_query_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr, goto out; } qp_attr->qp_state =__to_ib_qp_state (qplib_qp->state); + qp_attr->cur_qp_state =__to_ib_qp_state (qplib_qp->cur_qp_state); qp_attr->en_sqd_async_notify = qplib_qp->en_sqd_async_notify ?1 :0 ; qp_attr->qp_access_flags =__to_ib_access_flags (qplib_qp->access); qp_attr->pkey_index = qplib_qp->pkey_index;
drivers/infiniband/hw/cxgb4/cq.c +3 -0
@@ -1012,6 +1012,9 @@ struct ib_cq *c4iw_create_cq(struct ib_device *ibdev, rhp =to_c4iw_dev (ibdev); +if (entries <1 || entries > ibdev->attrs.max_cqe) +return ERR_PTR (-EINVAL ); +if (vector >= rhp->rdev.lldi.nciq)return ERR_PTR (-EINVAL );
drivers/infiniband/hw/mthca/mthca_cq.c +1 -1
@@ -609,7 +609,7 @@ static inline int mthca_poll_one(struct mthca_dev *dev, entry->byte_len =MTHCA_ATOMIC_BYTE_LEN ;break ;default : - entry->opcode =MTHCA_OPCODE_INVALID ; + entry->opcode =0xFF ;break ; } }else {
drivers/infiniband/hw/mthca/mthca_dev.h +0 -1
@@ -105,7 +105,6 @@ enum {MTHCA_OPCODE_ATOMIC_CS =0x11 ,MTHCA_OPCODE_ATOMIC_FA =0x12 , MTHCA_OPCODE_BIND_MW = 0x18, -MTHCA_OPCODE_INVALID =0xff }; enum {
drivers/infiniband/sw/rxe/rxe_req.c +2 -1
@@ -664,7 +664,8 @@ int rxe_requester(void *arg) }if (unlikely (qp_type (qp) ==IB_QPT_RC && - qp->req.psn > (qp->comp.psn +RXE_MAX_UNACKED_PSNS ))) { +psn_compare (qp->req.psn, (qp->comp.psn + +RXE_MAX_UNACKED_PSNS )) >0 )) { qp->req.wait_psn =1 ; goto exit; }
drivers/input/keyboard/cros_ec_keyb.c +1 -0
@@ -183,6 +183,7 @@ static void cros_ec_keyb_process(struct cros_ec_keyb *ckdev,"changed: [r%d c%d]: byte %02x\n" , row, col, new_state); +input_event (idev,EV_MSC ,MSC_SCAN , pos);input_report_key (idev, keycodes[pos], new_state); }
drivers/input/keyboard/omap4-keypad.c +53 -36
154 lines not on this page · raw message
drivers/input/misc/cm109.c +5 -2
@@ -571,12 +571,15 @@ static int cm109_input_open(struct input_dev *idev) dev->ctl_data->byte[HID_OR2 ] = dev->keybit; dev->ctl_data->byte[HID_OR3 ] =0x00 ; + dev->ctl_urb_pending =1 ; error =usb_submit_urb (dev->urb_ctl,GFP_KERNEL ); -if (error) +if (error) { + dev->ctl_urb_pending =0 ;dev_err (&dev->intf->dev,"%s: usb_submit_urb (urb_ctl) failed %d\n" , __func__, error); -else + }else { dev->open =1 ; + }mutex_unlock (&dev->pm_mutex);
drivers/input/mouse/cyapa_gen6.c +1 -1
@@ -573,7 +573,7 @@ static int cyapa_pip_retrieve_data_structure(struct cyapa *cyapa,memset (&cmd,0 ,sizeof (cmd));put_unaligned_le16 (PIP_OUTPUT_REPORT_ADDR , &cmd.head.addr); -put_unaligned_le16 (sizeof (cmd), &cmd.head.length -2 ); +put_unaligned_le16 (sizeof (cmd) -2 , &cmd.head.length); cmd.head.report_id =PIP_APP_CMD_REPORT_ID ; cmd.head.cmd_code =PIP_RETRIEVE_DATA_STRUCTURE ;put_unaligned_le16 (read_offset, &cmd.read_offset);
drivers/input/serio/i8042-x86ia64io.h +42 -0
48 lines not on this page · raw message
drivers/input/touchscreen/ads7846.c +31 -21
96 lines not on this page · raw message
drivers/input/touchscreen/goodix.c +12 -0
@@ -136,6 +136,18 @@ static const struct dmi_system_id rotated_screen[] = { DMI_MATCH(DMI_BIOS_DATE, "12/19/2014"), }, }, + { + .ident = "Teclast X98 Pro", + .matches = { +/* +* Only match BIOS date, because the manufacturers +* BIOS does not report the board name at all +* (sometimes)... +*/ +DMI_MATCH (DMI_BOARD_VENDOR ,"TECLAST" ), + DMI_MATCH(DMI_BIOS_DATE, "10/28/2015"), + }, + }, { .ident ="WinBook TW100" , .matches = {
drivers/irqchip/irq-alpine-msi.c +1 -2
@@ -165,8 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,return 0 ; err_sgi: -while (--i >=0 ) -irq_domain_free_irqs_parent (domain, virq, i); +irq_domain_free_irqs_parent (domain, virq, i -1 );alpine_msix_free_sgi (priv, sgi, nr_irqs);return err; }
drivers/irqchip/irq-gic-v3-its.c +3 -13
@@ -49,7 +49,6 @@#define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0)#define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1)#define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2) -#define ITS_FLAGS_SAVE_SUSPEND_STATE (1ULL << 3)#define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0)
@@ -3240,9 +3239,6 @@ static int its_save_disable(void)list_for_each_entry (its, &its_nodes, entry) {void __iomem *base; -if (!(its->flags &ITS_FLAGS_SAVE_SUSPEND_STATE )) -continue ; - base = its->base; its->ctlr_save =readl_relaxed (base +GITS_CTLR ); err =its_force_quiescent (base);
@@ -3261,9 +3257,6 @@ static int its_save_disable(void)list_for_each_entry_continue_reverse (its, &its_nodes, entry) {void __iomem *base; -if (!(its->flags &ITS_FLAGS_SAVE_SUSPEND_STATE )) -continue ; - base = its->base;writel_relaxed (its->ctlr_save, base +GITS_CTLR ); }
@@ -3283,9 +3276,6 @@ static void its_restore_enable(void)void __iomem *base;int i; -if (!(its->flags &ITS_FLAGS_SAVE_SUSPEND_STATE )) -continue ; - base = its->base;/*
@@ -3293,7 +3283,10 @@ static void its_restore_enable(void)* don't restore it since writing to CBASER or BASER<n> * registers is undefined according to the GIC v3 ITS * Specification. +* +* Firmware resuming with the ITS enabled is terminally broken. */ +WARN_ON (readl_relaxed (base +GITS_CTLR ) &GITS_CTLR_ENABLE ); ret =its_force_quiescent (base);if (ret) { pr_err("ITS@%pa: failed to quiesce on resume: %d\n",
@@ -3558,9 +3551,6 @@ static int __init its_probe_one(struct resource *res, ctlr |= GITS_CTLR_ImDe;writel_relaxed (ctlr, its->base +GITS_CTLR ); -if (GITS_TYPER_HCC (typer)) - its->flags |=ITS_FLAGS_SAVE_SUSPEND_STATE ; - err =its_init_domain (handle, its);if (err) goto out_free_tables;
drivers/md/dm-ioctl.c +1 -0
@@ -1575,6 +1575,7 @@ static int target_message(struct file *filp, struct dm_ioctl *param, size_t paraif (!argc) {DMWARN ("Empty message received." ); + r = -EINVAL ; goto out_argv; }
drivers/md/dm-table.c +0 -6
@@ -1336,12 +1336,6 @@ void dm_table_event_callback(struct dm_table *t,void dm_table_event (struct dm_table *t) { -/* -* You can no longer call dm_table_event() from interrupt -* context, use a bottom half instead. -*/ -BUG_ON (in_interrupt ()); -mutex_lock (&_event_lock);if (t->event_fn) t->event_fn (t->event_context);
drivers/md/md-cluster.c +38 -29
111 lines not on this page · raw message
drivers/md/md.c +15 -6
@@ -6564,8 +6564,10 @@ static int hot_remove_disk(struct mddev *mddev, dev_t dev) goto busy; kick_rdev: -if (mddev_is_clustered (mddev)) - md_cluster_ops->remove_disk (mddev, rdev); +if (mddev_is_clustered (mddev)) { +if (md_cluster_ops->remove_disk (mddev, rdev)) + goto busy; + }md_kick_rdev_from_array (rdev);set_bit (MD_SB_CHANGE_DEVS , &mddev->sb_flags);
@@ -6895,6 +6897,7 @@ static int update_raid_disks(struct mddev *mddev, int raid_disks)return -EINVAL ;if (mddev->sync_thread ||test_bit (MD_RECOVERY_RUNNING , &mddev->recovery) || +test_bit (MD_RESYNCING_REMOTE , &mddev->recovery) || mddev->reshape_position != MaxSector)return -EBUSY ;
@@ -7214,8 +7217,11 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode, err = -EBUSY ; goto out; } -WARN_ON_ONCE (test_bit (MD_CLOSING , &mddev->flags)); -set_bit (MD_CLOSING , &mddev->flags); +if (test_and_set_bit (MD_CLOSING , &mddev->flags)) { +mutex_unlock (&mddev->open_mutex); + err = -EBUSY ; + goto out; + } did_set_md_closing = true;mutex_unlock (&mddev->open_mutex);sync_blockdev (bdev);
@@ -9238,8 +9244,11 @@ static void check_sb_changes(struct mddev *mddev, struct md_rdev *rdev) } } -if (mddev->raid_disks !=le32_to_cpu (sb->raid_disks)) -update_raid_disks (mddev,le32_to_cpu (sb->raid_disks)); +if (mddev->raid_disks !=le32_to_cpu (sb->raid_disks)) { + ret =update_raid_disks (mddev,le32_to_cpu (sb->raid_disks)); +if (ret) +pr_warn ("md: updating array disks failed. %d\n" , ret); + }/* Finally set the event to be up to date */ mddev->events =le64_to_cpu (sb->events);
drivers/media/common/siano/smsdvb-main.c +4 -1
@@ -1180,12 +1180,15 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev, rc =dvb_create_media_graph (&client->adapter, true);if (rc <0 ) {pr_err ("dvb_create_media_graph failed %d\n" , rc); - goto client_error; + goto media_graph_error; }pr_info ("DVB interface registered.\n" );return 0 ; +media_graph_error: +smsdvb_debugfs_release (client); + client_error:dvb_unregister_frontend (&client->frontend);
drivers/media/i2c/max2175.c +1 -1
@@ -511,7 +511,7 @@ static void max2175_set_bbfilter(struct max2175 *ctx) } } -static bool max2175_set_csm_mode (struct max2175 *ctx, +static int max2175_set_csm_mode (struct max2175 *ctx,enum max2175_csm_mode new_mode) {int ret =max2175_poll_csm_ready (ctx);
drivers/media/pci/intel/ipu3/ipu3-cio2.c +34 -28
104 lines not on this page · raw message
drivers/media/pci/intel/ipu3/ipu3-cio2.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/pci/netup_unidvb/netup_unidvb_spi.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/media/pci/solo6x10/solo6x10-g723.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/usb/tm6000/tm6000-video.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/allwinner/sun4i-emac.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmgenet.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +17 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/en_netdev.c +14 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/en_tx.c +33 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +11 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/main.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan743x_ethtool.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +24 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/wmi-tlv.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/pcie/trans.c +27 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/orinoco/orinoco_usb.c +7 -7
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/pci/controller/dwc/pcie-qcom.c +12 -0
Lines of this file are not shown. View the raw message.
drivers/pinctrl/intel/pinctrl-baytrail.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/pinctrl/intel/pinctrl-merrifield.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/platform/x86/dell-smbios-base.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/power/supply/axp288_charger.c +17 -11
Lines of this file are not shown. View the raw message.
drivers/power/supply/bq24190_charger.c +15 -5
Lines of this file are not shown. View the raw message.
drivers/scsi/megaraid/megaraid_sas_base.c +11 -5
Lines of this file are not shown. View the raw message.
drivers/scsi/scsi_lib.c +86 -40
126 lines not on this page · raw message
drivers/soc/tegra/fuse/speedo-tegra210.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/gasket/gasket_interrupt.c +10 -5
Lines of this file are not shown. View the raw message.
drivers/staging/mt7621-spi/spi-mt7621.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/staging/speakup/speakup_dectlk.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/serial/digi_acceleport.c +13 -32
45 lines not on this page · raw message
drivers/usb/serial/keyspan_pda.c +34 -29
63 lines not on this page · raw message
drivers/xen/xenbus/xenbus_probe_backend.c +7 -0
Lines of this file are not shown. View the raw message.
kernel/sched/sched.h +18 -24
42 lines not on this page · raw message
net/netfilter/x_tables.c +15 -34
49 lines not on this page · raw message
net/sunrpc/xprt.c +49 -16
65 lines not on this page · raw message
samples/bpf/test_lwt_bpf.sh +0 -0
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c +3 -5
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_offload.py +1 -0
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.