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.
- 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?
And you could consider dropping the function altogether as well.
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