On Wed, Mar 13, 2024 at 05:54:15AM +0200, Dmitry Baryshkov wrote: > Reading Partner Source PDOs for the consumer Connectors appears to be > working. Permit getting PDOs in this case in order to populate > capabilities of the connected power supply in the sysfs. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/ucsi/ucsi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c > index 011d52bf34f6..72d368433b1f 100644 > --- a/drivers/usb/typec/ucsi/ucsi.c > +++ b/drivers/usb/typec/ucsi/ucsi.c > @@ -642,7 +642,9 @@ static int ucsi_read_pdos(struct ucsi_connector *con, > int ret; > > if (is_partner && > - ucsi->quirks & UCSI_NO_PARTNER_PDOS) > + ucsi->quirks & UCSI_NO_PARTNER_PDOS && > + ((con->status.flags & UCSI_CONSTAT_PWR_DIR) || > + !is_source(role))) > return 0; > > command = UCSI_COMMAND(UCSI_GET_PDOS) | UCSI_CONNECTOR_NUMBER(con->num); > > -- > 2.39.2 -- heikki