All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] usb: typec: tipd: Handle mode transitions for CD321x
@ 2025-09-18  9:52 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2025-09-18  9:52 UTC (permalink / raw)
  To: Hector Martin; +Cc: linux-usb

Hello Hector Martin,

Commit 82432bbfb9e8 ("usb: typec: tipd: Handle mode transitions for
CD321x") from Sep 14, 2025 (linux-next), leads to the following
Smatch static checker warning:

	drivers/usb/typec/tipd/core.c:821 cd321x_update_work()
	error: 'tps->partner' dereferencing possible ERR_PTR()

drivers/usb/typec/tipd/core.c
    805         /* Set up partner if we were previously disconnected (or changed). */
    806         if (!tps->partner) {
    807                 struct typec_partner_desc desc;
    808 
    809                 desc.usb_pd = is_pd;
    810                 desc.accessory = TYPEC_ACCESSORY_NONE; /* XXX: handle accessories */
    811                 desc.identity = NULL;
    812 
    813                 if (desc.usb_pd)
    814                         desc.identity = &st.partner_identity;
    815 
    816                 tps->partner = typec_register_partner(tps->port, &desc);
    817                 if (IS_ERR(tps->partner))
                                   ^^^^^^^^^^^^
    818                         dev_warn(tps->dev, "%s: failed to register partnet\n", __func__);

tps->partner is an error pointer.

    819 
    820                 if (desc.identity) {
--> 821                         typec_partner_set_identity(tps->partner);
                                                           ^^^^^^^^^^^^
but typec_partner_set_identity() dereferences it.

    822                         cd321x->cur_partner_identity = st.partner_identity;
    823                 }
    824         }
    825 
    826         /* Update the TypeC MUX/PHY state */
    827         cd321x_typec_update_mode(tps, &st);
    828 
    829         /* Launch the USB role switch */
    830         usb_role_switch_set_role(tps->role_sw, new_role);
    831 
    832         power_supply_changed(tps->psy);
    833 }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-09-18  9:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-18  9:52 [bug report] usb: typec: tipd: Handle mode transitions for CD321x Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.