Commit Graph

396 Commits

Author SHA1 Message Date
Michael Bestas
0d750eaafc Merge tag 'ASB-2024-08-05_4.19-stable' of https://android.googlesource.com/kernel/common into android-msm-pixel-4.19
https://source.android.com/docs/security/bulletin/2024-08-01
CVE-2024-36971

* tag 'ASB-2024-08-05_4.19-stable' of https://android.googlesource.com/kernel/common: (2363 commits)
  Linux 4.19.318
  i2c: rcar: bring hardware to known state when probing
  nilfs2: fix kernel bug on rename operation of broken directory
  SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
  tcp: avoid too many retransmit packets
  tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
  net: tcp: fix unexcepted socket die when snd_wnd is 0
  tcp: refactor tcp_retransmit_timer()
  libceph: fix race between delayed_work() and ceph_monc_stop()
  hpet: Support 32-bit userspace
  USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
  usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
  USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
  USB: serial: option: add Rolling RW350-GL variants
  USB: serial: option: add Netprisma LCUK54 series modules
  USB: serial: option: add support for Foxconn T99W651
  USB: serial: option: add Fibocom FM350-GL
  USB: serial: option: add Telit FN912 rmnet compositions
  USB: serial: option: add Telit generic core-dump composition
  ARM: davinci: Convert comma to semicolon
  ...

 Conflicts:
	Documentation/devicetree/bindings/sound/rt5645.txt
	android/abi_gki_aarch64.xml
	drivers/clk/qcom/clk-rcg2.c
	drivers/hwtracing/coresight/coresight-etm4x.c
	drivers/leds/leds-pwm.c
	drivers/mmc/core/host.c
	drivers/mmc/core/sdio.c
	drivers/mmc/host/cqhci.c
	drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
	drivers/rpmsg/qcom_glink_native.c
	drivers/scsi/ufs/ufshcd.c
	drivers/thermal/thermal_core.c
	drivers/usb/dwc3/core.c
	drivers/usb/gadget/function/f_ncm.c
	fs/f2fs/gc.c
	fs/pstore/ram_core.c
	include/linux/fs.h
	include/linux/timer.h
	include/net/tcp.h
	init/initramfs.c
	kernel/events/core.c
	kernel/sched/idle.c
	kernel/time/timer.c
	mm/page_alloc.c
	net/wireless/scan.c
	scripts/checkpatch.pl

Change-Id: Ice08f3ba5dc64a093bc381710ef2408d963cb983
2024-09-06 02:00:44 +03:00
Greg Kroah-Hartman
038c0dcdcd Merge d2d0b95ca1 ("block: Remove special-casing of compound pages") into android-mainline
Steps on the way to 4.19.307

Change-Id: Ia57840d96d36c5c4a67be2f7c69807e449728406
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-03-07 15:04:35 +00:00
Oleksij Rempel
93d63ccd20 spi: introduce SPI_MODE_X_MASK macro
[ Upstream commit 029b42d8519cef70c4fb5fcaccd08f1053ed2bf0 ]

Provide a macro to filter all SPI_MODE_0,1,2,3 mode in one run.

The latest SPI framework will parse the devicetree in following call
sequence: of_register_spi_device() -> of_spi_parse_dt()
So, driver do not need to pars the devicetree and will get prepared
flags in the probe.

On one hand it is good far most drivers. On other hand some drivers need to
filter flags provide by SPI framework and apply know to work flags. This drivers
may use SPI_MODE_X_MASK to filter MODE flags and set own, known flags:
  spi->flags &= ~SPI_MODE_X_MASK;
  spi->flags |= SPI_MODE_0;

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20201027095724.18654-2-o.rempel@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Stable-dep-of: 6d710b769c1f ("serial: sc16is7xx: add check for unsupported SPI modes during probe")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-23 08:12:39 +01:00
Greg Kroah-Hartman
8ff7a6bc60 Revert "spi: Fix use-after-free with devm_spi_alloc_*"
This reverts commit 28a5529068 which is
commit 794aaf01444d4e765e2b067cba01cc69c1c68ed9 upstream.

It breaks the abi for SPI drivers and shouldn't be a problem for Android
devices.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6bfd496ebbdcc490058e9e6c29ab29b8fee57b3e
2021-05-30 17:05:45 +02:00
William A. Kennington III
28a5529068 spi: Fix use-after-free with devm_spi_alloc_*
[ Upstream commit 794aaf01444d4e765e2b067cba01cc69c1c68ed9 ]

We can't rely on the contents of the devres list during
spi_unregister_controller(), as the list is already torn down at the
time we perform devres_find() for devm_spi_release_controller. This
causes devices registered with devm_spi_alloc_{master,slave}() to be
mistakenly identified as legacy, non-devm managed devices and have their
reference counters decremented below 0.

------------[ cut here ]------------
WARNING: CPU: 1 PID: 660 at lib/refcount.c:28 refcount_warn_saturate+0x108/0x174
[<b0396f04>] (refcount_warn_saturate) from [<b03c56a4>] (kobject_put+0x90/0x98)
[<b03c5614>] (kobject_put) from [<b0447b4c>] (put_device+0x20/0x24)
 r4:b6700140
[<b0447b2c>] (put_device) from [<b07515e8>] (devm_spi_release_controller+0x3c/0x40)
[<b07515ac>] (devm_spi_release_controller) from [<b045343c>] (release_nodes+0x84/0xc4)
 r5:b6700180 r4:b6700100
[<b04533b8>] (release_nodes) from [<b0454160>] (devres_release_all+0x5c/0x60)
 r8:b1638c54 r7:b117ad94 r6:b1638c10 r5:b117ad94 r4:b163dc10
[<b0454104>] (devres_release_all) from [<b044e41c>] (__device_release_driver+0x144/0x1ec)
 r5:b117ad94 r4:b163dc10
[<b044e2d8>] (__device_release_driver) from [<b044f70c>] (device_driver_detach+0x84/0xa0)
 r9:00000000 r8:00000000 r7:b117ad94 r6:b163dc54 r5:b1638c10 r4:b163dc10
[<b044f688>] (device_driver_detach) from [<b044d274>] (unbind_store+0xe4/0xf8)

Instead, determine the devm allocation state as a flag on the
controller which is guaranteed to be stable during cleanup.

Fixes: 5e844cc37a5c ("spi: Introduce device-managed SPI controller allocation")
Signed-off-by: William A. Kennington III <wak@google.com>
Link: https://lore.kernel.org/r/20210407095527.2771582-1-wak@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-22 10:59:30 +02:00
JohnnLee
fad96b1c77 Merge branch 'LA.UM.9.12.R1.11.00.00.597.108' via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19
Conflicts:
	Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
	Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
	Documentation/devicetree/bindings/sound/wm8994.txt
	Documentation/devicetree/bindings/usb/dwc3.txt
	arch/arm64/configs/vendor/kona_defconfig
	arch/arm64/mm/init.c
	drivers/base/base.h
	drivers/base/core.c
	drivers/char/diag/diagfwd_rpmsg.c
	drivers/clk/clk.c
	drivers/gpu/msm/kgsl.c
	drivers/hwtracing/coresight/coresight-tmc-etf.c
	drivers/md/dm-default-key.c
	drivers/mmc/core/block.c
	drivers/mmc/core/queue.c
	drivers/mmc/host/sdhci-msm.c
	drivers/platform/msm/ipa/Makefile
	drivers/platform/msm/ipa/ipa_api.h
	drivers/platform/msm/usb_bam.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/qpnp-qg.c
	drivers/scsi/ufs/ufs-qcom.c
	drivers/scsi/ufs/ufshcd-crypto-qti.h
	drivers/scsi/ufs/ufshcd.c
	drivers/slimbus/qcom-ngd-ctrl.c
	drivers/soc/qcom/minidump_log.c
	drivers/soc/qcom/rq_stats.c
	drivers/tty/serial/msm_geni_serial.c
	drivers/usb/dwc3/gadget.c
	fs/crypto/crypto.c
	fs/crypto/keysetup_v1.c
	fs/f2fs/data.c
	fs/proc/task_mmu.c
	fs/sdcardfs/main.c
	include/crypto/ice.h
	include/linux/mm.h
	include/linux/power_supply.h
	include/linux/sched.h
	include/net/cfg80211.h
	include/soc/qcom/socinfo.h
	include/uapi/linux/v4l2-controls.h
	kernel/sched/cpufreq_schedutil.c
	kernel/sched/fair.c
	kernel/signal.c
	kernel/time/tick-sched.c
	mm/memory.c
	mm/oom_kill.c
	mm/vmalloc.c
	net/qrtr/qrtr.c

