diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000/e1000_ethtool.c')
| -rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c index 71d3d8854d8f..be56e631d693 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c +++ b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c @@ -607,6 +607,7 @@ static int e1000_set_ringparam(struct net_device *netdev,  	for (i = 0; i < adapter->num_rx_queues; i++)  		rxdr[i].count = rxdr->count; +	err = 0;  	if (netif_running(adapter->netdev)) {  		/* Try to get new resources before deleting old */  		err = e1000_setup_all_rx_resources(adapter); @@ -627,14 +628,13 @@ static int e1000_set_ringparam(struct net_device *netdev,  		adapter->rx_ring = rxdr;  		adapter->tx_ring = txdr;  		err = e1000_up(adapter); -		if (err) -			goto err_setup;  	}  	kfree(tx_old);  	kfree(rx_old);  	clear_bit(__E1000_RESETTING, &adapter->flags); -	return 0; +	return err; +  err_setup_tx:  	e1000_free_all_rx_resources(adapter);  err_setup_rx: @@ -646,7 +646,6 @@ err_alloc_rx:  err_alloc_tx:  	if (netif_running(adapter->netdev))  		e1000_up(adapter); -err_setup:  	clear_bit(__E1000_RESETTING, &adapter->flags);  	return err;  }  |