lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aPX6kuSgsPS8L2k6@kuha.fi.intel.com>
Date: Mon, 20 Oct 2025 12:02:10 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Michael Grzeschik <m.grzeschik@...gutronix.de>
Cc: Badhri Jagan Sridharan <badhri@...gle.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	kernel@...gutronix.de, linux-usb@...r.kernel.org,
	linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH v2] tcpm: switch check for role_sw device with fw_node

On Mon, Oct 13, 2025 at 11:43:40AM +0200, Michael Grzeschik wrote:
> When there is no port entry in the tcpci entry itself, the driver will
> trigger an error message "OF: graph: no port node found in /...../typec" .
> 
> It is documented that the dts node should contain an connector entry
> with ports and several port pointing to devices with usb-role-switch
> property set. Only when those connector entry is missing, it should
> check for port entries in the main node.
> 
> We switch the search order for looking after ports, which will avoid the
> failure message while there are explicit connector entries.
> 
> Fixes: d56de8c9a17d ("usb: typec: tcpm: try to get role switch from tcpc fwnode")
> Cc: stable@...r.kernel.org
> Signed-off-by: Michael Grzeschik <m.grzeschik@...gutronix.de>

Reviewed-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>

> ---
> Changes in v2:
> - fixed typos in the description
> - added fixes tag
> - added Cc: stable@...r.kernel.org
> - Link to v1: https://lore.kernel.org/r/20251003-b4-ml-topic-tcpm-v1-1-3cdd05588acb@pengutronix.de
> ---
>  drivers/usb/typec/tcpm/tcpm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index b2a568a5bc9b0ba5c50b7031d8e21ee09cefa349..cc78770509dbc6460d75816f544173d6ab4ef873 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -7876,9 +7876,9 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
>  
>  	port->partner_desc.identity = &port->partner_ident;
>  
> -	port->role_sw = usb_role_switch_get(port->dev);
> +	port->role_sw = fwnode_usb_role_switch_get(tcpc->fwnode);
>  	if (!port->role_sw)
> -		port->role_sw = fwnode_usb_role_switch_get(tcpc->fwnode);
> +		port->role_sw = usb_role_switch_get(port->dev);
>  	if (IS_ERR(port->role_sw)) {
>  		err = PTR_ERR(port->role_sw);
>  		goto out_destroy_wq;
> 

-- 
heikki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