kernel_samsung_a53x/drivers/usb
Christian A. Ehrhardt bd229e8883 usb: ucsi_acpi: Fix command completion handling
commit 2840143e393a4ddc1caab4372969ea337371168c upstream.

In case of a spurious or otherwise delayed notification it is
possible that CCI still reports the previous completion. The
UCSI spec is aware of this and provides two completion bits in
CCI, one for normal commands and one for acks. As acks and commands
alternate the notification handler can determine if the completion
bit is from the current command.

The initial UCSI code correctly handled this but the distinction
between the two completion bits was lost with the introduction of
the new API.

To fix this revive the ACK_PENDING bit for ucsi_acpi and only complete
commands if the completion bit matches.

Fixes: f56de278e8ec ("usb: typec: ucsi: acpi: Move to the new API")
Cc: stable@vger.kernel.org
Signed-off-by: "Christian A. Ehrhardt" <lk@c--e.de>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240121204123.275441-3-lk@c--e.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-18 12:13:29 +01:00
..
atm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
c67x00 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cdns3 usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled 2024-11-18 12:12:54 +01:00
chipidea usb: chipidea: wait controller resume finished for wakeup irq 2024-11-18 12:12:46 +01:00
class usb: cdc-acm: return correct error code on unsupported break 2024-11-18 12:12:50 +01:00
common Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core usb: hub: Replace hardcoded quirk value with BIT() macro 2024-11-18 12:13:20 +01:00
dwc2 USB: dwc2: write HCINT with INTMASK applied 2024-11-18 12:10:58 +01:00
dwc3 usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart 2024-11-18 12:12:46 +01:00
early Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gadget USB: gadget: core: adjust uevent timing on gadget unbind 2024-11-18 12:11:57 +01:00
host usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK 2024-11-18 12:13:26 +01:00
image Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isp1760 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
misc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mon usb: mon: Fix atomicity violation in mon_bin_vma_fault 2024-11-18 12:12:47 +01:00
mtu3 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
musb usb: musb: Modify the "HWVers" register address 2024-11-08 11:25:49 +01:00
notify Import A536BXXSAEXE1 2024-06-15 16:07:28 -03:00
notify_lsi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
phy usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host() 2024-11-18 12:12:46 +01:00
renesas_usbhs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
roles Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
serial USB: serial: cp210x: add ID for IMST iM871A-USB 2024-11-18 12:13:26 +01:00
storage usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility 2024-11-18 10:58:47 +01:00
typec usb: ucsi_acpi: Fix command completion handling 2024-11-18 12:13:29 +01:00
usbip USB: usbip: fix stub_dev hub disconnect 2024-11-18 11:43:05 +01:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig.variant1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.variant1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usb-skeleton.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00