[PATCH v2 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider
Johan Hovold
johan at kernel.org
Tue Oct 29 06:43:18 PDT 2024
On Thu, Oct 24, 2024 at 10:39:27PM +0800, Zijun Hu wrote:
> From: Zijun Hu <quic_zijuhu at 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 at vger.kernel.org
> Signed-off-by: Zijun Hu <quic_zijuhu at quicinc.com>
Looks good otherwise.
Johan
More information about the linux-phy
mailing list