[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMAG_ecUe3UNYE4pUYA3_NNcK5znotBDvMPfb_BgHmx4ZmgcWQ@mail.gmail.com>
Date: Mon, 31 Oct 2011 09:58:05 +0200
From: saeed bishara <saeed.bishara@...il.com>
To: Rob Herring <robherring2@...il.com>, netdev@...r.kernel.org,
devicetree-discuss@...ts.ozlabs.org
Cc: joe@...ches.com
Subject: Re: [PATCH v2] net: add calxeda xgmac ethernet driver
On Sun, Oct 30, 2011 at 11:30 PM, Rob Herring <robherring2@...il.com> wrote:
> From: Rob Herring <rob.herring@...xeda.com>
Hi Rob, one more comment
>
> +static void xgmac_tx_complete(struct xgmac_priv *priv)
> +{
> + void __iomem *ioaddr = priv->base;
> +
> +
> + writel(DMA_STATUS_TU | DMA_STATUS_NIS, ioaddr + XGMAC_DMA_STATUS);
> +
> + while (dma_ring_cnt(priv->tx_head, priv->tx_tail, DMA_TX_RING_SZ)) {
> + unsigned int entry = priv->tx_tail;
> + struct sk_buff *skb = priv->tx_skbuff[entry];
> + struct xgmac_dma_desc *p = priv->dma_tx + entry;
> +
> + /* Check if the descriptor is owned by the DMA. */
> + if (desc_get_owner(p))
> + break;
> +
> + /* Verify tx error by looking at the last segment */
> + if (desc_get_tx_ls(p))
> + desc_get_tx_status(priv, p);
> +
> + netdev_dbg(priv->dev, "tx ring: curr %d, dirty %d\n",
> + priv->tx_head, priv->tx_tail);
> +
> + dma_unmap_single(priv->device, desc_get_buf_addr(p),
> + desc_get_buf_len(p), DMA_TO_DEVICE);
I think you missed to do dma_unmap_page for the skp frags page.
saeed
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists