lkml.org 
[lkml]   [2012]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] net: calxedaxgmac: fix net timeout recovery
    Date
    From: Rob Herring <rob.herring@calxeda.com>

    Fix net tx watchdog timeout recovery. The descriptor ring was reset,
    but the DMA engine was not reset to the beginning of the ring.

    Signed-off-by: Rob Herring <rob.herring@calxeda.com>
    ---
    drivers/net/ethernet/calxeda/xgmac.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c
    index 11f667f..c4fd2e3 100644
    --- a/drivers/net/ethernet/calxeda/xgmac.c
    +++ b/drivers/net/ethernet/calxeda/xgmac.c
    @@ -933,6 +933,7 @@ static void xgmac_tx_err(struct xgmac_priv *priv)
    desc_init_tx_desc(priv->dma_tx, DMA_TX_RING_SZ);
    priv->tx_tail = 0;
    priv->tx_head = 0;
    + writel(priv->dma_tx_phy, priv->base + XGMAC_DMA_TX_BASE_ADDR);
    writel(reg | DMA_CONTROL_ST, priv->base + XGMAC_DMA_CONTROL);

    writel(DMA_STATUS_TU | DMA_STATUS_TPS | DMA_STATUS_NIS | DMA_STATUS_AIS,
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-07-10 03:01    [W:0.024 / U:0.700 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site