2018-12-23 16:33:23

by Alexey Khoroshilov

[permalink] [raw]
Subject: net: hns: question regarding ae_node device node refcounting

Hello,

hns_nic_dev_probe() increments refcount of ae_node device node:
ae_node = of_parse_phandle(dev->of_node, "ae-handle", 0);

But there is no of_node_put() for ae_node.
What is the right place to decrement the ae_node refount?

Should it be placed in hns_nic_dev_probe() or in hns_nic_dev_remove()?
Or may be it is managed by fwnode somehow?

--
Alexey Khoroshilov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org



2019-01-11 21:07:58

by Salil Mehta

[permalink] [raw]
Subject: RE: hns: question regarding ae_node device node refcounting

Hi Alexey,

> From: Alexey Khoroshilov [mailto:[email protected]]
> Sent: Saturday, December 22, 2018 9:55 PM
> To: Zhuangyuzeng (Yisen) <[email protected]>; Salil Mehta
> <[email protected]>; lipeng (Y) <[email protected]>
> Cc: Alexey Khoroshilov <[email protected]>; David S. Miller
> <[email protected]>; [email protected]; linux-
> [email protected]; [email protected]
> Subject: net: hns: question regarding ae_node device node refcounting
>
> Hello,
>
> hns_nic_dev_probe() increments refcount of ae_node device node:
> ae_node = of_parse_phandle(dev->of_node, "ae-handle", 0);
>
> But there is no of_node_put() for ae_node.
> What is the right place to decrement the ae_node refount?
>
> Should it be placed in hns_nic_dev_probe() or in hns_nic_dev_remove()?
> Or may be it is managed by fwnode somehow?

Thanks for bringing this to notice. Yes, you are right of_node_put()
is missing. We will float a fix for this soon.

Cheers
Salil