aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-12-03 11:46:54 -0500
committerDavid S. Miller <davem@davemloft.net>2016-12-03 12:29:53 -0500
commit2745529ac7358fdac72e6b388da2e934bd9da82c (patch)
tree245bb05b1a18189c5a5212db914c70a636d8267a /drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
parentab17cb1fea82b346bdecd4f2d7f0e84e80f847af (diff)
parent8dc0f265d39a3933f4c1f846c7c694f12a2ab88a (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Couple conflicts resolved here: 1) In the MACB driver, a bug fix to properly initialize the RX tail pointer properly overlapped with some changes to support variable sized rings. 2) In XGBE we had a "CONFIG_PM" --> "CONFIG_PM_SLEEP" fix overlapping with a reorganization of the driver to support ACPI, OF, as well as PCI variants of the chip. 3) In 'net' we had several probe error path bug fixes to the stmmac driver, meanwhile a lot of this code was cleaned up and reorganized in 'net-next'. 4) The cls_flower classifier obtained a helper function in 'net-next' called __fl_delete() and this overlapped with Daniel Borkamann's bug fix to use RCU for object destruction in 'net'. It also overlapped with Jiri's change to guard the rhashtable_remove_fast() call with a check against tc_skip_sw(). 5) In mlx4, a revert bug fix in 'net' overlapped with some unrelated changes in 'net-next'. 6) In geneve, a stale header pointer after pskb_expand_head() bug fix in 'net' overlapped with a large reorganization of the same code in 'net-next'. Since the 'net-next' code no longer had the bug in question, there was nothing to do other than to simply take the 'net-next' hunks. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c')
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
index 34843c155420..d9f3a480ca1b 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
@@ -967,7 +967,7 @@ static int fs_enet_probe(struct platform_device *ofdev)
967 err = clk_prepare_enable(clk); 967 err = clk_prepare_enable(clk);
968 if (err) { 968 if (err) {
969 ret = err; 969 ret = err;
970 goto out_free_fpi; 970 goto out_deregister_fixed_link;
971 } 971 }
972 fpi->clk_per = clk; 972 fpi->clk_per = clk;
973 } 973 }
@@ -1048,6 +1048,9 @@ out_put:
1048 of_node_put(fpi->phy_node); 1048 of_node_put(fpi->phy_node);
1049 if (fpi->clk_per) 1049 if (fpi->clk_per)
1050 clk_disable_unprepare(fpi->clk_per); 1050 clk_disable_unprepare(fpi->clk_per);
1051out_deregister_fixed_link:
1052 if (of_phy_is_fixed_link(ofdev->dev.of_node))
1053 of_phy_deregister_fixed_link(ofdev->dev.of_node);
1051out_free_fpi: 1054out_free_fpi:
1052 kfree(fpi); 1055 kfree(fpi);
1053 return ret; 1056 return ret;
@@ -1066,6 +1069,8 @@ static int fs_enet_remove(struct platform_device *ofdev)
1066 of_node_put(fep->fpi->phy_node); 1069 of_node_put(fep->fpi->phy_node);
1067 if (fep->fpi->clk_per) 1070 if (fep->fpi->clk_per)
1068 clk_disable_unprepare(fep->fpi->clk_per); 1071 clk_disable_unprepare(fep->fpi->clk_per);
1072 if (of_phy_is_fixed_link(ofdev->dev.of_node))
1073 of_phy_deregister_fixed_link(ofdev->dev.of_node);
1069 free_netdev(ndev); 1074 free_netdev(ndev);
1070 return 0; 1075 return 0;
1071} 1076}