Bug: 182748782
Change-Id: I81b2744d0ce40a5e524c5e3aa4d505b3ed305f8e
Signed-off-by: JohnnLee <johnnlee@google.com>
2021-05-14 10:40:09 +08:00
Lucas Wei
598e89bf33 Merge android-4.19-stable (4.19.171) into android-msm-pixel-4.19-lts
Merge 4.19.171 into android-4.19-stable
Linux 4.19.171
    net: dsa: b53: fix an off by one in checking "vlan->vid"
  * net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled
      net/core/dev.c
    net: mscc: ocelot: allow offloading of bridge on top of LAG
  * ipv6: set multicast flag on the multicast route
      net/ipv6/addrconf.c
  * net_sched: reject silly cell_log in qdisc_get_rtab()
      net/sched/sch_api.c
    net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
  * ipv6: create multicast route with RTPROT_KERNEL
      net/ipv6/addrconf.c
  * udp: mask TOS bits in udp_v4_early_demux()
      net/ipv4/udp.c
    kasan: fix incorrect arguments passing in kasan_add_zero_shadow
    kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
  * skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
      net/core/skbuff.c
    sh_eth: Fix power down vs. is_opened flag ordering
    sh: dma: fix kconfig dependency for G2_DMA
  * netfilter: rpfilter: mask ecn bits before fib lookup
      net/ipv4/netfilter/ipt_rpfilter.c
  * driver core: Extend device_is_dependent()
      drivers/base/core.c
    xhci: tegra: Delay for disabling LFPS detector
  * xhci: make sure TRB is fully written before giving it to the controller
      drivers/usb/host/xhci-ring.c
  * usb: bdc: Make bdc pci driver depend on BROKEN
      drivers/usb/gadget/udc/bdc/Kconfig
  * usb: udc: core: Use lock when write to soft_connect
      drivers/usb/gadget/udc/core.c
    usb: gadget: aspeed: fix stop dma register setting.
  * USB: ehci: fix an interrupt calltrace error
      drivers/usb/host/ehci-hub.c
  * ehci: fix EHCI host controller initialization sequence
      drivers/usb/host/ehci-hcd.c
    serial: mvebu-uart: fix tx lost characters at power off
    stm class: Fix module init return on allocation failure
    intel_th: pci: Add Alder Lake-P support
    irqchip/mips-cpu: Set IPI domain parent chip
    iio: ad5504: Fix setting power-down state
    can: peak_usb: fix use after free bugs
    can: vxcan: vxcan_xmit: fix use after free bug
    can: dev: can_restart: fix use after free bug
    selftests: net: fib_tests: remove duplicate log test
    platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow-list
    i2c: octeon: check correct size of maximum RECV_LEN packet
    scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression
    drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0
    drm/nouveau/mmu: fix vram heap sizing
    drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    drm/nouveau/privring: ack interrupts the same way as RM
    drm/nouveau/bios: fix issue shadowing expansion ROMs
  * xen: Fix event channel callback via INTX/GSI
      include/xen/xenbus.h
    clk: tegra30: Add hda clock default rates to clock driver
  * HID: Ignore battery for Elan touchscreen on ASUS UX550
      drivers/hid/hid-ids.h
      drivers/hid/hid-input.c
    riscv: Fix kernel time_init()
    scsi: qedi: Correct max length of CHAP secret
  * scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
      drivers/scsi/ufs/ufshcd.c
    ASoC: Intel: haswell: Add missing pm_ops
  * drm/atomic: put state on error path
      drivers/gpu/drm/drm_atomic_helper.c
    dm integrity: fix a crash if "recalculate" used without "internal_hash"
  * dm: avoid filesystem lookup in dm_get_dev_t()
      drivers/md/dm-table.c
    mmc: sdhci-xenon: fix 1.8v regulator stabilization
    mmc: core: don't initialize block size from ext_csd if not present
    btrfs: fix lockdep splat in btrfs_recover_relocation
    ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    ALSA: hda/via: Add minimum mute flag
    ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    i2c: bpmp-tegra: Ignore unknown I2C_M flags
  * Revert "ANDROID: Incremental fs: RCU locks instead of mutex for pending_reads."
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
  * Revert "ANDROID: Incremental fs: Fix minor bugs"
      fs/incfs/data_mgmt.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: dentry_revalidate should not return -EBADF."
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Remove annoying pr_debugs"
      fs/incfs/data_mgmt.c
  * Revert "ANDROID: Incremental fs: Remove unnecessary dependencies"
      fs/incfs/Kconfig
  * Revert "ANDROID: Incremental fs: Use R/W locks to read/write segment blockmap."
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/vfs.c
    Revert "ANDROID: Incremental fs: Stress tool"
    Revert "ANDROID: Incremental fs: Adding perf test"
    Revert "ANDROID: Incremental fs: Allow running a single test"
  * Revert "ANDROID: Incremental fs: Fix incfs to work on virtio-9p"
      fs/incfs/format.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Don't allow renaming .index directory."
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Create mapped file"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add UID to pending_read"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/main.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Separate pseudo-file code"
      fs/incfs/Makefile
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * Revert "ANDROID: Incremental fs: Add .blocks_written file"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/pseudo_files.h
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Remove attributes from file"
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
  * Revert "ANDROID: Incremental fs: Remove back links and crcs"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Remove block HASH flag"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Make compatible with existing files"
      fs/incfs/format.c
      fs/incfs/format.h
  * Revert "ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add hash block counts to IOC_IOCTL_GET_BLOCK_COUNT"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Fix filled block count from get filled blocks"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      fs/incfs/vfs.h
  * Revert "ANDROID: Incremental fs: Fix uninitialized variable"
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Fix dangling else"
      fs/incfs/data_mgmt.c
  * Revert "ANDROID: Incremental fs: Add .incomplete folder"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Add per UID read timeouts"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Fix misuse of cpu_to_leXX and poll return"
      fs/incfs/format.c
      fs/incfs/pseudo_files.c
    Revert "ANDROID: Incremental fs: Fix read_log_test which failed sporadically"
  * Revert "ANDROID: Incremental fs: Initialize mount options correctly"
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Small improvements"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
  * Revert "ANDROID: Incremental fs: Add zstd compression support"
      fs/incfs/Kconfig
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/format.h
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add zstd feature flag"
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Add v2 feature flag"
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * Revert "ANDROID: Incremental fs: Change per UID timeouts to microseconds"
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
    Revert "ANDROID: Incremental fs: Fix incfs_test use of atol, open"
  * Revert "ANDROID: Incremental fs: Set credentials before reading/writing"
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
    ANDROID: GKI: Update ABI for clang bump
    ANDROID: clang: update to 12.0.1
    Revert "ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64"
    ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64
    Merge 4.19.170 into android-4.19-stable
Linux 4.19.170
    spi: cadence: cache reference clock rate during probe
  * net: ipv6: Validate GSO SKB before finish IPv6 processing
      net/ipv6/ip6_output.c
  * net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
      include/linux/skbuff.h
  * net: introduce skb_list_walk_safe for skb segment walking
      include/linux/skbuff.h
  * tipc: fix NULL deref in tipc_link_xmit()
      net/tipc/link.c
    rxrpc: Fix handling of an unsupported token type in rxrpc_read()
  * net: avoid 32 x truesize under-estimation for tiny skbs
      net/core/skbuff.c
  * net: sit: unregister_netdevice on newlink's error path
      net/ipv6/sit.c
    net: stmmac: Fixed mtu channged by cache aligned
    rxrpc: Call state should be read with READ_ONCE() under some circumstances
    net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    net: dcb: Validate netlink message in DCB handler
  * esp: avoid unneeded kmap_atomic call
      net/ipv4/esp4.c
      net/ipv6/esp6.c
    rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    net: mvpp2: Remove Pause and Asym_Pause support
    netxen_nic: fix MSI/MSI-x interrupts
  * udp: Prevent reuseport_select_sock from reading uninitialized socks
      net/core/sock_reuseport.c
    nfsd4: readdirplus shouldn't return parent of export
    crypto: x86/crc32c - fix building with clang ias
  * dm integrity: fix flush with external metadata device
      drivers/md/dm-bufio.c
      include/linux/dm-bufio.h
  * compiler.h: Raise minimum version of GCC to 5.1 for arm64
      include/linux/compiler-gcc.h
  * usb: ohci: Make distrust_firmware param default to false
      drivers/usb/host/ohci-hcd.c
    ANDROID: GKI: Update the ABI xml and symbol list
  * ANDROID: GKI: genirq: export `kstat_irqs_usr` for watchdog
      kernel/irq/irqdesc.c
  * ANDROID: GKI: soc: qcom: export `irq_stack_ptr`
      arch/arm64/kernel/irq.c
  * ANDROID: ASoC: core: add locked version of soc_find_component
      sound/soc/soc-core.c
  * ANDROID: dm-user: Fix the list walk-and-delete code
      drivers/md/dm-user.c
    Merge 4.19.169 into android-4.19-stable
Linux 4.19.169
  * kbuild: enforce -Werror=return-type
      Makefile
  * netfilter: nf_nat: Fix memleak in nf_nat_init
      net/netfilter/nf_nat_core.c
  * netfilter: conntrack: fix reading nf_conntrack_buckets
      net/netfilter/nf_conntrack_standalone.c
    ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
  * dm: eliminate potential source of excessive kernel log noise
      drivers/md/dm.c
    net: sunrpc: interpret the return value of kstrtou32 correctly
  * mm, slub: consider rest of partial list if acquire_slab() fails
      mm/slub.c
    RDMA/mlx5: Fix wrong free of blue flame register on error
    RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
  * ext4: fix superblock checksum failure when setting password salt
      fs/ext4/ioctl.c
    NFS: nfs_igrab_and_active must first reference the superblock
    NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
    pNFS: Mark layout for return if return-on-close was not sent
    NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    ASoC: Intel: fix error code cnl_set_dsp_D0()
    ASoC: meson: axg-tdm-interface: fix loopback
  * dump_common_audit_data(): fix racy accesses to ->d_name
      security/lsm_audit.c
    ima: Remove __init annotation from ima_pcrread()
    ARM: picoxcell: fix missing interrupt-parent properties
    drm/msm: Call msm_init_vram before binding the gpu
  * ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
      include/linux/acpi.h
    net: ethernet: fs_enet: Add missing MODULE_LICENSE
  * misdn: dsp: select CONFIG_BITREVERSE
      drivers/isdn/mISDN/Kconfig
    arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
    bfq: Fix computation of shallow depth
    ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    ARC: build: add boot_targets to PHONY
    ARC: build: add uImage.lzma to the top-level target
    ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
  * ext4: fix bug for rename with RENAME_WHITEOUT
      fs/ext4/namei.c
  * r8152: Add Lenovo Powered USB-C Travel Hub
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/r8152.c
    dm integrity: fix the maximum number of arguments
  * dm snapshot: flush merged data before committing metadata
      drivers/md/dm-snap.c
    mm/hugetlb: fix potential missing huge page size info
    ACPI: scan: Harden acpi_device_add() against device ID overflows
    MIPS: relocatable: fix possible boot hangup with KASLR enabled
    MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
  * tracing/kprobes: Do the notrace functions check without kprobes on ftrace
      kernel/trace/Kconfig
    x86/hyperv: check cpu mask after interrupt has been disabled
  * ASoC: dapm: remove widget from dirty list on free
      sound/soc/soc-dapm.c
  * Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
      mm/mprotect.c
    Merge 4.19.168 into android-4.19-stable
