diff options
| -rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 9c11c4d0f3fd..55e89b3838f1 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1288,7 +1288,7 @@ static void stmmac_dma_operation_mode(struct stmmac_priv *priv)  		 *    that needs to not insert csum in the TDES.  		 */  		priv->hw->dma->dma_mode(priv->ioaddr, SF_DMA_MODE, SF_DMA_MODE); -		tc = SF_DMA_MODE; +		priv->xstats.threshold = SF_DMA_MODE;  	} else  		priv->hw->dma->dma_mode(priv->ioaddr, tc, SF_DMA_MODE);  } @@ -1452,7 +1452,8 @@ static void stmmac_dma_interrupt(struct stmmac_priv *priv)  	}  	if (unlikely(status & tx_hard_error_bump_tc)) {  		/* Try to bump up the dma threshold on this failure */ -		if (unlikely(tc != SF_DMA_MODE) && (tc <= 256)) { +		if (unlikely(priv->xstats.threshold != SF_DMA_MODE) && +		    (tc <= 256)) {  			tc += 64;  			if (priv->plat->force_thresh_dma_mode)  				priv->hw->dma->dma_mode(priv->ioaddr, tc, tc);  | 
