altmode_match is used when searching for the first port altmode that matches the partner or plug altmode. If the port registered with mode set to TYPEC_ANY_MODE, it should always match if the SVID matches. Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> --- drivers/usb/typec/class.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c index 9262fcd4144f..179856503d5d 100644 --- a/drivers/usb/typec/class.c +++ b/drivers/usb/typec/class.c @@ -230,7 +230,8 @@ static int altmode_match(struct device *dev, void *data) if (!is_typec_altmode(dev)) return 0; - return ((adev->svid == id->svid) && (adev->mode == id->mode)); + return ((adev->svid == id->svid) && + (adev->mode == id->mode || adev->mode == TYPEC_ANY_MODE)); } static void typec_altmode_set_partner(struct altmode *altmode) -- 2.46.0.792.g87dc391469-goog