]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
IPoIB/cm: Fix DMA direction typo
authorMichael S. Tsirkin <mst@dev.mellanox.co.il>
Tue, 10 Apr 2007 15:32:42 +0000 (18:32 +0300)
committerRoland Dreier <rolandd@cisco.com>
Tue, 10 Apr 2007 15:58:30 +0000 (08:58 -0700)
Receive buffers need to be mapped with DMA_FROM_DEVICE.  Incorrectly
mapping with DMA_TO_DEVICE causes a hard lock on ppc64 machines with
an IOMMU.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=431>

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_cm.c

index e70492db74f636eadd46a52bbc951a33e85e09bc..2b242a4823f8d42525323d3fac318f2c33851c17 100644 (file)
@@ -131,7 +131,7 @@ static struct sk_buff *ipoib_cm_alloc_rx_skb(struct net_device *dev, int id, int
                skb_fill_page_desc(skb, i, page, 0, PAGE_SIZE);
 
                mapping[i + 1] = ib_dma_map_page(priv->ca, skb_shinfo(skb)->frags[i].page,
-                                                0, PAGE_SIZE, DMA_TO_DEVICE);
+                                                0, PAGE_SIZE, DMA_FROM_DEVICE);
                if (unlikely(ib_dma_mapping_error(priv->ca, mapping[i + 1])))
                        goto partial_error;
        }