Hi Prashant, On Thu, Jan 12, 2023 at 02:31:45PM -0800, Prashant Malani wrote: > HI Sakari, > > On Thu, Jan 12, 2023 at 5:32 AM Sakari Ailus > <sakari.ailus@xxxxxxxxxxxxxxx> wrote: > > > > Hi Pin-yen, > > > > On Thu, Jan 12, 2023 at 12:20:56PM +0800, Pin-yen Lin wrote: > > > From: Prashant Malani <pmalani@xxxxxxxxxxxx> > > > + /* > > > + * Some drivers may register devices for endpoints. Check > > > + * the remote-endpoints for matches in addition to the remote > > > + * port parent. > > > + */ > > > + node = fwnode_graph_get_remote_endpoint(ep); > > > + if (fwnode_device_is_available(node)) { > > > + ret = match(node, con_id, data); > > > + if (ret) { > > > + if (matches) > > > + matches[count] = ret; > > > + count++; > > > + } > > > + } > > > > Aren't you missing fwnode_handle-put(node) here?? > > It shouldn't be necessary. We aren't break-ing/continue-ing here, > and fwnode_handle_put(node) is called latter in the loop [1][2] It is, but node is overwritten just below this chunk --- before fwnode_handle_put() is called on it. > > BR, > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/property.c#n1256 > [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/property.c#n1261 -- Regards, Sakari Ailus