File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -2996,7 +2996,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
2996
2996
{
2997
2997
struct usb_power_delivery_desc desc = { port -> negotiated_rev };
2998
2998
struct usb_power_delivery_capabilities_desc caps = { };
2999
- struct usb_power_delivery_capabilities * cap ;
2999
+ struct usb_power_delivery_capabilities * cap = port -> partner_source_caps ;
3000
3000
3001
3001
if (!port -> partner_pd )
3002
3002
port -> partner_pd = usb_power_delivery_register (NULL , & desc );
@@ -3006,6 +3006,9 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
3006
3006
memcpy (caps .pdo , port -> source_caps , sizeof (u32 ) * port -> nr_source_caps );
3007
3007
caps .role = TYPEC_SOURCE ;
3008
3008
3009
+ if (cap )
3010
+ usb_power_delivery_unregister_capabilities (cap );
3011
+
3009
3012
cap = usb_power_delivery_register_capabilities (port -> partner_pd , & caps );
3010
3013
if (IS_ERR (cap ))
3011
3014
return PTR_ERR (cap );
You can’t perform that action at this time.
0 commit comments