stmmac: if force_thresh_dma_mode is set, pass tc to both txmode and rxmode in tx_hard_error_bump_tc interrupt

Dont' pass SF_DMA_MODE to rxmode in this case.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Sonic Zhang 2015-01-22 14:55:56 +08:00 committed by David S. Miller
parent 6039e3dff0
commit c405abe2e0
1 changed files with 5 additions and 1 deletions

View File

@ -1454,7 +1454,11 @@ static void stmmac_dma_interrupt(struct stmmac_priv *priv)
/* Try to bump up the dma threshold on this failure */ /* Try to bump up the dma threshold on this failure */
if (unlikely(tc != SF_DMA_MODE) && (tc <= 256)) { if (unlikely(tc != SF_DMA_MODE) && (tc <= 256)) {
tc += 64; tc += 64;
priv->hw->dma->dma_mode(priv->ioaddr, tc, SF_DMA_MODE); if (priv->plat->force_thresh_dma_mode)
priv->hw->dma->dma_mode(priv->ioaddr, tc, tc);
else
priv->hw->dma->dma_mode(priv->ioaddr, tc,
SF_DMA_MODE);
priv->xstats.threshold = tc; priv->xstats.threshold = tc;
} }
} else if (unlikely(status == tx_hard_error)) } else if (unlikely(status == tx_hard_error))