The two paths calling stmmac_init_rx_desc() are identical apart from the way the pointer to the descriptor is fetched. Split this out. Signed-off-by: Russell King (Oracle) --- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 0dcf4a31e314..765b168df50d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1514,20 +1514,20 @@ static void stmmac_clear_rx_descriptors(struct stmmac_priv *priv, u32 queue) { struct stmmac_rx_queue *rx_q = &dma_conf->rx_queue[queue]; + struct dma_desc *desc; int i; /* Clear the RX descriptors */ - for (i = 0; i < dma_conf->dma_rx_size; i++) + for (i = 0; i < dma_conf->dma_rx_size; i++) { if (priv->extend_desc) - stmmac_init_rx_desc(priv, &rx_q->dma_erx[i].basic, - priv->use_riwt, priv->mode, - (i == dma_conf->dma_rx_size - 1), - dma_conf->dma_buf_sz); + desc = &rx_q->dma_erx[i].basic; else - stmmac_init_rx_desc(priv, &rx_q->dma_rx[i], - priv->use_riwt, priv->mode, - (i == dma_conf->dma_rx_size - 1), - dma_conf->dma_buf_sz); + desc = &rx_q->dma_rx[i]; + + stmmac_init_rx_desc(priv, desc, priv->use_riwt, priv->mode, + (i == dma_conf->dma_rx_size - 1), + dma_conf->dma_buf_sz); + } } /** -- 2.47.3