diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-02-24 07:39:18 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-02-24 07:39:18 -0500 |
commit | fdc24d4ba20499febb90ff17d3b75674026712f8 (patch) | |
tree | 83cebb162add24be7b395090b4daca4bd752641b /drivers/net/ethernet/mellanox/mlx4/en_rx.c | |
parent | a5f17d1f4c2831b9b9bf8b1a537cdbac995d6e13 (diff) | |
parent | 059289b260826deb43601644a7ad39c2608e6861 (diff) |
Merge branch 'vexpress-dt-v3.3-rc4' of git://git.linaro.org/people/pawelmoll/linux into next/dt
* 'vexpress-dt-v3.3-rc4' of git://git.linaro.org/people/pawelmoll/linux: (573 commits)
ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant)
ARM: vexpress: Add Device Tree for V2P-CA9 core tile
ARM: vexpress: Add Device Tree for V2P-CA5s core tile
ARM: vexpress: Motherboard RS1 memory map support
ARM: vexpress: Add Device Tree support
ARM: vexpress: Use FDT data in platform SMP calls
ARM: versatile: Map local timers using Device Tree when possible
ARM: vexpress: Get rid of MMIO_P2V
This adds full device tree boot support for the versatile express
platform, as has been awaited for a long time.
Conflicts:
arch/arm/mach-vexpress/core.h
The definition of AMBA_DEVICE was removed in one branch, and the
definition of MMIO_P2V was removed in the other branch.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_rx.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_rx.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 971d4b6b8dfe..d4ad8c226b51 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c | |||
@@ -168,8 +168,12 @@ static int mlx4_en_prepare_rx_desc(struct mlx4_en_priv *priv, | |||
168 | return 0; | 168 | return 0; |
169 | 169 | ||
170 | err: | 170 | err: |
171 | while (i--) | 171 | while (i--) { |
172 | dma_addr_t dma = be64_to_cpu(rx_desc->data[i].addr); | ||
173 | pci_unmap_single(priv->mdev->pdev, dma, skb_frags[i].size, | ||
174 | PCI_DMA_FROMDEVICE); | ||
172 | put_page(skb_frags[i].page); | 175 | put_page(skb_frags[i].page); |
176 | } | ||
173 | return -ENOMEM; | 177 | return -ENOMEM; |
174 | } | 178 | } |
175 | 179 | ||
@@ -380,12 +384,12 @@ err_allocator: | |||
380 | } | 384 | } |
381 | 385 | ||
382 | void mlx4_en_destroy_rx_ring(struct mlx4_en_priv *priv, | 386 | void mlx4_en_destroy_rx_ring(struct mlx4_en_priv *priv, |
383 | struct mlx4_en_rx_ring *ring) | 387 | struct mlx4_en_rx_ring *ring, u32 size, u16 stride) |
384 | { | 388 | { |
385 | struct mlx4_en_dev *mdev = priv->mdev; | 389 | struct mlx4_en_dev *mdev = priv->mdev; |
386 | 390 | ||
387 | mlx4_en_unmap_buffer(&ring->wqres.buf); | 391 | mlx4_en_unmap_buffer(&ring->wqres.buf); |
388 | mlx4_free_hwq_res(mdev->dev, &ring->wqres, ring->buf_size + TXBB_SIZE); | 392 | mlx4_free_hwq_res(mdev->dev, &ring->wqres, size * stride + TXBB_SIZE); |
389 | vfree(ring->rx_info); | 393 | vfree(ring->rx_info); |
390 | ring->rx_info = NULL; | 394 | ring->rx_info = NULL; |
391 | } | 395 | } |