summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch')
-rw-r--r--target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
index f4750bd..061e40f 100644
--- a/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
@@ -1,18 +1,18 @@
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -662,6 +662,9 @@ EXPORT_SYMBOL(phy_attach);
- void phy_detach(struct phy_device *phydev)
+@@ -674,6 +674,9 @@ void phy_detach(struct phy_device *phyde
{
int i;
+
+ if (phydev->drv && phydev->drv->detach)
+ phydev->drv->detach(phydev);
+
- phydev->attached_dev->phydev = NULL;
- phydev->attached_dev = NULL;
- phy_suspend(phydev);
+ if (phydev->bus->dev.driver)
+ module_put(phydev->bus->dev.driver->owner);
+
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -441,6 +441,12 @@ struct phy_driver {
+@@ -502,6 +502,12 @@ struct phy_driver {
*/
int (*did_interrupt)(struct phy_device *phydev);