Linux 4.19.168
  * regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
      drivers/base/regmap/regmap-debugfs.c
  * net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
      net/core/skbuff.c
  * block: fix use-after-free in disk_part_iter_next
      block/genhd.c
    KVM: arm64: Don't access PMCR_EL0 when no PMU is available
  * wan: ds26522: select CONFIG_BITREVERSE
      drivers/net/wan/Kconfig
  * regmap: debugfs: Fix a memory leak when calling regmap_attach_dev
      drivers/base/regmap/regmap-debugfs.c
    net/mlx5e: Fix two double free cases
    net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    iommu/intel: Fix memleak in intel_irq_remapping_alloc
  * lightnvm: select CONFIG_CRC32
      drivers/lightnvm/Kconfig
  * block: rsxx: select CONFIG_CRC32
      drivers/block/Kconfig
  * wil6210: select CONFIG_CRC32
      drivers/net/wireless/ath/wil6210/Kconfig
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    dmaengine: xilinx_dma: check dma_async_device_register return value
    dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    spi: stm32: FIFO threshold level - fix align packet size
    cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    i2c: sprd: use a specific timeout to avoid system hang up issue
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    HID: wacom: Fix memory leakage caused by kfifo_alloc
    iio: imu: st_lsm6dsx: fix edge-trigger interrupts
    iio: imu: st_lsm6dsx: flip irq return logic
    spi: pxa2xx: Fix use-after-free on unbind
    drm/i915: Fix mismatch between misplaced vma check and vma insert
  * vmlinux.lds.h: Add PGO and AutoFDO input sections
      include/asm-generic/vmlinux.lds.h
    x86/resctrl: Don't move a task to the same resource group
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    chtls: Fix chtls resources release sequence
    chtls: Added a check to avoid NULL pointer dereference
    chtls: Replace skb_dequeue with skb_peek
    chtls: Fix panic when route to peer not configured
    chtls: Remove invalid set_tcb call
    chtls: Fix hardware tid leak
  * net: ipv6: fib: flush exceptions when purging route
      net/ipv6/ip6_fib.c
  * net: fix pmtu check in nopmtudisc mode
      net/ipv4/ip_tunnel.c
  * net: ip: always refragment ip defragmented packets
      net/ipv4/ip_output.c
    net/sonic: Fix some resource leaks in error handling paths
    net: vlan: avoid leaks on register_vlan_dev() failures
    net: stmmac: dwmac-sun8i: Balance internal PHY power
    net: stmmac: dwmac-sun8i: Balance internal PHY resource references
    net: hns3: fix the number of queues actually used by ARQ
  * net: cdc_ncm: correct overhead in delayed_ndp_size
      drivers/net/usb/cdc_ncm.c
  * BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once
      mm/mprotect.c
  * ANDROID: dm-user: fix typo in channel_free
      drivers/md/dm-user.c
    Merge 4.19.167 into android-4.19-stable
  * ANDROID: dm-user: Add some missing static
      drivers/md/dm-user.c
Linux 4.19.167
    scsi: target: Fix XCOPY NAA identifier lookup
    KVM: x86: fix shift out of bounds reported by UBSAN
    x86/mtrr: Correct the range check before performing MTRR type lookups
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
  * netfilter: x_tables: Update remaining dereference to RCU
      net/ipv4/netfilter/arp_tables.c
      net/ipv4/netfilter/ip_tables.c
      net/ipv6/netfilter/ip6_tables.c
    xen/pvh: correctly setup the PV EFI interface for dom0
  * Revert "device property: Keep secondary firmware node secondary by type"
      drivers/base/core.c
    btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    ALSA: hda/conexant: add a new hda codec CX11970
    ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    x86/mm: Fix leak of pmd ptlock
    USB: serial: keyspan_pda: remove unused variable
  * usb: gadget: configfs: Fix use-after-free issue with udc_name
      drivers/usb/gadget/configfs.c
  * usb: gadget: configfs: Preserve function ordering after bind failure
      drivers/usb/gadget/configfs.c
  * usb: gadget: Fix spinlock lockup on usb_function_deactivate
      drivers/usb/gadget/composite.c
    USB: gadget: legacy: fix return error code in acm_ms_bind()
  * usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
      drivers/usb/gadget/function/u_ether.c
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: f_uac2: reset wMaxPacketSize
  * usb: gadget: select CONFIG_CRC32
      drivers/usb/gadget/Kconfig
  * ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
      sound/usb/midi.c
    USB: usblp: fix DMA to stack
    USB: yurex: fix control-URB timeout handling
    USB: serial: option: add Quectel EM160R-GL
    USB: serial: option: add LongSung M5710 module support
    USB: serial: iuu_phoenix: fix DMA from stack
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    usb: usbip: vhci_hcd: protect shift size
  * USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
      drivers/usb/host/xhci.c
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
  * usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
      drivers/usb/dwc3/core.h
    USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    USB: cdc-acm: blacklist another IR Droid device
  * usb: gadget: enable super speed plus
      drivers/usb/gadget/configfs.c
    staging: mt7621-dma: Fix a resource leak in an error handling path
  * crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
      crypto/ecdh.c
    video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
    Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
  * net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
      net/core/net-sysfs.c
  * net-sysfs: take the rtnl lock when storing xps_rxqs
      net/core/net-sysfs.c
  * net: sched: prevent invalid Scell_log shift count
      include/net/red.h
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    r8169: work around power-saving bug on some chip versions
    net: usb: qmi_wwan: add Quectel EM160R-GL
  * CDC-NCM: remove "connected" log message
      drivers/net/usb/cdc_ncm.c
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
  * erspan: fix version 1 check in gre_parse_header()
      net/ipv4/gre_demux.c
    net: hns: fix return value check in __lb_other_process()
  * ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
      net/ipv4/fib_frontend.c
  * tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
      drivers/net/tun.c
    net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
  * net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
      net/core/net-sysfs.c
  * net-sysfs: take the rtnl lock when storing xps_cpus
      net/core/net-sysfs.c
    net: ethernet: Fix memleak in ethoc_probe
    net/ncsi: Use real net-device for response handler
    virtio_net: Fix recursive call to cpus_read_lock()
    qede: fix offload for IPIP tunnel packets
    net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    atm: idt77252: call pci_disable_device() on error path
    ethernet: ucc_geth: set dev->max_mtu to 1518
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    net: mvpp2: Add TCAM entry to drop flow control pause frames
    i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
  * proc: fix lookup in /proc/net subdirectories after setns(2)
      fs/proc/generic.c
      fs/proc/internal.h
      fs/proc/proc_net.c
      include/linux/proc_fs.h
  * proc: change ->nlink under proc_subdir_lock
      fs/proc/generic.c
    depmod: handle the case of /sbin/depmod without /sbin in PATH
  * lib/genalloc: fix the overflow when size is too big
      lib/genalloc.c
    scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
  * scsi: ufs: Fix wrong print message in dev_err()
      drivers/scsi/ufs/ufshcd.c
  * workqueue: Kick a worker based on the actual activation of delayed works
      kernel/workqueue.c
  * kbuild: don't hardcode depmod path
      Makefile
    ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64
  * Revert "ANDROID: arm64: lse: fix LSE atomics with LTO"
      arch/arm64/include/asm/lse.h
  * ANDROID: uapi: Add dm-user structure definition
      include/uapi/linux/dm-user.h
  * ANDROID: dm: dm-user: New target that proxies BIOs to userspace
      drivers/md/Kconfig
      drivers/md/Makefile
      drivers/md/dm-user.c
    ANDROID: GKI: Enable XFRM_MIGRATE
    Merge 4.19.166 into android-4.19-stable
Linux 4.19.166
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    iio:magnetometer:mag3110: Fix alignment and data leak issues.
    iio:imu:bmi160: Fix alignment and data leak issues
  * kdev_t: always inline major/minor helper functions
      include/linux/kdev_t.h
    dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()
    dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()
    dmaengine: at_hdmac: Substitute kzalloc with kmalloc
    Revert "mtd: spinand: Fix OOB read"
    Merge 4.19.165 into android-4.19-stable
