Re: [PATCH] usb: dwc3: debugfs: Add and remove endpoint dirs dynamically

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

 



Hi Peter,

On Tue, Jun 01, 2021 at 03:07:44PM +0800, Peter Chen wrote:

<snip>

> > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > index 65d9b7227752..dbba31d415d7 100644
> > --- a/drivers/usb/dwc3/gadget.c
> > +++ b/drivers/usb/dwc3/gadget.c
> > @@ -2754,6 +2754,8 @@ static int dwc3_gadget_init_endpoint(struct dwc3 *dwc, u8 epnum)
> >  	INIT_LIST_HEAD(&dep->started_list);
> >  	INIT_LIST_HEAD(&dep->cancelled_list);
> >  
> > +	dwc3_debugfs_create_endpoint_dir(dep);
> > +
> >  	return 0;
> >  }
> >  
> > @@ -2797,6 +2799,7 @@ static void dwc3_gadget_free_endpoints(struct dwc3 *dwc)
> >  			list_del(&dep->endpoint.ep_list);
> >  		}
> >  
> > +		debugfs_remove_recursive(debugfs_lookup(dep->name, dwc->root));
> 
> There is one more debugfs_remove_recursive at dwc3_debugfs_exit, need to delete?

No I think it should be fine. dwc3_debugfs_exit() is only called by
dwc3_remove(), and at that time it removes the debugfs directory for the
entire instance from dwc->root, which includes the parent and all the
endpoint subdirectories if present.

dwc3_core_exit_mode() -> dwc3_gadget_exit() is done after that, by which
point the debugfs remove here at dwc3_gadget_free_endpoints() will be
redundant and a no-op anyway.

Thanks,
Jack
-- 
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project



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

  Powered by Linux