|
@@ -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);
|