diff options
| -rw-r--r-- | drivers/net/ethernet/renesas/sh_eth.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index 4ae22fc05918..fa8a7b775b4a 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c | |||
| @@ -1968,6 +1968,7 @@ static int sh_eth_set_ringparam(struct net_device *ndev, | |||
| 1968 | return -EINVAL; | 1968 | return -EINVAL; |
| 1969 | 1969 | ||
| 1970 | if (netif_running(ndev)) { | 1970 | if (netif_running(ndev)) { |
| 1971 | netif_device_detach(ndev); | ||
| 1971 | netif_tx_disable(ndev); | 1972 | netif_tx_disable(ndev); |
| 1972 | /* Disable interrupts by clearing the interrupt mask. */ | 1973 | /* Disable interrupts by clearing the interrupt mask. */ |
| 1973 | sh_eth_write(ndev, 0x0000, EESIPR); | 1974 | sh_eth_write(ndev, 0x0000, EESIPR); |
| @@ -2001,7 +2002,7 @@ static int sh_eth_set_ringparam(struct net_device *ndev, | |||
| 2001 | sh_eth_write(ndev, mdp->cd->eesipr_value, EESIPR); | 2002 | sh_eth_write(ndev, mdp->cd->eesipr_value, EESIPR); |
| 2002 | /* Setting the Rx mode will start the Rx process. */ | 2003 | /* Setting the Rx mode will start the Rx process. */ |
| 2003 | sh_eth_write(ndev, EDRRR_R, EDRRR); | 2004 | sh_eth_write(ndev, EDRRR_R, EDRRR); |
| 2004 | netif_wake_queue(ndev); | 2005 | netif_device_attach(ndev); |
| 2005 | } | 2006 | } |
| 2006 | 2007 | ||
| 2007 | return 0; | 2008 | return 0; |
