On Mon, 2014-03-10 at 23:43 +0300, Sergei Shtylyov wrote:
Hello.
On 03/10/2014 08:08 PM, Hariprasad Shenai wrote:
quoted
From: Steve Wise <redacted>
We cannot save the mapped length using the rdma max_page_list_len field
of the ib_fast_reg_page_list struct because the core code uses it. This
results in an incorrect unmap of the page list in c4iw_free_fastreg_pbl().
[]
quoted
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c
[]
quoted
@@ -903,7 +903,11 @@ struct ib_fast_reg_page_list *c4iw_alloc_fastreg_pbl(struct ib_device *device,
dma_unmap_addr_set(c4pl, mapping, dma_addr);
c4pl->dma_addr = dma_addr;
c4pl->dev = dev;
- c4pl->ibpl.max_page_list_len = pll_len;
+ c4pl->pll_len = pll_len;
+
+ PDBG("%s c4pl %p pll_len %u page_list %p dma_addr %p\n",
+ __func__, c4pl, c4pl->pll_len, c4pl->ibpl.page_list,
+ (void *)c4pl->dma_addr);
There's %pad format for printing dma_addr_t, no need to cast and use %p.
This would also probably give a gcc warning
when the sizeof a dma_addr_t is not the same
size as a void *.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html