net/fec: postpone unsetting driver data until the hardware is stopped

Reported-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 0c984d6..c322971 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1465,8 +1465,6 @@
 	struct fec_enet_private *fep = netdev_priv(ndev);
 	struct resource *r;
 
-	platform_set_drvdata(pdev, NULL);
-
 	fec_stop(ndev);
 	fec_enet_mii_remove(fep);
 	clk_disable(fep->clk);
@@ -1479,6 +1477,8 @@
 	BUG_ON(!r);
 	release_mem_region(r->start, resource_size(r));
 
+	platform_set_drvdata(pdev, NULL);
+
 	return 0;
 }