On Thu, Dec 12, 2024 at 07:37:43PM +0200, Abel Vesa wrote: > The current implementation of the ucsi glink client connector_status() > callback is only relying on the state of the gpio. This means that even > when the cable is unplugged, the orientation propagated to the switches > along the graph is "orientation normal", instead of "orientation none", > which would be the correct one in this case. > > One of the Qualcomm DP-USB PHY combo drivers, which needs to be aware of > the orientation change, is relying on the "orientation none" to skip > the reinitialization of the entire PHY. Since the ucsi glink client > advertises "orientation normal" even when the cable is unplugged, the > mentioned PHY is taken down and reinitialized when in fact it should be > left as-is. This triggers a crash within the displayport controller driver > in turn, which brings the whole system down on some Qualcomm platforms. > Propagating "orientation none" from the ucsi glink client on the > connector_status() callback hides the problem of the mentioned PHY driver > away for now. But the "orientation none" is nonetheless the correct one > to be used in this case. > > So propagate the "orientation none" instead when the connector status > flags says cable is disconnected. > > Fixes: 76716fd5bf09 ("usb: typec: ucsi: glink: move GPIO reading into connector_status callback") > Cc: stable@xxxxxxxxxxxxxxx # 6.10 > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > Reviewed-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx> > Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxx> > --- > Changes in v2: > - Re-worded the commit message to explain a bit more what is happening. > - Added Fixes tag and CC'ed stable. > - Dropped the RFC prefix. > - Used the new UCSI_CONSTAT macro which did not exist when v1 was sent. > - Link to v1: https://lore.kernel.org/r/20241017-usb-typec-ucsi-glink-add-orientation-none-v1-1-0fdc7e49a7e7@xxxxxxxxxx Thanks for the update. Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Tested-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Johan