From 87a5b9c5d391c33885f14b0b4b51cbb8dbe13231 Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Wed, 16 Apr 2008 21:01:13 -0700 Subject: [PATCH] --- yaml --- r: 88491 b: refs/heads/master c: c263ff65d5936113cfcbb8139d34122361e2306e h: refs/heads/master i: 88489: f1ca7f2d9616090fd264c6278781a3750376b939 88487: bc28ba5c22bc2f3375ff3f0df2878c327f54aa71 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/mthca/mthca_memfree.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cc741d573539..9f4c4d189cf1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 19773539d6369c54fbb0c870de0c75417b0020d1 +refs/heads/master: c263ff65d5936113cfcbb8139d34122361e2306e diff --git a/trunk/drivers/infiniband/hw/mthca/mthca_memfree.c b/trunk/drivers/infiniband/hw/mthca/mthca_memfree.c index d7d502dd741e..b224079d4e1f 100644 --- a/trunk/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/trunk/drivers/infiniband/hw/mthca/mthca_memfree.c @@ -359,12 +359,14 @@ struct mthca_icm_table *mthca_alloc_icm_table(struct mthca_dev *dev, int use_lowmem, int use_coherent) { struct mthca_icm_table *table; + int obj_per_chunk; int num_icm; unsigned chunk_size; int i; u8 status; - num_icm = (obj_size * nobj + MTHCA_TABLE_CHUNK_SIZE - 1) / MTHCA_TABLE_CHUNK_SIZE; + obj_per_chunk = MTHCA_TABLE_CHUNK_SIZE / obj_size; + num_icm = DIV_ROUND_UP(nobj, obj_per_chunk); table = kmalloc(sizeof *table + num_icm * sizeof *table->icm, GFP_KERNEL); if (!table)