linux/drivers/usb
RD Babiera 6f75e09343 usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment
commit 5a5ccd61cf upstream.

When connecting to some DisplayPort partners, the initial status update
after entering DisplayPort Alt Mode notifies that the DFP_D/UFP_D is not in
the connected state. This leads to sending a configure message that keeps
the device in USB mode. The port partner then sets DFP_D/UFP_D to the
connected state and HPD to high in the same Attention message. Currently,
the HPD signal is dropped in order to handle configuration.

This patch saves changes to the HPD signal when the device chooses to
configure during dp_altmode_status_update, and invokes sysfs_notify if
necessary for HPD after configuring.

Fixes: 0e3bb7d689 ("usb: typec: Add driver for DisplayPort alternate mode")
Cc: stable@vger.kernel.org
Signed-off-by: RD Babiera <rdbabiera@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20230726020903.1409072-1-rdbabiera@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-08-16 18:27:24 +02:00
..
atm usb: move from strlcpy with unused retval to strscpy 2022-08-19 11:08:54 +02:00
c67x00 USB: c67x00: remove unnecessary check of res 2022-05-12 11:36:46 +02:00
cdns3 usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config 2023-08-03 10:24:11 +02:00
chipidea usb: chipidea: fix missing goto in ci_hdrc_probe 2023-05-11 23:03:30 +09:00
class USB: usbtmc: Fix direction for 0-length ioctl control messages 2023-05-24 17:32:48 +01:00
common usb: common: usb-conn-gpio: Prevent bailing out if initial role is none 2023-08-16 18:27:24 +02:00
core USB: quirks: add quirk for Focusrite Scarlett 2023-08-03 10:24:11 +02:00
dwc2 usb: dwc2: Fix some error handling paths 2023-07-19 16:21:49 +02:00
dwc3 usb: dwc3: Properly handle processing of pending events 2023-08-16 18:27:24 +02:00
early usb: early: xhci-dbc: Fix a potential out-of-bound memory access 2023-03-10 09:33:35 +01:00
gadget USB: Gadget: core: Help prevent panic during UVC unconfigure 2023-08-16 18:27:24 +02:00
host Revert "xhci: add quirk for host controllers that don't update endpoint DCS" 2023-08-03 10:24:12 +02:00
image usb/image: fix repeated words in comments 2022-07-27 14:33:53 +02:00
isp1760 usb: isp1760: Fix out-of-bounds array access 2022-05-19 18:10:59 +02:00
misc usb: misc: ehset: fix wrong if condition 2023-08-03 10:24:10 +02:00
mon usb: mon: make mmapped memory read only 2022-09-22 15:52:29 +02:00
mtu3 usb: mtu3: fix kernel panic at qmu transfer done irq handler 2023-05-11 23:03:30 +09:00
musb Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-07-19 16:21:56 +02:00
phy usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() 2023-07-19 16:21:52 +02:00
renesas_usbhs usb: renesas: Fix refcount leak bug 2022-06-21 16:39:03 +02:00
roles Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-07-19 16:21:56 +02:00
serial USB: serial: simple: sort driver entries 2023-08-03 10:24:09 +02:00
storage usb-storage: alauda: Fix uninit-value in alauda_check_media() 2023-08-16 18:27:24 +02:00
typec usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment 2023-08-16 18:27:24 +02:00
usbip use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile usb: host: remove line for obsolete config USB_HWA_HCD 2021-08-18 15:32:19 +02:00
usb-skeleton.c usb: usb-skeleton: Update min() to min_t() 2021-10-05 12:56:48 +02:00