The UCSI firmware on Qualcomm SC8180X, SC8280XP and SM8350 are buggy. Submitting UCSI_GET_PDOS command for partners which do not actually support PD and do not have PDOs causes firmware to crash, preventing further UCSI activity. Firmware on newer platforms have fixed this issue. In order to still be able to use UCSI functionality on the mentioned platforms (e.g. to be able to handle USB role switching), apply a workaround that completely shortcuts UCSI_GET_PDOS command for the USB-C partner. This has been tested on sm8350 only, but should apply to other platforms. I did not enable UCSI for sc8180x yet, it has slightly different implementation, which I'd like to get tested first. Note: patch 2 depends on patch 1, otherwise people might end up with the broken kernel and crashed firmware. The easiest way to handle this dependency is to merge both patches through the USB tree. Changes since v1: - Check parent's compatible in the UCSI driver instead of using different AUX device names in the PMIC GLINK driver (Bjorn). Dmitry Baryshkov (2): usb: typec: ucsi: fix UCSI on buggy Qualcomm devices soc: qcom: pmic_glink: enable UCSI by default drivers/soc/qcom/pmic_glink.c | 19 +++++++++---------- drivers/usb/typec/ucsi/ucsi.c | 3 +++ drivers/usb/typec/ucsi/ucsi.h | 3 +++ drivers/usb/typec/ucsi/ucsi_glink.c | 13 +++++++++++++ 4 files changed, 28 insertions(+), 10 deletions(-) -- 2.42.0