From: Heiner Kallweit <hkallwe...@gmail.com>
Date: Mon, 24 Dec 2018 12:21:12 +0100

> 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 can't see any way this can make a difference.  I'm really stumped
and even if it did fix all of the issues people are seeing I wouldn't
want to apply this patch.

We need to know why, and put the why into the commit log message.

Thanks.

Reply via email to