On Mon, Feb 25, 2019 at 01:56:37PM +0100, Hans de Goede wrote: > If our port-partner supports both DP-only operation (pin-assignment C) > and multi-func operation (pin-assignment D) and we only support > pin-assignment D and the port-partner prefers DP-only mode, then > before this commit we would and up masking out pin-assignment D from > the available pin-assignments and fail to pick a pin-assignment. > > Instead only mask out the multi-func pin-assignments if we support > dp-only pin-assignments, so that we correctly fall-back to a multi-func > pin-assignment in this case (by picking pin-assignment D). > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/altmodes/displayport.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c > index 3f06e94771a7..35161594e368 100644 > --- a/drivers/usb/typec/altmodes/displayport.c > +++ b/drivers/usb/typec/altmodes/displayport.c > @@ -104,7 +104,7 @@ static int dp_altmode_configure(struct dp_altmode *dp, u8 con) > if (dp->data.status & DP_STATUS_PREFER_MULTI_FUNC && > pin_assign & DP_PIN_ASSIGN_MULTI_FUNC_MASK) > pin_assign &= DP_PIN_ASSIGN_MULTI_FUNC_MASK; > - else > + else if (pin_assign & DP_PIN_ASSIGN_DP_ONLY_MASK) > pin_assign &= DP_PIN_ASSIGN_DP_ONLY_MASK; > > if (!pin_assign) > -- > 2.20.1 thanks, -- heikki