@@ -688,10 +688,10 @@ static int xgene_enet_open(struct net_device *ndev)
688
688
mac_ops -> tx_enable (pdata );
689
689
mac_ops -> rx_enable (pdata );
690
690
691
+ xgene_enet_napi_enable (pdata );
691
692
ret = xgene_enet_register_irq (ndev );
692
693
if (ret )
693
694
return ret ;
694
- xgene_enet_napi_enable (pdata );
695
695
696
696
if (pdata -> phy_mode == PHY_INTERFACE_MODE_RGMII )
697
697
phy_start (pdata -> phy_dev );
@@ -715,13 +715,13 @@ static int xgene_enet_close(struct net_device *ndev)
715
715
else
716
716
cancel_delayed_work_sync (& pdata -> link_work );
717
717
718
- xgene_enet_napi_disable (pdata );
719
- xgene_enet_free_irq (ndev );
720
- xgene_enet_process_ring (pdata -> rx_ring , -1 );
721
-
722
718
mac_ops -> tx_disable (pdata );
723
719
mac_ops -> rx_disable (pdata );
724
720
721
+ xgene_enet_free_irq (ndev );
722
+ xgene_enet_napi_disable (pdata );
723
+ xgene_enet_process_ring (pdata -> rx_ring , -1 );
724
+
725
725
return 0 ;
726
726
}
727
727
@@ -1474,30 +1474,33 @@ static int xgene_enet_probe(struct platform_device *pdev)
1474
1474
}
1475
1475
ndev -> hw_features = ndev -> features ;
1476
1476
1477
- ret = register_netdev ( ndev );
1477
+ ret = dma_coerce_mask_and_coherent ( dev , DMA_BIT_MASK ( 64 ) );
1478
1478
if (ret ) {
1479
- netdev_err (ndev , "Failed to register netdev \n" );
1479
+ netdev_err (ndev , "No usable DMA configuration \n" );
1480
1480
goto err ;
1481
1481
}
1482
1482
1483
- ret = dma_coerce_mask_and_coherent ( dev , DMA_BIT_MASK ( 64 ) );
1483
+ ret = register_netdev ( ndev );
1484
1484
if (ret ) {
1485
- netdev_err (ndev , "No usable DMA configuration \n" );
1485
+ netdev_err (ndev , "Failed to register netdev \n" );
1486
1486
goto err ;
1487
1487
}
1488
1488
1489
1489
ret = xgene_enet_init_hw (pdata );
1490
1490
if (ret )
1491
1491
goto err ;
1492
1492
1493
- xgene_enet_napi_add (pdata );
1494
1493
mac_ops = pdata -> mac_ops ;
1495
- if (pdata -> phy_mode == PHY_INTERFACE_MODE_RGMII )
1494
+ if (pdata -> phy_mode == PHY_INTERFACE_MODE_RGMII ) {
1496
1495
ret = xgene_enet_mdio_config (pdata );
1497
- else
1496
+ if (ret )
1497
+ goto err ;
1498
+ } else {
1498
1499
INIT_DELAYED_WORK (& pdata -> link_work , mac_ops -> link_state );
1500
+ }
1499
1501
1500
- return ret ;
1502
+ xgene_enet_napi_add (pdata );
1503
+ return 0 ;
1501
1504
err :
1502
1505
unregister_netdev (ndev );
1503
1506
free_netdev (ndev );
0 commit comments