On 24.12.2018 12:21, Heiner Kallweit wrote:
> phy_device_create() uses request_module() to load the PHY driver module
> based on the PHY ID of the device. There is some timing issue which
> sometimes prevents the PHY driver to bind to the device. In such cases
> the genphy driver is used what can cause problems if genphy isn't
> compatible with the respective PHY.
> It turned out that the first fix can fix the issue in some but not all
> cases. Moving the call to device_initialize() before the call to
> request_module() was reported to fix the issue.
> I can't explain where the root cause of the issue is and why this fix
> works. AFAICS device_initialize() just initializes the device struct
> w/o doing anything that could interfere with e.g. bus_add_driver().
> This patch removes the first preliminary fix attempt.
> 
> Reference:
> https://bugzilla.redhat.com/show_bug.cgi?id=1650984
> 
> Fixes: c85ddecae6e5 ("net: phy: add workaround for issue where PHY driver 
> doesn't bind to the device")
> Tested-by: Norbert Jurkeit <norbert.jurk...@web.de>
> Tested-by: Frank Crawford <fr...@crawford.emu.id.au>
> Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com>
> ---
[..]

I got a report from a user that for him the issue still isn't fixed.
So we need to check alternative approaches. Still I think the root cause
must be in the driver core, therefore set Greg and Rafael on the list.
Could you please wait with applying this patch?

Thanks, Heiner

Reply via email to