Linux 4.19.165
  * dm verity: skip verity work if I/O error when system is shutting down
      drivers/md/dm-verity-target.c
  * ALSA: pcm: Clear the full allocated memory at hw_params
      sound/core/pcm_native.c
  * module: delay kobject uevent until after module init call
      kernel/module.c
    NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode
    powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
  * quota: Don't overflow quota file offsets
      fs/quota/quota_tree.c
  * module: set MODULE_STATE_GOING state when a module fails to load
      kernel/module.c
    rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
  * fcntl: Fix potential deadlock in send_sig{io, urg}()
      fs/fcntl.c
  * ALSA: rawmidi: Access runtime->avail always in spinlock
      sound/core/rawmidi.c
    ALSA: seq: Use bool for snd_seq_queue internal flags
    media: gp8psk: initialize stats at power control logic
    misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
    reiserfs: add check for an invalid ih_entry_count
    Bluetooth: hci_h5: close serdev device and free hu in h5_close
  * of: fix linker-section match-table corruption
      include/linux/of.h
    null_blk: Fix zone size initialization
    xen/gntdev.c: Mark pages as dirty
    powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
    KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits
    KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses
  * uapi: move constants from <linux/kernel.h> to <linux/const.h>
      include/uapi/linux/const.h
      include/uapi/linux/ethtool.h
      include/uapi/linux/kernel.h
      include/uapi/linux/lightnvm.h
      include/uapi/linux/mroute6.h
      include/uapi/linux/netfilter/x_tables.h
      include/uapi/linux/netlink.h
      include/uapi/linux/sysctl.h
  * ext4: don't remount read-only with errors=continue on reboot
      fs/ext4/super.c
    vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
    ubifs: prevent creating duplicate encrypted filenames
  * f2fs: prevent creating duplicate encrypted filenames
      fs/f2fs/f2fs.h
  * ext4: prevent creating duplicate encrypted filenames
      fs/ext4/namei.c
  * fscrypt: add fscrypt_is_nokey_name()
      fs/crypto/hooks.c
    md/raid10: initialize r10_bio->read_slot before use.
  * ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Avoid bitfields for shared variables
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Cancel any pending work before teardown
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Don't corrupt global state on double registration
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Fix teardown ordering in acc_release()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev'
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless assignment
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless non-debug prints
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove stale comments
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: gadget: f_accessory: fix CTS test stuck
      drivers/usb/gadget/function/f_accessory.c
  * Revert "seq_buf: Avoid type mismatch for seq_buf_init"
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    Merge 4.19.164 into android-4.19-stable
Linux 4.19.164
    platform/x86: mlx-platform: remove an unused variable
  * PCI: Fix pci_slot_release() NULL pointer dereference
      drivers/pci/slot.c
    platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
    libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
    xenbus/xenbus_backend: Disallow pending watch messages
  * xen/xenbus: Count pending messages for each watch
      include/xen/xenbus.h
    xen/xenbus/xen_bus_type: Support will_handle watch callback
  * xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
      include/xen/xenbus.h
  * xen/xenbus: Allow watches discard events before queueing
      include/xen/xenbus.h
    xen-blkback: set ring->xenblkd to NULL after kthread_stop()
    clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
    pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
    md/cluster: fix deadlock when node is doing resync job
    md/cluster: block reshape with remote resync job
    iio:imu:bmi160: Fix too large a buffer.
    iio:pressure:mpl3115: Force alignment of buffer
    iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
    iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
    iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
    iio: buffer: Fix demux update
    scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
    scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
    mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
    mtd: parser: cmdline: Fix parsing of part-names with colons
    mtd: spinand: Fix OOB read
  * soc: qcom: smp2p: Safely acquire spinlock without IRQs
      drivers/soc/qcom/smp2p.c
    spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
    spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
    spi: sc18is602: Don't leak SPI master in probe error path
    spi: rb4xx: Don't leak SPI master in probe error path
    spi: pic32: Don't leak DMA channels in probe error path
    spi: davinci: Fix use-after-free on unbind
    spi: spi-sh: Fix use-after-free on unbind
    drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
    jfs: Fix array index bounds check in dbAdjTree
    jffs2: Fix GC exit abnormally
    ubifs: wbuf: Don't leak kernel memory to flash
    SMB3.1.1: do not log warning message if server doesn't populate salt
    SMB3: avoid confusing warning message on mount to Azure
    ceph: fix race in concurrent __ceph_remove_cap invocations
    ima: Don't modify file descriptor mode on the fly
    powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
    powerpc/powernv/memtrace: Don't leak kernel memory to user space
    powerpc/xmon: Change printk() to pr_cont()
    powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
    powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
    ARM: dts: at91: sama5d2: fix CAN message ram offset and size
    ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
  * KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
      arch/arm64/include/asm/kvm_host.h
  * ext4: fix deadlock with fs freezing and EA inodes
      fs/ext4/inode.c
  * ext4: fix a memory leak of ext4_free_data
      fs/ext4/mballoc.c
    USB: serial: keyspan_pda: fix write unthrottling
    USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
    USB: serial: keyspan_pda: fix write-wakeup use-after-free
    USB: serial: keyspan_pda: fix stalled writes
    USB: serial: keyspan_pda: fix write deadlock
    USB: serial: keyspan_pda: fix dropped unthrottle interrupts
    USB: serial: digi_acceleport: fix write-wakeup deadlocks
    USB: serial: mos7720: fix parallel-port state restore
    EDAC/amd64: Fix PCI component registration
  * crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
      crypto/ecdh.c
    powerpc/perf: Exclude kernel samples while counting events in user space.
    staging: comedi: mf6x4: Fix AI end-of-conversion detection
    s390/dasd: fix list corruption of lcu list
    s390/dasd: fix list corruption of pavgroup group list
    s390/dasd: prevent inconsistent LCU device data
    s390/dasd: fix hanging device offline processing
    s390/kexec_file: fix diag308 subcode when loading crash kernel
    s390/smp: perform initial CPU reset also for SMT siblings
  * ALSA: usb-audio: Disable sample read check if firmware doesn't give back
      sound/usb/clock.c
  * ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
      sound/usb/quirks.c
    ALSA: hda/realtek: Apply jack fixup for Quanta NL3
    ALSA: hda/realtek: Add quirk for MSI-GP73
    ALSA: pcm: oss: Fix a few more UBSAN fixes
    ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
    ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
    ALSA: hda: Fix regressions on clear and reconfig sysfs
    ACPI: PNP: compare the string length in the matching_id()
    Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
  * PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
      include/acpi/acpi_bus.h
    ALSA: hda/ca0132 - Change Input Source enum strings.
    Input: cyapa_gen6 - fix out-of-bounds stack access
    media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
    media: ipu3-cio2: Validate mbus format in setting subdev format
    media: ipu3-cio2: Serialise access to pad format
    media: ipu3-cio2: Return actual subdev format
    media: ipu3-cio2: Remove traces of returned buffers
    media: netup_unidvb: Don't leak SPI master in probe error path
    media: sunxi-cir: ensure IR is handled when it is continuous
    media: gspca: Fix memory leak in probe
    Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
    Input: cros_ec_keyb - send 'scancodes' in addition to key events
    lwt: Disable BH too in run_lwt_bpf()
  * fix namespaced fscaps when !CONFIG_SECURITY
      include/linux/security.h
  * cfg80211: initialize rekey_data
      net/wireless/nl80211.c
    ARM: sunxi: Add machine match for the Allwinner V3 SoC
  * kconfig: fix return value of do_error_if()
      scripts/kconfig/preprocess.c
    clk: sunxi-ng: Make sure divider tables have sentinel
    clk: s2mps11: Fix a resource leak in error handling paths in the probe function
    qlcnic: Fix error code in probe
    perf record: Fix memory leak when using '--user-regs=?' to list registers
    pwm: lp3943: Dynamically allocate PWM chip base
    pwm: zx: Add missing cleanup in error path
    clk: ti: Fix memleak in ti_fapll_synth_setup
  * watchdog: coh901327: add COMMON_CLK dependency
      drivers/watchdog/Kconfig
    watchdog: qcom: Avoid context switch in restart handler
    libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
    net: korina: fix return value
    net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
    net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
    checkpatch: fix unescaped left brace
    powerpc/ps3: use dma_mapping_error()
    nfc: s3fwrn5: Release the nfc firmware
    um: chan_xterm: Fix fd leak
    um: tty: Fix handling of close in tty lines
    um: Monitor error events in IRQ controller
  * watchdog: Fix potential dereferencing of null pointer
      drivers/watchdog/watchdog_core.c
    watchdog: sprd: check busy bit before new loading rather than after that
    watchdog: sprd: remove watchdog disable from resume fail path
  * watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
      drivers/watchdog/Kconfig
    irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  * ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
      sound/soc/codecs/wm_adsp.c
    mac80211: don't set set TDLS STA bandwidth wider than possible
    extcon: max77693: Fix modalias string
    clk: tegra: Fix duplicated SE clock entry
    bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
    x86/kprobes: Restore BTF if the single-stepping is cancelled
    nfs_common: need lock during iterate through the list
    nfsd: Fix message level for normal termination
    speakup: fix uninitialized flush_lock
    usb: oxu210hp-hcd: Fix memory leak in oxu_create
    usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
    powerpc/pseries/hibernation: remove redundant cacheinfo update
    powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
    platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
    scsi: fnic: Fix error return code in fnic_probe()
  * seq_buf: Avoid type mismatch for seq_buf_init
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    scsi: pm80xx: Fix error return in pm8001_pci_probe()
    scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
    cpufreq: scpi: Add missing MODULE_ALIAS
    cpufreq: loongson1: Add missing MODULE_ALIAS
    cpufreq: st: Add missing MODULE_DEVICE_TABLE
    cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
    cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
  * clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
      drivers/clocksource/arm_arch_timer.c
  * dm ioctl: fix error return code in target_message
      drivers/md/dm-ioctl.c
    ASoC: jz4740-i2s: add missed checks for clk_get()
    net/mlx5: Properly convey driver version to firmware
    memstick: r592: Fix error return in r592_probe()
    arm64: dts: rockchip: Fix UART pull-ups on rk3328
    pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
    ARM: dts: at91: sama5d2: map securam as device
    clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
    media: saa7146: fix array overflow in vidioc_s_audio()
    vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    NFS: switch nfsiod to be an UNBOUND workqueue.
    lockd: don't use interval-based rebinding over TCP
  * SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
      include/linux/sunrpc/xprt.h
    NFSv4.2: condition READDIR's mask for security label based on LSM state
    ath10k: Release some resources in an error handling path
    ath10k: Fix an error handling path
    ath10k: Fix the parsing error in service available event
    platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
    ARM: dts: at91: at91sam9rl: fix ADC triggers
    arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
    PCI: iproc: Fix out-of-bound array accesses
  * PCI: Fix overflow in command-line resource alignment requests
      drivers/pci/pci.c
  * PCI: Bounds-check command-line resource alignment requests
      drivers/pci/pci.c
  * genirq/irqdomain: Don't try to free an interrupt that has no mapping
      kernel/irq/irqdomain.c
    power: supply: bq24190_charger: fix reference leak
    power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
    arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
    ARM: dts: Remove non-existent i2c1 from 98dx3236
    HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
    slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
    media: max2175: fix max2175_set_csm_mode() error code
    mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
    samples: bpf: Fix lwt_len_hist reusing previous BPF map
    platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
    platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
    media: siano: fix memory leak of debugfs members in smsdvb_hotplug
    dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
    cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
    orinoco: Move context allocation after processing the skb
    ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
    ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
    memstick: fix a double-free bug in memstick_check
    RDMA/cxgb4: Validate the number of CQEs
    Input: omap4-keypad - fix runtime PM error handling
    drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
    soc: ti: Fix reference imbalance in knav_dma_probe
    soc: ti: knav_qmss: fix reference leak in knav_queue_probe
  * spi: fix resource leak for drivers without .remove callback
      drivers/spi/spi.c
    crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
    crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
    powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
    spi: mxs: fix reference leak in mxs_spi_probe
    usb/max3421: fix return error code in max3421_probe()
    Input: ads7846 - fix unaligned access on 7845
    Input: ads7846 - fix integer overflow on Rt calculation
    Input: ads7846 - fix race that causes missing releases
    drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
    video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
    media: solo6x10: fix missing snd_card_free in error handling case
  * scsi: core: Fix VPD LUN ID designator priorities
      drivers/scsi/scsi_lib.c
  * ASoC: meson: fix COMPILE_TEST error
      sound/soc/meson/Kconfig
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
    media: tm6000: Fix sizeof() mismatches
    staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
    staging: greybus: codecs: Fix reference counter leak in error handling
    crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
    MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
    RDMa/mthca: Work around -Wenum-conversion warning
    ASoC: arizona: Fix a wrong free in wm8997_probe
    ASoC: wm8998: Fix PM disable depth imbalance on error
    mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
    spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
    spi: tegra114: fix reference leak in tegra spi ops
    spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
    spi: tegra20-slink: fix reference leak in slink ops of tegra20
    spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
    Bluetooth: hci_h5: fix memory leak in h5_close
  * Bluetooth: Fix null pointer dereference in hci_event_packet()
      net/bluetooth/hci_event.c
    arm64: dts: exynos: Correct psci compatible used on Exynos7
    arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
  * selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
      security/selinux/hooks.c
  * ASoC: pcm: DRAIN support reactivation
      sound/soc/soc-pcm.c
    drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
    spi: img-spfi: fix reference leak in img_spfi_resume
    powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
    crypto: inside-secure - Fix sizeof() mismatch
    crypto: talitos - Fix return type of current_desc_hdr()
    crypto: talitos - Endianess in current_desc_hdr()
  * sched: Reenable interrupts in do_sched_yield()
      kernel/sched/core.c
  * sched/deadline: Fix sched_dl_global_validate()
      kernel/sched/deadline.c
      kernel/sched/sched.h
    x86/apic: Fix x2apic enablement without interrupt remapping
    ARM: p2v: fix handling of LPAE translation in BE mode
    x86/mm/ident_map: Check for errors from ident_pud_init()
    RDMA/rxe: Compute PSN windows correctly
    ARM: dts: aspeed: s2600wf: Fix VGA memory region location
  * selinux: fix error initialization in inode_doinit_with_dentry()
      security/selinux/hooks.c
    RDMA/bnxt_re: Set queue pair state when being queried
    soc: qcom: geni: More properly switch to DMA mode
    soc: mediatek: Check if power domains can be powered on at boot time
    soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
    drm/tve200: Fix handling of platform_get_irq() error
    drm/gma500: fix double free of gma_connector
    perf cs-etm: Move definition of 'traceid_list' global variable from header file
    perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
    md: fix a warning caused by a race between concurrent md_ioctl()s
  * crypto: af_alg - avoid undefined behavior accessing salg_name
      include/uapi/linux/if_alg.h
    media: msi2500: assign SPI bus number dynamically
  * quota: Sanity-check quota file headers on load
      fs/quota/quota_v2.c
  * Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
      net/bluetooth/hci_event.c
  * serial_core: Check for port state when tty is in error state
      drivers/tty/serial/serial_core.c
    HID: i2c-hid: add Vero K147 to descriptor override
    scsi: megaraid_sas: Check user-provided offsets
  * coresight: tmc-etr: Check if page is valid before dma_map_page()
      drivers/hwtracing/coresight/coresight-tmc-etr.c
    ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
    ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
    usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  * usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
      drivers/usb/gadget/function/f_fs.c
  * USB: gadget: f_midi: setup SuperSpeed Plus descriptors
      drivers/usb/gadget/function/f_midi.c
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: serial: option: add interface-number sanity check to flag handling
    soc/tegra: fuse: Fix index bug in get_process_id
  * dm table: Remove BUG_ON(in_interrupt())
      drivers/md/dm-table.c
    scsi: mpt3sas: Increase IOCInit request timeout to 30s
    vxlan: Copy needed_tailroom from lowerdev
    vxlan: Add needed_headroom for lower device
  * arm64: syscall: exit userspace before unmasking exceptions
      arch/arm64/kernel/syscall.c
    drm/tegra: sor: Disable clocks on error in tegra_sor_init()
  * kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
      kernel/cpu.c
    drm/tegra: replace idr_init() by idr_init_base()
    ixgbe: avoid premature Rx buffer reuse
    RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
    selftests/bpf/test_offload.py: Reset ethtool features after failed setting
    gpio: eic-sprd: break loop when getting NULL device resource
  * netfilter: x_tables: Switch synchronization to RCU
      include/linux/netfilter/x_tables.h
      net/ipv4/netfilter/arp_tables.c
      net/ipv4/netfilter/ip_tables.c
      net/ipv6/netfilter/ip6_tables.c
      net/netfilter/x_tables.c
  * block: factor out requeue handling from dispatch code
      block/blk-mq.c
    clk: renesas: r9a06g032: Drop __packed for portability
    can: softing: softing_netdev_open(): fix error handling
    xsk: Fix xsk_poll()'s return type
  * scsi: bnx2i: Requires MMU
      drivers/scsi/bnx2i/Kconfig
    gpio: mvebu: fix potential user-after-free on probe
    ARM: dts: sun8i: v3s: fix GIC node memory range
    pinctrl: baytrail: Avoid clearing debounce value when turning it off
    pinctrl: merrifield: Set default bias in case no particular value given
    x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
    x86/resctrl: Remove unused struct mbm_state::chunks_bw
  * arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
      arch/arm64/lib/memcpy.S
      arch/arm64/lib/memmove.S
      arch/arm64/lib/memset.S
  * arm64: lse: Fix LSE atomics with LLVM
      arch/arm64/include/asm/lse.h
  * arm64: lse: fix LSE atomics with LLVM's integrated assembler
      arch/arm64/include/asm/atomic_lse.h
      arch/arm64/include/asm/lse.h
  * drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
      drivers/gpu/drm/drm_dp_mst_topology.c
    drm/xen-front: Fix misused IS_ERR_OR_NULL checks
    serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
    ALSA: pcm: oss: Fix potential out-of-bounds shift
  * USB: sisusbvga: Make console support depend on BROKEN
      drivers/usb/misc/sisusbvga/Kconfig
  * USB: UAS: introduce a quirk to set no_write_same
      drivers/usb/storage/usb.c
      include/linux/usb_usual.h
  * xhci: Give USB2 ports time to enter U3 in bus suspend
      drivers/usb/host/xhci-hub.c
  * ALSA: usb-audio: Fix control 'access overflow' errors from chmap
      sound/usb/stream.c
  * ALSA: usb-audio: Fix potential out-of-bounds shift
      sound/usb/format.c
  * USB: add RESET_RESUME quirk for Snapscan 1212
      drivers/usb/core/quirks.c
    USB: dummy-hcd: Fix uninitialized array use in init()
    ktest.pl: If size of log is too big to email, email error message
    net: bridge: vlan: fix error return code in __vlan_add()
    net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
    net: stmmac: delete the eee_ctrl_timer after napi disabled
    net/mlx4_en: Handle TX error CQE
    lan743x: fix for potential NULL pointer dereference with bare card
    net/mlx4_en: Avoid scheduling restart task if it is already running
  * tcp: fix cwnd-limited bug for TSO deferral where we send nothing
      net/ipv4/tcp_output.c
  * tcp: select sane initial rcvq_space.space for big MSS
      net/ipv4/tcp_input.c
    net: stmmac: free tx skb buffer in stmmac_resume()
    mac80211: mesh: fix mesh_pathtbl_init() error path
    PCI: qcom: Add missing reset for ipq806x
  * compiler.h: fix barrier_data() on clang
      include/linux/compiler-clang.h
      include/linux/compiler-gcc.h
      include/linux/compiler.h
    x86/apic/vector: Fix ordering in vector assignment
    x86/membarrier: Get rid of a dubious optimization
    x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
    scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
  * kbuild: avoid static_assert for genksyms
      include/linux/build_bug.h
    mmc: block: Fixup condition for CMD13 polling for RPMB requests
    pinctrl: amd: remove debounce filter setting in IRQ type setting
    Input: i8042 - add Acer laptops to the i8042 reset list
    Input: cm109 - do not stomp on control URB
    platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
    platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
    platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
    platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
    soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
  * irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
      drivers/irqchip/irq-gic-v3-its.c
  * scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
      drivers/scsi/ufs/ufshcd.c
    ARC: stack unwinding: don't assume non-current task is sleeping
    powerpc: Drop -me200 addition to build flags
    iwlwifi: mvm: fix kernel panic in case of assert during CSA
    arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
    iwlwifi: pcie: limit memory read spin time
    spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
    spi: bcm2835aux: Fix use-after-free on unbind
    x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
  * Kbuild: do not emit debug info for assembly with LLVM_IAS=1
      Makefile
    ANDROID: GKI: Update the ABI xml representation
  * ANDROID: Incremental fs: Set credentials before reading/writing
      fs/incfs/data_mgmt.c
      fs/incfs/format.c
      fs/incfs/format.h
      fs/incfs/pseudo_files.c
    ANDROID: Incremental fs: Fix incfs_test use of atol, open
  * ANDROID: Incremental fs: Change per UID timeouts to microseconds
      fs/incfs/data_mgmt.c
      fs/incfs/data_mgmt.h
      fs/incfs/pseudo_files.c
      fs/incfs/vfs.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add v2 feature flag
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
  * ANDROID: Incremental fs: Add zstd feature flag
      fs/incfs/main.c
      include/uapi/linux/incrementalfs.h
    Merge 4.19.163 into android-4.19-stable
