Re: [PATCH v2 04/11] usb: typec: ucsi: always register a link to USB PD device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 29, 2024 at 08:15:36AM +0200, Dmitry Baryshkov wrote:
> UCSI driver will attempt to set a USB PD device only if it was able to
> read PDOs from the firmware. This results in suboptimal behaviour, since
> the PD device will be created anyway. Move calls to
> typec_port_set_usb_power_delivery() out of conditional code and call it
> after reading capabilities.
> 
> Fixes: b04e1747fbcc ("usb: typec: ucsi: Register USB Power Delivery Capabilities")
> 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, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
> index 7666142d8bbb..d1a45ce7f660 100644
> --- a/drivers/usb/typec/ucsi/ucsi.c
> +++ b/drivers/usb/typec/ucsi/ucsi.c
> @@ -1569,7 +1569,6 @@ static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con)
>  		}
>  
>  		con->port_source_caps = pd_cap;
> -		typec_port_set_usb_power_delivery(con->port, con->pd);
>  	}
>  
>  	memset(&pd_caps, 0, sizeof(pd_caps));
> @@ -1586,9 +1585,10 @@ static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con)
>  		}
>  
>  		con->port_sink_caps = pd_cap;
> -		typec_port_set_usb_power_delivery(con->port, con->pd);
>  	}
>  
> +	typec_port_set_usb_power_delivery(con->port, con->pd);
> +
>  	/* Alternate modes */
>  	ret = ucsi_register_altmodes(con, UCSI_RECIPIENT_CON);
>  	if (ret) {
> 
> -- 
> 2.39.2

-- 
heikki




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux