From 4cc9694096e2504a16d7314419ad0a9bec398278 Mon Sep 17 00:00:00 2001 From: Steve Wise Date: Mon, 21 Jan 2008 14:42:11 -0600 Subject: [PATCH] --- yaml --- r: 76860 b: refs/heads/master c: d08ca26ceec4dfbcfdbada4ad728db742ccaecd1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/cxgb3/iwch_mem.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d7d83261c0b8..995f7fd4440f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 856b5925047d73a85557203d124d62c5eea1fbd3 +refs/heads/master: d08ca26ceec4dfbcfdbada4ad728db742ccaecd1 diff --git a/trunk/drivers/infiniband/hw/cxgb3/iwch_mem.c b/trunk/drivers/infiniband/hw/cxgb3/iwch_mem.c index a6c2c4ba29e6..73bfd1656f86 100644 --- a/trunk/drivers/infiniband/hw/cxgb3/iwch_mem.c +++ b/trunk/drivers/infiniband/hw/cxgb3/iwch_mem.c @@ -122,6 +122,13 @@ int build_phys_page_list(struct ib_phys_buf *buffer_list, *total_size += buffer_list[i].size; if (i > 0) mask |= buffer_list[i].addr; + else + mask |= buffer_list[i].addr & PAGE_MASK; + if (i != num_phys_buf - 1) + mask |= buffer_list[i].addr + buffer_list[i].size; + else + mask |= (buffer_list[i].addr + buffer_list[i].size + + PAGE_SIZE - 1) & PAGE_MASK; } if (*total_size > 0xFFFFFFFFULL)