Linux 4.19.163
    Revert "geneve: pull IP header before ECN decapsulation"
    x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes
    netfilter: nf_tables: avoid false-postive lockdep splat
    Input: i8042 - fix error return code in i8042_setup_aux()
    dm writecache: remove BUG() and fail gracefully instead
    i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
    gfs2: check for empty rgrp tree in gfs2_ri_update
  * tracing: Fix userstacktrace option for instances
      kernel/trace/trace.c
      kernel/trace/trace.h
    spi: bcm2835: Release the DMA channel if probe fails after dma_init
    spi: bcm2835: Fix use-after-free on unbind
    spi: bcm-qspi: Fix use-after-free on unbind
  * spi: Introduce device-managed SPI controller allocation
      drivers/spi/spi.c
      include/linux/spi/spi.h
    iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
    speakup: Reject setting the speakup line discipline outside of speakup
    i2c: imx: Check for I2SR_IAL after every byte
    i2c: imx: Fix reset of I2SR_IAL flag
    x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
  * mm/swapfile: do not sleep with a spin lock held
      mm/swapfile.c
  * mm: list_lru: set shrinker map bit when child nr_items is not zero
      mm/list_lru.c
  * dm: remove invalid sparse __acquires and __releases annotations
      drivers/md/dm.c
    dm writecache: fix the maximum number of arguments
    scsi: mpt3sas: Fix ioctl timeout
    i2c: imx: Don't generate STOP condition if arbitration has been lost
    cifs: fix potential use-after-free in cifs_echo_request()
    ftrace: Fix updating FTRACE_FL_TRAMP
    ALSA: hda/generic: Add option to enforce preferred_dacs pairs
    ALSA: hda/realtek - Add new codec supported for ALC897
    ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
    ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
  * tty: Fix ->session locking
      drivers/tty/tty_io.c
      drivers/tty/tty_jobctrl.c
      include/linux/tty.h
  * tty: Fix ->pgrp locking in tiocspgrp()
      drivers/tty/tty_jobctrl.c
    USB: serial: option: fix Quectel BG96 matching
    USB: serial: option: add support for Thales Cinterion EXS82
    USB: serial: option: add Fibocom NL668 variants
    USB: serial: ch341: sort device-id entries
    USB: serial: ch341: add new Product ID for CH341A
    USB: serial: kl5kusb105: fix memleak on open
  * usb: gadget: f_fs: Use local copy of descriptors for userspace copy
      drivers/usb/gadget/function/f_fs.c
    pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
    pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
    ANDROID: Add symbol of get_next_event_cpu back
    ANDROID: x86: configs: gki: add missing CONFIG_BLK_CGROUP
    ANDROID: Add allowed symbols from sctp.ko and qrtr.ko
    Merge 4.19.162 into android-4.19-stable
