Merge android-4.9.89 (960923f) into msm-4.9

* refs/heads/tmp-960923f:
  Linux 4.9.89
  usb: gadget: bdc: 64-bit pointer capability check
  usb: dwc3: Fix GDBGFIFOSPACE_TYPE values
  USB: gadget: udc: Add missing platform_device_put() on error in bdc_pci_probe()
  scsi: qla2xxx: Fix extraneous ref on sp's after adapter break
  btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device
  btrfs: alloc_chunk: fix DUP stripe size handling
  scsi: sg: only check for dxfer_len greater than 256M
  scsi: sg: fix static checker warning in sg_is_valid_dxfer
  scsi: sg: fix SG_DXFER_FROM_DEV transfers
  irqchip/gic-v3-its: Ensure nr_ites >= nr_lpis
  fs/aio: Use RCU accessors for kioctx_table->table[]
  fs/aio: Add explicit RCU grace period when freeing kioctx
  lock_parent() needs to recheck if dentry got __dentry_kill'ed under it
  fs: Teach path_connected to handle nfs filesystems with multiple roots.
  drm/amdgpu/dce: Don't turn off DP sink when disconnected
  drm/amdgpu: fix prime teardown order
  ALSA: seq: Clear client entry before deleting else at closing
  ALSA: seq: Fix possible UAF in snd_seq_check_queue()
  ALSA: hda - Revert power_save option default value
  ALSA: pcm: Fix UAF in snd_pcm_oss_get_formats()
  parisc: Handle case where flush_cache_range is called with no context
  x86/mm: Fix vmalloc_fault to use pXd_large
  x86/speculation: Remove Skylake C2 from Speculation Control microcode blacklist
  x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32-bit kernels
  x86/vm86/32: Fix POPF emulation
  selftests/x86/entry_from_vm86: Add test cases for POPF
  selftests/x86: Add tests for the STR and SLDT instructions
  selftests/x86: Add tests for User-Mode Instruction Prevention
  selftests/x86/entry_from_vm86: Exit with 1 if we fail
  x86/cpufeatures: Add Intel PCONFIG cpufeature
  x86/boot/32: Fix UP boot on Quark and possibly other platforms
  net: hns: Some checkpatch.pl script & warning fixes
  ima: relax requiring a file signature for new files with zero length
  locking/locktorture: Fix num reader/writer corner cases
  rcutorture/configinit: Fix build directory error message
  ipvlan: add L2 check for packets arriving via virtual devices
  ASoC: nuc900: Fix a loop timeout test
  mac80211: remove BUG() when interface type is invalid
  mac80211_hwsim: enforce PS_MANUAL_POLL to be set after PS_ENABLED
  agp/intel: Flush all chipset writes after updating the GGTT
  powerpc/modules: Don't try to restore r2 after a sibling call
  drm/amdkfd: Fix memory leaks in kfd topology
  veth: set peer GSO values
  media: cpia2: Fix a couple off by one bugs
  media: vsp1: Prevent suspending and resuming DRM pipelines
  scsi: dh: add new rdac devices
  scsi: devinfo: apply to HP XP the same flags as Hitachi VSP
  scsi: core: scsi_get_device_flags_keyed(): Always return device flags
  bnxt_en: Don't print "Link speed -1 no longer supported" messages.
  spi: sun6i: disable/unprepare clocks on remove
  tools/usbip: fixes build with musl libc toolchain
  ath10k: fix invalid STS_CAP_OFFSET_MASK
  mwifiex: cfg80211: do not change virtual interface during scan processing
  clk: qcom: msm8916: fix mnd_width for codec_digcodec
  pwm: stmpe: Fix wrong register offset for hwpwm=2 case
  scsi: ses: don't ask for diagnostic pages repeatedly during probe
  ath10k: update tdls teardown state to target
  power: supply: ab8500_charger: Bail out in case of error in 'ab8500_charger_init_hw_registers()'
  power: supply: ab8500_charger: Fix an error handling path
  leds: pm8058: Silence pointer to integer size warning
  userns: Don't fail follow_automount based on s_user_ns
  mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
  ARM: dts: omap3-n900: Fix the audio CODEC's reset pin
  ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin
  net: thunderx: Set max queue count taking XDP_TX into account
  mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]()
  net: xfrm: allow clearing socket xfrm policies.
  net: ieee802154: adf7242: Fix bug if defined DEBUG
  test_firmware: fix setting old custom fw path back on exit
  sched: Stop resched_cpu() from sending IPIs to offline CPUs
  sched: Stop switched_to_rt() from sending IPIs to offline CPUs
  ARM: dts: exynos: Correct Trats2 panel reset line
  clk: meson: gxbb: fix wrong clock for SARADC/SANA
  iwlwifi: mvm: rs: don't override the rate history in the search cycle
  HID: elo: clear BTN_LEFT mapping
  video/hdmi: Allow "empty" HDMI infoframes
  drm/edid: set ELD connector type in drm_edid_to_eld()
  mwifiex: Fix invalid port issue
  perf stat: Fix bug in handling events in error state
  wil6210: fix memory access violation in wil_memcpy_from/toio_32
  wil6210: fix protection against connections during reset
  ath10k: fix compile time sanity check for CE4 buffer size
  mac80211_hwsim: use per-interface power level
  Bluetooth: 6lowpan: fix delay work init in add_peer_chan()
  Bluetooth: Avoid bt_accept_unlink() double unlinking
  clk: qcom: msm8996: Fix the vfe1 powerdomain name
  pwm: tegra: Increase precision in PWM rate calculation
  kprobes/x86: Set kprobes pages read-only
  kprobes/x86: Fix kprobe-booster not to boost far call instructions
  ALSA: hda: Add Geminilake id to SKL_PLUS
  scsi: sg: close race condition in sg_remove_sfp_usercontext()
  scsi: sg: check for valid direction before starting the request
  vfio/spapr_tce: Check kzalloc() return when preregistering memory
  vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check
  perf session: Don't rely on evlist in pipe mode
  net: fec: add phy-reset-gpios PROBE_DEFER check
  perf inject: Copy events when reordering events in pipe mode
  drivers/perf: arm_pmu: handle no platform_device
  iwlwifi: mvm: fix RX SKB header size and align it properly
  perf evsel: Return exact sub event which failed with EPERM for wildcards
  usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control()
  usb: dwc2: Make sure we disconnect the gadget state
  powerpc/nohash: Fix use of mmu_has_feature() in setup_initial_memory_limit()
  md.c:didn't unlock the mddev before return EINVAL in array_size_store
  md/raid6: Fix anomily when recovering a single device in RAID6.
  regulator: isl9305: fix array size
  v4l: vsp1: Register pipe with output WPF
  v4l: vsp1: Prevent multiple streamon race commencing pipeline early
  MIPS: r2-on-r6-emu: Clear BLTZALL and BGEZALL debugfs counters
  MIPS: r2-on-r6-emu: Fix BLEZL and BGTZL identification
  MIPS: BPF: Fix multiple problems in JIT skb access helpers.
  MIPS: BPF: Quit clobbering callee saved registers in JIT code.
  serial: imx: setup DCEDTE early and ensure DCD and RI irqs to be off
  tty: amba-pl011: Fix spurious TX interrupts
  lkdtm: turn off kcov for lkdtm_rodata_do_nothing:
  coresight: Fixes coresight DT parse to get correct output port ID.
  i40e: only register client on iWarp-capable devices
  drm/rockchip: vop: Enable pm domain before vop_initial
  drm/amdgpu: Fail fb creation from imported dma-bufs. (v2)
  drm/radeon: Fail fb creation from imported dma-bufs.
  video: ARM CLCD: fix dma allocation size
  kvm: nVMX: Disallow userspace-injected exceptions in guest mode
  kvm/svm: Setup MCG_CAP on AMD properly
  iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range
  apparmor: Make path_max parameter readonly
  qed: Correct MSI-x for storage
  scsi: ses: don't get power status of SES device slot on probe
  EDAC, altera: Fix peripheral warnings for Cyclone5
  fm10k: correctly check if interface is removed
  ALSA: firewire-digi00x: handle all MIDI messages on streaming packets
  ALSA: firewire-digi00x: add support for console models of Digi00x series
  IB/hfi1: Check for QSFP presence before attempting reads
  ASoC: rt5677: Add OF device ID table
  reiserfs: Make cancel_old_flush() reliable
  ARM: dts: koelsch: Correct clock frequency of X2 DU clock input
  drm: rcar-du: Handle event when disabling CRTCs
  printk: Correctly handle preemption in console_unlock()
  rtmutex: Fix PI chain order integrity
  qed: Fix TM block ILT allocation
  net/faraday: Add missing include of of.h
  net: hns: Correct HNS RSS key set function
  powerpc: Avoid taking a data miss on every userspace instruction miss
  ARM: dts: r8a7793: Correct parent of SSI[0-9] clocks
  ARM: dts: r8a7791: Correct parent of SSI[0-9] clocks
  ARM: dts: r8a7790: Correct parent of SSI[0-9] clocks
  ARM: dts: r7s72100: fix ethernet clock parent
  NFC: pn533: change order of free_irq and dev unregistration
  NFC: nfcmrvl: double free on error path
  NFC: nfcmrvl: Include unaligned.h instead of access_ok.h
  vxlan: vxlan dev should inherit lowerdev's gso_max_size
  drm/vmwgfx: Fixes to vmwgfx_fb
  braille-console: Fix value returned by _braille_console_setup
  powerpc/mm/hugetlb: Filter out hugepage size not supported by page table layout
  PCI: Apply Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices
  bonding: refine bond_fold_stats() wrap detection
  drm/ttm: never add BO that failed to validate to the LRU list
  f2fs: relax node version check for victim data in gc
  perf trace: Handle unpaired raw_syscalls:sys_exit event
  regulator: core: Limit propagation of parent voltage count and list
  blk-throttle: make sure expire time isn't too big
  ARM: dts: silk: Correct clock of DU1
  ARM: dts: r8a7794: Correct clock of DU1
  ARM: dts: r8a7794: Add DU1 clock to device tree
  ALSA: firewire-lib: add a quirk of packet without valid EOH in CIP format
  mm: Fix false-positive VM_BUG_ON() in page_cache_{get,add}_speculative()
  bonding: make speed, duplex setting consistent with link state
  driver: (adm1275) set the m,b and R coefficients correctly for power
  scsi: be2iscsi: Check tag in beiscsi_mccq_compl_wait
  i40e/i40evf: Fix use after free in Rx cleanup path
  perf buildid: Do not assume that readlink() returns a null terminated string
  perf annotate: Fix a bug following symbolic link of a build-id file
  ARM: dts: bcm2835: add index to the ethernet alias
  usb: dwc3: make sure UX_EXIT_PX is cleared
  dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
  tcp: sysctl: Fix a race to avoid unexpected 0 window from space
  spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer
  ASoC: rcar: ssi: don't set SSICR.CKDV = 000 with SSIWSR.CONT
  PCI: hv: Lock PCI bus on device eject
  PCI: hv: Properly handle PCI bus remove
  sched: act_csum: don't mangle TCP and UDP GSO packets
  Input: qt1070 - add OF device ID table
  sysrq: Reset the watchdog timers while displaying high-resolution timers
  timers, sched_clock: Update timeout for clock wrap
  media: i2c/soc_camera: fix ov6650 sensor getting wrong clock
  scsi: ipr: Fix missed EH wakeup
  scsi: fnic: Fix for "Number of Active IOs" in fnicstats becoming negative
  x86/boot/32: Defer resyncing initial_page_table until per-cpu is set up
  solo6x10: release vb2 buffers in solo_stop_streaming()
  of: fix of_device_get_modalias returned length when truncating buffers
  batman-adv: handle race condition for claims between gateways
  zd1211rw: fix NULL-deref at probe
  s390/topology: fix typo in early topology code
  qed: Always publish VF link from leading hwfn
  ARM: dts: Adjust moxart IRQ controller and flags
  net/8021q: create device with all possible features in wanted_features
  HID: clamp input to logical range if no null state
  perf probe: Return errno when not hitting any event
  perf probe: Fix concat_probe_trace_events
  omapfb: dss: Handle return errors in dss_init_ports()
  x86/mce: Init some CPU features early
  netem: apply correct delay when rate throttling
  net: ethernet: bgmac: Allow MAC address to be specified in DTB
  ARM: bcm2835: Enable missing CMA settings for VC4 driver
  usb: misc: lvs: fix race condition in disconnect handling
  ath10k: fix fetching channel during potential radar detection
  ath10k: disallow DFS simulation if DFS channel is not enabled
  drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off)
  drivers: net: xgene: Fix Rx checksum validation logic
  drivers: net: xgene: Fix wrong logical operation
  drivers: net: phy: xgene: Fix mdio write
  drivers: net: xgene: Fix hardware checksum setting
  ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals
  perf tools: Make perf_event__synthesize_mmap_events() scale
  i40e: fix ethtool to get EEPROM data from X722 interface
  i40e: Acquire NVM lock before reads on all devices
  eventpoll.h: fix epoll event masks
  x86/mce: Handle broadcasted MCE gracefully with kexec
  perf sort: Fix segfault with basic block 'cycles' sort dimension
  x86/mm: Make mmap(MAP_32BIT) work correctly
  selinux: check for address length in selinux_socket_bind()
  PCI/MSI: Stop disabling MSI/MSI-X in pci_device_shutdown()
  drm/sun4i: Fix TCON clock and regmap initialization sequence
  ath10k: fix a warning during channel switch with multiple vaps
  drm/sun4i: Set drm_crtc.port to the underlying TCON's output port node
  drm/sun4i: Fix up error path cleanup for master bind function
  arm64: dts: r8a7796: Remove unit-address and reg from integrated cache
  ARM: dts: r8a7794: Remove unit-address and reg from integrated cache
  ARM: dts: r8a7793: Remove unit-address and reg from integrated cache
  ARM: dts: r8a7792: Remove unit-address and reg from integrated cache
  ARM: dts: r8a7791: Remove unit-address and reg from integrated cache
  drm: qxl: Don't alloc fbdev if emulation is not supported
  HID: reject input outside logical range only if null state is set
  staging: wilc1000: add check for kmalloc allocation failure.
  staging: speakup: Replace BUG_ON() with WARN_ON().
  perf stat: Issue a HW watchdog disable hint
  Input: tsc2007 - check for presence and power down tsc2007 during probe
  blkcg: fix double free of new_blkg in blkcg_init_queue
  staging: android: ashmem: Fix possible deadlock in ashmem_ioctl

Conflicts:
	drivers/net/wireless/ath/wil6210/main.c
	drivers/usb/dwc3/core.h

Change-Id: I2d77962cfc3dbc8b051ba51bf10b577d327ffaa9
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>