This is the 5.4.12 stable release

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl4eEbgACgkQONu9yGCS
 aT6xixAArw9vRo6nu0fyFIylDePnMXub5IzBZSfkJeNEYJuKOuG8OQL7mA4w+7HR
 EqxB5iujMkDzXvWXJTpB4o/uWThyg7cTOd1rco5gLJqZ7tJiNtNGXXPd1+WQi4VC
 mzczdPr8b0sYrspqfE1GqRCmJRjhvybJ+GuJlnwWM6Kb6Q3adfhtYypCTHCZwqT+
 DfFD3EHpSBsged3ZtjFxQ9SgpGEndYc+k5zZSNYzmDNXIYurrqwZ3n4Co+XfOeO0
 79F1lJZVWxCI/hiLg0uXKzG5SYVhh+GRi4qVMM2/i9AEKH2UrXkkt6YRieRR8zTc
 DZsjkcoGBmIO5O+sWFpmKumE0YLspq4YO+lWtIaJI7x7GVMf/VYqv/3h7vKw0BMM
 Ka8eO39aeJvL0w4GfvC4j0yDLWZHLpO9ApRKzK0CKCdjhPpHNlsd+LrhiMDNw/cz
 JLF+wx0mku+ndDoAbpUvn/BBhb1yZY0cMZviKHEzfk90voItAyB2eKnZmwL7jE8M
 zI3pkZZ8468r0ekgukmhzBXLdUl5MTICEBpi8h5COvNntBE9UDHJCb735C4DBGyL
 yPl3bxo4IllAQKV4AN7rU2TG1AQom9EoD3uDsl9RxNIdsDQxr8zyH8J1xIdGaNTv
 hWD/JFiPQDPlOYAPbRqldtGMsTbBMD2HUFcchm3QCXnYYA16pls=
 =QCPE
 -----END PGP SIGNATURE-----

Merge 5.4.12 into android-5.4

Changes in 5.4.12
	chardev: Avoid potential use-after-free in 'chrdev_open()'
	i2c: fix bus recovery stop mode timing
	powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online()
	usb: chipidea: host: Disable port power only if previously enabled
	ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5
	ALSA: hda/realtek - Add new codec supported for ALCS1200A
	ALSA: hda/realtek - Set EAPD control to default for ALC222
	ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen
	tpm: Revert "tpm_tis: reserve chip for duration of tpm_tis_core_init"
	tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts"
	tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's"
	tpm: Handle negative priv->response_len in tpm_common_read()
	rtc: sun6i: Add support for RTC clocks on R40
	kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail
	tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined
	tracing: Change offset type to s32 in preempt/irq tracepoints
	HID: Fix slab-out-of-bounds read in hid_field_extract
	HID: uhid: Fix returning EPOLLOUT from uhid_char_poll
	HID: hidraw: Fix returning EPOLLOUT from hidraw_poll
	HID: hid-input: clear unmapped usages
	Input: add safety guards to input_set_keycode()
	Input: input_event - fix struct padding on sparc64
	drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl,ehl
	Revert "drm/amdgpu: Set no-retry as default."
	drm/sun4i: tcon: Set RGB DCLK min. divider based on hardware model
	drm/fb-helper: Round up bits_per_pixel if possible
	drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ
	drm/i915: Add Wa_1407352427:icl,ehl
	drm/i915/gt: Mark up virtual engine uabi_instance
	IB/hfi1: Adjust flow PSN with the correct resync_psn
	can: kvaser_usb: fix interface sanity check
	can: gs_usb: gs_usb_probe(): use descriptors of current altsetting
	can: tcan4x5x: tcan4x5x_can_probe(): get the device out of standby before register access
	can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode
	can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs
	gpiolib: acpi: Turn dmi_system_id table into a generic quirk table
	gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism
	pstore/ram: Regularize prz label allocation lifetime
	staging: vt6656: set usb_set_intfdata on driver fail.
	staging: vt6656: Fix non zero logical return of, usb_control_msg
	usb: cdns3: should not use the same dev_id for shared interrupt handler
	usb: ohci-da8xx: ensure error return on variable error is set
	USB-PD tcpm: bad warning+size, PPS adapters
	USB: serial: option: add ZLP support for 0x1bc7/0x9010
	usb: musb: fix idling for suspend after disconnect interrupt
	usb: musb: Disable pullup at init
	usb: musb: dma: Correct parameter passed to IRQ handler
	staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713
	staging: vt6656: correct return of vnt_init_registers.
	staging: vt6656: limit reg output to block size
	staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21
	serdev: Don't claim unsupported ACPI serial devices
	iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU
	tty: link tty and port before configuring it as console
	tty: always relink the port
	arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers
	arm64: Implement copy_thread_tls
	arm: Implement copy_thread_tls
	parisc: Implement copy_thread_tls
	riscv: Implement copy_thread_tls
	xtensa: Implement copy_thread_tls
	clone3: ensure copy_thread_tls is implemented
	um: Implement copy_thread_tls
	staging: vt6656: remove bool from vnt_radio_power_on ret
	mwifiex: fix possible heap overflow in mwifiex_process_country_ie()
	mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf
	rpmsg: char: release allocated memory
	scsi: bfa: release allocated memory in case of error
	rtl8xxxu: prevent leaking urb
	ath10k: fix memory leak
	HID: hiddev: fix mess in hiddev_open()
	USB: Fix: Don't skip endpoint descriptors with maxpacket=0
	phy: cpcap-usb: Fix error path when no host driver is loaded
	phy: cpcap-usb: Fix flakey host idling and enumerating of devices
	netfilter: arp_tables: init netns pointer in xt_tgchk_param struct
	netfilter: conntrack: dccp, sctp: handle null timeout argument
	netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present
	drm/i915/gen9: Clear residual context state on context switch
	Linux 5.4.12

Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Ib8604812a0a41f9e3ab36ef238623fc222096fea
This commit is contained in:
Greg Kroah-Hartman 2020-01-15 08:53:52 +01:00
commit 4bbb960644
91 changed files with 552 additions and 243 deletions