Linux 4.19.162
    RDMA/i40iw: Address an mmap handler exploit in i40iw
    tracing: Remove WARN_ON in start_thread()
    Input: i8042 - add ByteSpeed touchpad to noloop table
  * Input: xpad - support Ardwiino Controllers
      drivers/input/joystick/xpad.c
  * ALSA: usb-audio: US16x08: fix value count for level meters
      sound/usb/mixer_us16x08.c
    dt-bindings: net: correct interrupt flags in examples
    chelsio/chtls: fix panic during unload reload chtls
    net/mlx5: Fix wrong address reclaim when command interface is down
    net: mvpp2: Fix error return code in mvpp2_open()
    chelsio/chtls: fix a double free in chtls_setkey()
    net: pasemi: fix error return code in pasemi_mac_open()
    cxgb3: fix error return code in t3_sge_alloc_qset()
    net/x25: prevent a couple of overflows
    net: ip6_gre: set dev->hard_header_len when using header_ops
    geneve: pull IP header before ECN decapsulation
    ibmvnic: Fix TX completion error handling
    ibmvnic: Ensure that SCRQ entry reads are correctly ordered
  * ipv4: Fix tos mask in inet_rtm_getroute()
      net/ipv4/route.c
    netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
  * bonding: wait for sysfs kobject destruction before freeing struct slave
      drivers/net/bonding/bond_main.c
      drivers/net/bonding/bond_sysfs_slave.c
      include/net/bonding.h
    i40e: Fix removing driver while bare-metal VFs pass traffic
    ibmvnic: fix call_netdevice_notifiers in do_reset
  * net/tls: Protect from calling tls_dev_del for TLS RX twice
      include/net/tls.h
    usbnet: ipheth: fix connectivity with iOS 14
  * tun: honor IOCB_NOWAIT flag
      drivers/net/tun.c
  * tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control
      net/ipv4/tcp_cong.c
  * sock: set sk_err to ee_errno on dequeue from errq
      net/core/skbuff.c
    rose: Fix Null pointer dereference in rose_send_frame()
    net/tls: missing received data after fast remote close
    net/af_iucv: set correct sk_protocol for child sockets
  * ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
      net/ipv6/addrlabel.c
  * FROMLIST: Kbuild: do not emit debug info for assembly with LLVM_IAS=1
      Makefile
  * ANDROID: kbuild: use grep -F instead of fgrep
      scripts/Kbuild.include
  * ANDROID: GKI: usb: gadget: support claiming indexed endpoints by name
      drivers/usb/gadget/epautoconf.c
  * UPSTREAM: arm64: sysreg: Clean up instructions for modifying PSTATE fields
      arch/arm64/include/asm/sysreg.h
      arch/arm64/kernel/cpufeature.c
    Revert "Revert "ANDROID: clang: update to 11.0.5""
  * ANDROID: kbuild: speed up ksym_dep_filter
      scripts/Kbuild.include
  * Revert "drm/atomic_helper: Stop modesets on unregistered connectors harder"
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_atomic_helper.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
    Merge 4.19.161 into android-4.19-stable
Linux 4.19.161
  * USB: core: Fix regression in Hercules audio card
      drivers/usb/core/quirks.c
    x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
    x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak
    x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
    usb: gadget: Fix memleak in gadgetfs_fill_super
  * USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
      drivers/usb/core/quirks.c
  * usb: gadget: f_midi: Fix memleak in f_midi_alloc
      drivers/usb/gadget/function/f_midi.c
  * USB: core: Change %pK for __user pointers to %px
      drivers/usb/core/devio.c
    perf probe: Fix to die_entrypc() returns error correctly
    can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
    platform/x86: toshiba_acpi: Fix the wrong variable assignment
    platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
    can: gs_usb: fix endianess problem with candleLight firmware
    efivarfs: revert "fix memory leak in efivarfs_create()"
    optee: add writeback to valid memory type
    ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq
    ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues
    net: ena: set initial DMA width to avoid intel iommu issue
    nfc: s3fwrn5: use signed integer for parsing GPIO numbers
    IB/mthca: fix return value of error branch in mthca_init_cq()
    s390/qeth: fix tear down of async TX buffers
    cxgb4: fix the panic caused by non smac rewrite
    bnxt_en: Release PCI regions when DMA mask setup fails during probe.
    video: hyperv_fb: Fix the cache type when mapping the VRAM
    bnxt_en: fix error return code in bnxt_init_board()
    bnxt_en: fix error return code in bnxt_init_one()
  * scsi: ufs: Fix race between shutdown and runtime resume flow
      drivers/scsi/ufs/ufshcd.c
    ARM: dts: dra76x: m_can: fix order of clocks
    batman-adv: set .owner to THIS_MODULE
    phy: tegra: xusb: Fix dangling pointer on probe failure
    xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
    perf/x86: fix sysfs type mismatches
    scsi: target: iscsi: Fix cmd abort fabric stop race
  * scsi: libiscsi: Fix NOP race condition
      include/scsi/libiscsi.h
    dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size
    nvme: free sq/cq dbbuf pointers when dbbuf set fails
  * proc: don't allow async path resolution of /proc/self components
      fs/proc/self.c
  * HID: Add Logitech Dinovo Edge battery quirk
      drivers/hid/hid-ids.h
      drivers/hid/hid-input.c
    x86/xen: don't unbind uninitialized lock_kicker_irq
    dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant
  * HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    HID: hid-sensor-hub: Fix issue with devices with no report ID
    Input: i8042 - allow insmod to succeed on devices without an i8042 controller
  * HID: add support for Sega Saturn
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * HID: cypress: Support Varmilo Keyboards' media hotkeys
      drivers/hid/hid-ids.h
    ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
  * drm/atomic_helper: Stop modesets on unregistered connectors harder
      drivers/gpu/drm/drm_atomic.c
      drivers/gpu/drm/drm_atomic_helper.c
      drivers/gpu/drm/drm_connector.c
      include/drm/drm_connector.h
  * arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
      arch/arm64/include/asm/pgtable.h
  * arm64: pgtable: Fix pte_accessible()
      arch/arm64/include/asm/pgtable.h
    KVM: x86: Fix split-irqchip vs interrupt injection window request
    KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
    KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
  * wireless: Use linux/stddef.h instead of stddef.h
      include/uapi/linux/wireless.h
    btrfs: fix lockdep splat when reading qgroup config on mount
    btrfs: don't access possibly stale fs_info data for printing duplicate device
  * netfilter: clear skb->next in NF_HOOK_LIST()
      include/linux/netfilter.h
    perf event: Check ref_reloc_sym before using it
  * ANDROID: vmlinux.lds.h: merge compound literal sections
      include/asm-generic/vmlinux.lds.h
  * BACKPORT: sched/fair: Fix overutilized update in enqueue_task_fair()
      kernel/sched/fair.c

Bug: 180663378
Change-Id: Ie10d7527ff7d181fa122bbe77d6869c2b65cbe4e
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-02-26 10:41:51 +08:00
Lukas Wunner
234b432c7b spi: Introduce device-managed SPI controller allocation
[ Upstream commit 5e844cc37a5cbaa460e68f9a989d321d63088a89 ]

SPI driver probing currently comprises two steps, whereas removal
comprises only one step:

    spi_alloc_master()
    spi_register_controller()

    spi_unregister_controller()

That's because spi_unregister_controller() calls device_unregister()
instead of device_del(), thereby releasing the reference on the
spi_controller which was obtained by spi_alloc_master().

An SPI driver's private data is contained in the same memory allocation
as the spi_controller struct.  Thus, once spi_unregister_controller()
has been called, the private data is inaccessible.  But some drivers
need to access it after spi_unregister_controller() to perform further
teardown steps.

Introduce devm_spi_alloc_master() and devm_spi_alloc_slave(), which
release a reference on the spi_controller struct only after the driver
has unbound, thereby keeping the memory allocation accessible.  Change
spi_unregister_controller() to not release a reference if the
spi_controller was allocated by one of these new devm functions.

The present commit is small enough to be backportable to stable.
It allows fixing drivers which use the private data in their ->remove()
hook after it's been freed.  It also allows fixing drivers which neglect
to release a reference on the spi_controller in the probe error path.

Long-term, most SPI drivers shall be moved over to the devm functions
introduced herein.  The few that can't shall be changed in a treewide
commit to explicitly release the last reference on the controller.
That commit shall amend spi_unregister_controller() to no longer release
a reference, thereby completing the migration.

As a result, the behaviour will be less surprising and more consistent
with subsystems such as IIO, which also includes the private data in the
allocation of the generic iio_dev struct, but calls device_del() in
iio_device_unregister().

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/272bae2ef08abd21388c98e23729886663d19192.1605121038.git.lukas@wunner.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-11 13:25:03 +01:00
Prudhvi Yarlagadda
0897d6fc48 spi: spi_qsd: Add Shared EE property check for spi
Add Shared EE property check for spi to support dual EE use case.
Have the prepare_message/unprepare_message API support for spi
for Dual EE use case so that client can have control for spi
driver get_sync, put_sync by calling the APIs pm_runtime_get_sync
and pm_runtime_put_sync_suspend and use them when switching to
other EEs. This will allow client driver to remove the delay/wait
time while switching between the secure and non-secure EEs.

Change-Id: I465bc4b9036b3b9701a876825412b55b4d4134c7
Signed-off-by: Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
2020-10-28 14:56:46 +05:30
Mukesh Kumar Savaliya
717e1e2832 SPI: spi_qsd: Add snapshot of SPI QSD driver
This change adds a snapshot of SPI QSD driver
from the 4.14 branch.
This is snapshot of the SPI QSD driver as of
msm-4.14 'commit 78bed541dbf8950be ("Merge "msm:
camera: hyp: To fix Stack overflow"")'.

