Merge 4.9.202 into android-4.9-q

Changes in 4.9.202
	kvm: mmu: Don't read PDPTEs when paging is not enabled
	Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
	MIPS: BCM63XX: fix switch core reset on BCM6368
	usb: gadget: core: unmap request from DMA only if previously mapped
	KVM: x86: use Intel speculation bugs and features as derived in generic x86 code
	x86/msr: Add the IA32_TSX_CTRL MSR
	x86/cpu: Add a helper function x86_read_arch_cap_msr()
	x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
	x86/speculation/taa: Add mitigation for TSX Async Abort
	x86/speculation/taa: Add sysfs reporting for TSX Async Abort
	kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
	x86/tsx: Add "auto" option to the tsx= cmdline parameter
	x86/speculation/taa: Add documentation for TSX Async Abort
	x86/tsx: Add config options to set tsx=on|off|auto
	x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs
	KVM: x86: simplify ept_misconfig
	KVM: x86: extend usage of RET_MMIO_PF_* constants
	kvm: Convert kvm_lock to a mutex
	kvm: x86: Do not release the page inside mmu_set_spte()
	KVM: x86: make FNAME(fetch) and __direct_map more similar
	KVM: x86: remove now unneeded hugepage gfn adjustment
	KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON
	KVM: x86: Add is_executable_pte()
	KVM: x86: add tracepoints around __direct_map and FNAME(fetch)
	KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is active
	x86/bugs: Add ITLB_MULTIHIT bug infrastructure
	cpu/speculation: Uninline and export CPU mitigations helpers
	kvm: mmu: ITLB_MULTIHIT mitigation
	kvm: Add helper function for creating VM worker threads
	kvm: x86: mmu: Recovery of shattered NX large pages
	Documentation: Add ITLB_MULTIHIT documentation
	Linux 4.9.202

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>