[PATCH] IB/mthca: allow unaligned memory regions
authorMichael S. Tsirkin <mst@mellanox.co.il>
Sat, 16 Apr 2005 22:26:16 +0000 (15:26 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:26:16 +0000 (15:26 -0700)
The first buffer of a memory region is not required to be page-aligned, so
don't return an error if it's not.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/infiniband/hw/mthca/mthca_provider.c

index 132fcb8..293c69b 100644 (file)
@@ -494,7 +494,7 @@ static struct ib_mr *mthca_reg_phys_mr(struct ib_pd       *pd,
        mask = 0;
        total_size = 0;
        for (i = 0; i < num_phys_buf; ++i) {
-               if (buffer_list[i].addr & ~PAGE_MASK)
+               if (i != 0 && buffer_list[i].addr & ~PAGE_MASK)
                        return ERR_PTR(-EINVAL);
                if (i != 0 && i != num_phys_buf - 1 &&
                    (buffer_list[i].size & ~PAGE_MASK))