Change-Id: Ic6a9d304c3b828a06910400c947add85e1b7f762
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Signed-off-by: Chetan C R <cchinnad@codeaurora.org>
2020-05-02 17:59:16 +05:30
Vipin Deep Kaur
4652e364c7 spi-geni-qcom: Add SPI GENI driver snapshot
This spi geni driver snapshot is taken as of msm-4.14
 commit: be9a6fd 51d0318
    (Merge "msm: pcie: add support for varying PCIe PHY
	status bit").

Change-Id: Ifb1854257d4d001d47dba16f756940794bc0c636
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
2019-01-25 01:41:35 -08:00
Greg Kroah-Hartman
2f19e7a7e6 Merge tag 'spi-fix-v4.19-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Mark writes:
  "spi: Fixes for v4.19

   Quite a few fixes for the Renesas drivers in here, plus a fix for the
   Tegra driver and some documentation fixes for the recently added
   spi-mem code.  The Tegra fix is relatively large but fairly
   straightforward and mechanical, it runs on probe so it's been
   reasonably well covered in -next testing."

* tag 'spi-fix-v4.19-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: spi-mem: Move the DMA-able constraint doc to the kerneldoc header
  spi: spi-mem: Add missing description for data.nbytes field
  spi: rspi: Fix interrupted DMA transfers
  spi: rspi: Fix invalid SPI use during system suspend
  spi: sh-msiof: Fix handling of write value for SISTR register
  spi: sh-msiof: Fix invalid SPI use during system suspend
  spi: gpio: Fix copy-and-paste error
  spi: tegra20-slink: explicitly enable/disable clock
2018-09-28 18:04:06 -07:00
Boris Brezillon
c949a8e8b4 spi: spi-mem: Move the DMA-able constraint doc to the kerneldoc header
We'd better have that documented in the kerneldoc header, so that it's
exposed to the doc generated by Sphinx.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-09-20 12:23:31 -07:00
Boris Brezillon
60489f0855 spi: spi-mem: Add missing description for data.nbytes field
Add a description for spi_mem_op.data.nbytes to the kerneldoc header.

Fixes: c36ff266dc ("spi: Extend the core to ease integration of SPI memory controllers")
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-09-20 12:23:25 -07:00
Linus Torvalds
010b0e708e Merge tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown:
 "Quite an active release for the SPI subsystem, lots of small updates
  and fixes scattered about with highlights including:

   - 3-wire support in the GPIO driver.

   - support for setting a custom memory name in the memory mapped flash
     drivers.

   - support for extended mode in the Freescale DSPI controller.

   - support for the non-standard integration with the Microsemi Ocelot
     platform in the DesignWare driver.

   - new driver for the SocioNext UniPhier"

* tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (47 commits)
  spi: davinci: fix a NULL pointer dereference
  spi: spi-mem: Constify spi_mem->name
  mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name
  spi: spi-mem: Extend the SPI mem interface to set a custom memory name
  spi: spi-mem: Fix a typo in the documentation of struct spi_mem
  spi: uniphier: remove unnecessary include headers
  spi: spi-gpio: add SPI_3WIRE support
  spi: add flags parameter to txrx_word function pointers
  spi: add SPI controller driver for UniPhier SoC
  spi: add DT bindings for UniPhier SPI controller
  spi: dw: document Microsemi integration
  spi: img-spfi: Set device select bits for SPFI port state
  spi: omap2-mcspi: remove several redundant variables
  spi: dw-mmio: add MSCC Ocelot support
  spi: dw: export dw_spi_set_cs
  spi: spi-fsl-espi: Log fifo counters on error
  spi: imx: Use the longuest possible burst size when in dynamic_burst
  spi: imx: remove unnecessary check in spi_imx_can_dma
  spi: imx: Use correct number of bytes per words
  spi: imx: Use dynamic bursts only when bits_per_word is 8, 16 or 32
  ...
2018-08-14 12:01:08 -07:00
Boris Brezillon
401c0d7712 spi: spi-mem: Constify spi_mem->name
There is no reason to make spi_mem->name modifiable. Moreover,
spi_mem_ops->get_name() returns a const char *, which generates a gcc
warning when assigning the value returned by spi_mem_ops->get_name()
to spi_mem->name.

Fixes: 5d27a9c8ea ("spi: spi-mem: Extend the SPI mem interface to set a custom memory name")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-08-03 10:51:25 +01:00
Frieder Schrempf
5d27a9c8ea spi: spi-mem: Extend the SPI mem interface to set a custom memory name
When porting (Q)SPI controller drivers from the MTD layer to the SPI
layer, the naming scheme for the memory devices changes. To be able
to keep compatibility with the old drivers naming scheme, a name
field is added to struct spi_mem and a hook is added to let controller
drivers set a custom name for the memory device.

Example for the FSL QSPI driver:

Name with the old driver: 21e0000.qspi,
or with multiple devices: 21e0000.qspi-0, 21e0000.qspi-1, ...

Name with the new driver without spi_mem_get_name: spi4.0

Suggested-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-08-02 15:35:41 +01:00
Frieder Schrempf
06bcb5168d spi: spi-mem: Fix a typo in the documentation of struct spi_mem
Fix a typo in the @drvpriv description.

Signed-off-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-08-02 15:35:36 +01:00
Lorenzo Bianconi
4b859db2c6 spi: spi-gpio: add SPI_3WIRE support
Add SPI_3WIRE support to spi-gpio controller introducing
set_line_direction function pointer in spi_bitbang data structure.
Spi-gpio controller has been tested using hts221 temp/rh iio sensor
running in 3wire mode and lsm6dsm running in 4wire mode

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-08-01 14:50:28 +01:00
Lorenzo Bianconi
304d34360b spi: add flags parameter to txrx_word function pointers
Add the capability to specify the flag parameter used in
bitbang_txrx_be_cpha{0,1} through the txrx_word function pointers of
spi_bitbang data structure. That feature will be used to add spi-3wire
support to the spi-gpio controller

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-08-01 14:50:24 +01:00
David Lechner
7c201ead1b spi: spi-bitbang: change flags from u8 to u16
This changes the data type of the flags field in struct spi_bitbang from
u8 to u16. This matches the size of the mode field of struct spi_device
where these flags are also used.

This is done in preparation of adding a new SPI mode flag that will be
used with this field that would otherwise not fit in 8 bits.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-07-18 15:54:21 +01:00
Peter Pan
7529df4652 mtd: nand: Add core infrastructure to support SPI NANDs
Add a SPI NAND framework based on the generic NAND framework and the
spi-mem infrastructure.

In its current state, this framework supports the following features:

- single/dual/quad IO modes
- on-die ECC

Signed-off-by: Peter Pan <peterpandong@micron.com>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2018-07-18 09:24:10 +02:00
Corentin Labbe
3e247b0fb5 spi: remove unused adi_spi3.h header
include/linux/spi/adi_spi3.h is unused since commit 47838669de ("spi: remove blackfin related host drivers")
Finish the cleaning by removing it.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-06-18 12:46:57 +01:00
Boris Brezillon
c1f5ba70de spi: Get rid of the spi_flash_read() API
This API has been replaced by the spi_mem_xx() one, its only user
(spi-nor) has been converted to spi_mem_xx() and all SPI controller
drivers that were implementing the ->spi_flash_xxx() hooks are also
implementing the spi_mem ones. So we can safely get rid of this API.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Tested-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-05-11 11:34:41 +09:00
Boris Brezillon
c36ff266dc spi: Extend the core to ease integration of SPI memory controllers
Some controllers are exposing high-level interfaces to access various
kind of SPI memories. Unfortunately they do not fit in the current
spi_controller model and usually have drivers placed in
drivers/mtd/spi-nor which are only supporting SPI NORs and not SPI
memories in general.

This is an attempt at defining a SPI memory interface which works for
all kinds of SPI memories (NORs, NANDs, SRAMs).

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Tested-by: Frieder Schrempf <frieder.schrempf@exceet.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-05-11 11:32:43 +09:00
Linus Walleij
9b00bc7b90 spi: spi-gpio: Rewrite to use GPIO descriptors
This converts the bit-banged GPIO SPI driver to looking up and
using GPIO descriptors to get a handle on GPIO lines for SCK,
MOSI, MISO and all CS lines.

All existing board files are converted in one go to keep it all
consistent. With these conversions I rarely find any interrim
steps that makes any sense.

Device tree probing and GPIO handling should work like before
also after this patch.

For board files, we stop using controller data to pass the GPIO
line for chip select, instead we pass this as a GPIO descriptor
lookup like everything else.

In some s3c24xx machines the names of the SPI devices were set to
"spi-gpio" rather than "spi_gpio" which can never have worked, I
fixed it working (I guess) as part of this patch set. Sometimes
I wonder how this code got upstream in the first place, it
obviously is not tested.

mach-s3c64xx/mach-smartq.c has the same problem and additionally
defines the *same* GPIO line for MOSI and MISO which is not going
to be accepted by gpiolib. As the lines were number 1,2,2 I assumed
it was a typo and use lines 1,2,3. A comment gives awat that line 0
is chip select though no actual SPI device is provided for the LCD
supposed to be on this bit-banged SPI bus. I left it intact instead
of just deleting the bus though.

Kill off board file code that try to initialize the SPI lines
to the same values that they will later be set by the spi_gpio
driver anyways. Given the huge number of weird things in these
board files I do not think this code is very tested or put in
with much afterthought anyways.

In order to assert that we do not get performance regressions on
this crucial bing-banged driver, a ran a script like this dumping the
Ilitek ILI9322 regmap 10000 times (it has no caching obviously) on
an otherwise idle system in two iterations before and after the
patches:

 #!/bin/sh
 for run in `seq 10000`
 do
     cat /debug/regmap/spi0.0/registers > /dev/null
 done

Before the patch:

time test.sh
real    3m 41.03s
user    0m 29.41s
sys     3m 7.22s

time test.sh
real    3m 44.24s
user    0m 32.31s
sys     3m 7.60s

After the patch:

time test.sh
real    3m 41.32s
user    0m 28.92s
sys     3m 8.08s

time test.sh
real    3m 39.92s
user    0m 30.20s
sys     3m 5.56s

So any performance differences seems to be in the error margin.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-02-14 16:02:41 +00:00
Geert Uytterhoeven
8d26fdfcb4 spi: Fix double "when"
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-11-30 16:55:35 +00:00
Mark Brown
704c14554b Merge remote-tracking branches 'spi/topic/armada', 'spi/topic/axi', 'spi/topic/davinci' and 'spi/topic/fsl-dspi' into spi-next 2017-11-10 21:33:44 +00:00
Angelo Dureghello
ec7ed7708e spi: spi-fsl-dspi: enabling Coldfire mcf5441x dspi
Signed-off-by: Angelo Dureghello <angelo@sysam.it>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-11-03 12:53:16 +01:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained >5
   lines of source
 - File already had some variant of a license header in it (even if <5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Linus Torvalds
ac7b75966c Merge tag 'pinctrl-v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
 "This is the big bulk of pin control changes for the v4.13 series:

  Core:
   - The documentation is moved over to RST.
   - We now have agreed bindings for enabling input and output buffers
     without actually enabling input and/or output on a pin. We are
     chiseling out some details of pin control electronics.

  New drivers:
   - ZTE ZX
   - Renesas RZA1
   - MIPS Ingenic JZ47xx: also switch over existing drivers in the tree
     to use this pin controller and consolidate earlier spread out code.
   - Microschip MCP23S08: this driver is migrated from the GPIO
     subsystem and totally rewritten to use proper pin control. All
     users are switched over.

  New subdrivers:
   - Renesas R8A7743 and R8A7745.
   - Allwinner Sunxi A83T R_PIO.
   - Marvell MVEBU Armada CP110 and AP806.
   - Intel Cannon Lake PCH.
   - Qualcomm IPQ8074.

  Notable improvements:
   - IRQ support on the Marvell MVEBU Armada 37xx.
   - Meson driver supports HDMI CEC, AO, I2S, SPDIF and PWM.
   - Rockchip driver now supports iomux-route switching for RK3228,
     RK3328 and RK3399.
   - Rockchip A10 and A20 are merged into a single driver.
   - STM32 has improved GPIO support.
   - Samsung Exynos drivers are split per ARMv7 and ARMv8.
   - Marvell MVEBU is converted to use regmap for register access.

  Maintenance:
   - Several Renesas SH-PFC refactorings and updates.
   - Serious code size cut for Mediatek MT7623.
   - Misc janitorial and MAINTAINERS fixes"

* tag 'pinctrl-v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (137 commits)
  pinctrl: samsung: Remove bogus irq_[un]mask from resource management
  pinctrl: rza1: make structures rza1_gpiochip_template and rza1_pinmux_ops static
  pinctrl: rza1: Remove unneeded wrong check for wrong variable
  pinctrl: qcom: Add ipq8074 pinctrl driver
  pinctrl: freescale: imx7d: make of_device_ids const.
  pinctrl: DT: extend the pinmux property to support integers array
  pinctrl: generic: Add output-enable property
  pinctrl: armada-37xx: Fix number of pin in sdio_sb
  pinctrl: armada-37xx: Fix uart2 group selection register mask
  pinctrl: bcm2835: Avoid warning from __irq_do_set_handler
  pinctrl: sh-pfc: r8a7795: Add PWM support
  MAINTAINERS: Add Qualcomm pinctrl drivers section
  arm: dts: dt-bindings: Add Renesas RZ/A1 pinctrl header
  dt-bindings: pinctrl: Add RZ/A1 bindings doc
  pinctrl: Renesas RZ/A1 pin and gpio controller
  pinctrl: sh-pfc: r8a7792: Add SCIF1 and SCIF2 pin groups
  pinctrl.txt: move it to the driver-api book
  pinctrl: ingenic: checking for NULL instead of IS_ERR()
  pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD20
  pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD11
  ...
2017-07-06 11:38:59 -07:00
Mark Brown
cc7e35baca Merge remote-tracking branches 'spi/topic/orion', 'spi/topic/pxa2xx', 'spi/topic/rockchip', 'spi/topic/sh-msiof' and 'spi/topic/sirf' into spi-next 2017-07-03 16:21:10 +01:00
Geert Uytterhoeven
8caab75fd2 spi: Generalize SPI "master" to "controller"
Now struct spi_master is used for both SPI master and slave controllers,
it makes sense to rename it to struct spi_controller, and replace
"master" by "controller" where appropriate.

For now this conversion is done for SPI core infrastructure only.
Wrappers are provided for backwards compatibility, until all SPI drivers
have been converted.

Noteworthy details:
  - SPI_MASTER_GPIO_SS is retained, as it only makes sense for SPI
    master controllers,
  - spi_busnum_to_master() is retained, as it looks up masters only,
  - A new field spi_device.controller is added, but spi_device.master is
    retained for compatibility (both are always initialized by
    spi_alloc_device()),
  - spi_flash_read() is used by SPI masters only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-06-13 18:51:11 +01:00
Hisashi Nakamura
cf9e4784f3 spi: sh-msiof: Add slave mode support
Add slave mode support to the MSIOF driver, in both PIO and DMA mode.

For now this only supports the transmission of messages with a size
that is known in advance.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
[geert: Timeout handling cleanup, spi core integration, cancellation,
	rewording]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-05-26 13:11:54 +01:00
Geert Uytterhoeven
6c364062bf spi: core: Add support for registering SPI slave controllers
Add support for registering SPI slave controllers using the existing SPI
master framework:
  - SPI slave controllers must use spi_alloc_slave() instead of
    spi_alloc_master(), and should provide an additional callback
    "slave_abort" to abort an ongoing SPI transfer request,
  - SPI slave controllers are added to a new "spi_slave" device class,
  - SPI slave handlers can be bound to the SPI slave device represented
    by an SPI slave controller using a DT child node named "slave",
  - Alternatively, (un)binding an SPI slave handler to the SPI slave
    device represented by an SPI slave controller can be done by
    (un)registering the slave device through a sysfs virtual file named
    "slave".

From the point of view of an SPI slave protocol handler, an SPI slave
controller looks almost like an ordinary SPI master controller. The only
exception is that a transfer request will block on the remote SPI
master, and may be cancelled using spi_slave_abort().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-05-26 13:11:00 +01:00
Sebastian Reichel
7f38c5b997 pinctrl: mcp23s08: fix comment for mcp23s08_platform_data.base
The comment does not match the driver, which actually supports
automatic assignment. Fix this by updating the comment.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-23 09:51:33 +02:00
Sebastian Reichel
d8f4494e70 pinctrl: mcp23s08: drop comment about missing irq support
The driver supports using mcp23xxx as interrupt controller, so
let's drop all comments stating otherwise.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-23 09:51:08 +02:00
Sebastian Reichel
ce9bd0a0ff pinctrl: mcp23s08: simplify spi_present_mask handling
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-23 09:50:47 +02:00
Sebastian Reichel
5b1a7e803a pinctrl: mcp23s08: generalize irq property handling
This moves irq property handling from spi/i2c specific code into
the generic mcp23s08_probe_one. This is possible because the
device properties are named equally.

As a side-effect this drops support for setting the properties via
pdata, which has no mainline users. If boardcode wants to enable
the chip as interrupt controller it can attach the device properties
instead.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-23 09:50:13 +02:00
Sebastian Reichel
d795cb51df pinctrl: mcp23s08: drop pullup config from pdata
mcp23s08 support configuration of the pullups using the
pinconf framework. This removes the custom pullup configuration
from platform data, which has no upstream users.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-23 09:47:03 +02:00
Mark Brown
282ec0ea65 Merge remote-tracking branches 'spi/topic/ti-qspi' and 'spi/topic/xlp' into spi-next 2017-04-26 15:58:22 +01:00
Mark Brown
a2d5eda072 Merge remote-tracking branches 'spi/topic/devprop', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/lantiq' into spi-next 2017-04-26 15:58:04 +01:00
Mark Brown
42b1eadf4e Merge remote-tracking branch 'spi/topic/core' into spi-next 2017-04-26 15:57:58 +01:00
Vignesh R
2bca34455b spi: Add can_dma like interface for spi_flash_read
Add an interface analogous to ->can_dma() for spi_flash_read()
interface. This will enable SPI controller drivers to inform SPI core
when not to do DMA mappings.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-04-21 18:03:53 +01:00
Emiliano Ingrassia
ed77d6bcaf spi: dynamycally allocated message initialization
Invoke the proper function while initializing
a dynamically allocated spi_message to avoid
NULL pointer dereference during resources deallocation.

Signed-off-by: Emiliano Ingrassia <ingrassia@epigenesys.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-03-29 11:40:39 +01:00
Dmitry Torokhov
826cf175ed spi: allow attaching device properties to SPI board info
Generic device properties support statically defined property sets. For
them to be usable, we need to attach these property sets before devices
are registered and probed. Allowing to attach property list to
spi_board_info structure will allow non-ACPI non-DT boards switch to using
generic properties and get rid of custom platform data.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-03-06 11:38:03 +01:00
Masahiro Yamada
8ab102d60a scripts/spelling.txt: add "partiton" pattern and fix typo instances
Fix typos and add the following to the scripts/spelling.txt:

  partiton||partition

Link: http://lkml.kernel.org/r/1481573103-11329-7-git-send-email-yamada.masahiro@socionext.com
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-27 18:43:46 -08:00
Dmitry Torokhov
d0d89493bf Input: tsc2004/5 - switch to using generic device properties
Instead of supporting legacy platform data (of which we have no mainline
users) and OF-based properties, let's switch to generic device properties.
This will still allow legacy boards to use the driver (by defining property
sets and attaching them to the drivers) and will simplify probe and make
driver usable on ACPI-based systems as well.

Reviewed-By: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-02-12 14:55:09 -08:00
Thor Thayer
8eee6b9dd3 spi: Add Flag to Enable Slave Select with GPIO Chip Select.
Some SPI masters require slave selection before the transfer
can begin [1]. The SPI framework currently selects the chip using
either 1) the internal CS mechanism or 2) the GPIO CS, but not both.

This patch adds a new master->flags define to indicate both the GPIO
CS and the internal chip select mechanism should be used.

Tested On:
    Altera CycloneV development kit
    Compile tested for build errors on x86_64 (allyesconfigs)

[1] DesignWare dw_apb_ssi Databook, Version 3.20a (page 39)

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-10-21 12:09:30 +01:00
Mark Brown
e2df04ed3b Merge remote-tracking branches 'spi/topic/fsl-espi', 'spi/topic/imx', 'spi/topic/jcore', 'spi/topic/loopback' and 'spi/topic/meson' into spi-next 2016-09-30 09:14:10 -07:00