diff options
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-rw-r--r-- | drivers/net/phy/phy_device.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index ab33d1777132..23ee3967c166 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c | |||
@@ -2197,6 +2197,14 @@ int phy_driver_register(struct phy_driver *new_driver, struct module *owner) | |||
2197 | new_driver->mdiodrv.driver.remove = phy_remove; | 2197 | new_driver->mdiodrv.driver.remove = phy_remove; |
2198 | new_driver->mdiodrv.driver.owner = owner; | 2198 | new_driver->mdiodrv.driver.owner = owner; |
2199 | 2199 | ||
2200 | /* The following works around an issue where the PHY driver doesn't bind | ||
2201 | * to the device, resulting in the genphy driver being used instead of | ||
2202 | * the dedicated driver. The root cause of the issue isn't known yet | ||
2203 | * and seems to be in the base driver core. Once this is fixed we may | ||
2204 | * remove this workaround. | ||
2205 | */ | ||
2206 | new_driver->mdiodrv.driver.probe_type = PROBE_FORCE_SYNCHRONOUS; | ||
2207 | |||
2200 | retval = driver_register(&new_driver->mdiodrv.driver); | 2208 | retval = driver_register(&new_driver->mdiodrv.driver); |
2201 | if (retval) { | 2209 | if (retval) { |
2202 | pr_err("%s: Error %d in registering driver\n", | 2210 | pr_err("%s: Error %d in registering driver\n", |