View file

@ -207,6 +207,19 @@ static int cpcap_phy_get_ints_state(struct cpcap_phy_ddata *ddata,
static int cpcap_usb_set_uart_mode(struct cpcap_phy_ddata *ddata);
static int cpcap_usb_set_usb_mode(struct cpcap_phy_ddata *ddata);
static void cpcap_usb_try_musb_mailbox(struct cpcap_phy_ddata *ddata,
enum musb_vbus_id_status status)
{
int error;
error = musb_mailbox(status);
if (!error)
return;
dev_dbg(ddata->dev, "%s: musb_mailbox failed: %i\n",
__func__, error);
}
static void cpcap_usb_detect(struct work_struct *work)
{
struct cpcap_phy_ddata *ddata;
@ -226,9 +239,7 @@ static void cpcap_usb_detect(struct work_struct *work)
if (error)
goto out_err;
error = musb_mailbox(MUSB_ID_GROUND);
if (error)
goto out_err;
cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND);
error = regmap_update_bits(ddata->reg, CPCAP_REG_USBC3,
CPCAP_BIT_VBUSSTBY_EN |
@ -257,9 +268,7 @@ static void cpcap_usb_detect(struct work_struct *work)
error = cpcap_usb_set_usb_mode(ddata);
if (error)
goto out_err;
error = musb_mailbox(MUSB_ID_GROUND);
if (error)
goto out_err;
cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND);
return;
}
@ -269,22 +278,18 @@ static void cpcap_usb_detect(struct work_struct *work)
error = cpcap_usb_set_usb_mode(ddata);
if (error)
goto out_err;
error = musb_mailbox(MUSB_VBUS_VALID);
if (error)
goto out_err;
cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_VALID);
return;
}
cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF);
/* Default to debug UART mode */
error = cpcap_usb_set_uart_mode(ddata);
if (error)
goto out_err;
error = musb_mailbox(MUSB_VBUS_OFF);
if (error)
goto out_err;
dev_dbg(ddata->dev, "set UART mode\n");
return;
@ -649,9 +654,7 @@ static int cpcap_usb_phy_remove(struct platform_device *pdev)
if (error)
dev_err(ddata->dev, "could not set UART mode\n");
error = musb_mailbox(MUSB_VBUS_OFF);
if (error)
dev_err(ddata->dev, "could not set mailbox\n");
cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF);
usb_remove_phy(&ddata->phy);
cancel_delayed_work_sync(&ddata->detect_work);