Re: [RESEND PATCH] driver core: Clear FWNODE_FLAG_LINKS_ADDED in device_links_purge()

From: Greg KH
Date: Thu Oct 05 2023 - 10:47:02 EST


On Wed, Sep 27, 2023 at 10:30:10AM +0800, Zhenhua Huang wrote:
> Flag FWNODE_FLAG_LINKS_ADDED stops fwnode links creation. Current kernel
> only adds it once after fwnode links creation in fw_devlink_parse_fwnode().
> After that even device links being purged, the flag will not be cleared.
>
> Fwnode links are converted to device links and will not be added back
> forever in normal case. Essentially if a device is registered and
> unregisted (also deleted) before it is probed (due to missing fwlink
> dependencies, abort in device_links_check_suppliers), the fwlink is not
> setup next when device is newly created again. This means the probe gets
> called without meeting all dependencies.
>
> It usuallly happens in the case of a glue driver.

What exact glue driver is causing this to happen? Why can't we fix that
up instead?

thanks,

greg k-h