RE: [PATCH v1] usb: phy: add usb phy notify port status API

From: Stanley Chang[昌育德]
Date: Fri Apr 21 2023 - 04:40:43 EST



> > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index
> > 97a0f8faea6e..b4fbbeae1927 100644
> > --- a/drivers/usb/core/hub.c
> > +++ b/drivers/usb/core/hub.c
> > @@ -614,6 +614,19 @@ static int hub_ext_port_status(struct usb_hub *hub,
> int port1, int type,
> > ret = 0;
> > }
> > mutex_unlock(&hub->status_mutex);
> > +
> > + if (!ret) {
> > + struct usb_device *hdev = hub->hdev;
> > +
> > + if (hdev && !hdev->parent) {
>
> How can you have a device without a parent? And why does it matter?

If the hub is a root hub, the parent of hub will be NULL.
And we only send the port status to phy driver for root hub.
>
> And how could hdev be NULL? And if it can change to be NULL, what prevents
> it from changing right after you checked for it?
>

It is right. hdev is never NULL, this is a redundant check.

Thanks,
Stanley