On 2024/10/29 21:43, Johan Hovold wrote:
On Thu, Oct 24, 2024 at 10:39:27PM +0800, Zijun Hu wrote:
From: Zijun Hu quic_zijuhu@quicinc.com
For devm_of_phy_provider_unregister(), its comment says it needs to invoke of_phy_provider_unregister() to unregister the phy provider, but it does not invoke the function actually since devres_destroy() will not call devm_phy_provider_release() at all which will call the function, and the missing of_phy_provider_unregister() call will case:
Please split this up in two sentences as well.
good suggestions. will do it.
- The phy provider fails to be unregistered.
- Leak both memory and the OF node refcount.
Perhaps a comment about there not being any in-tree users of this API is in place here?
okay, will do it as you suggest.
And you could consider dropping the function altogether as well.
Remove the API devm_of_phy_provider_unregister()?
i prefer fixing it instead of removing it based on below considerations.
1) it is simper. just about one line change. 2) the API may be used in future. the similar API of [PATCH 1/6] have 2 usages.
Fixed by using devres_release() instead of devres_destroy() within the API.
Fixes: ff764963479a ("drivers: phy: add generic PHY framework") Cc: stable@vger.kernel.org Signed-off-by: Zijun Hu quic_zijuhu@quicinc.com
Looks good otherwise.
Johan