Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf78237d7b0e683d172e40b1e85b26ca49a3cdba
Commit:     cf78237d7b0e683d172e40b1e85b26ca49a3cdba
Parent:     5b0bf5e25efea77103b0ac7c8057cd56c778ef41
Author:     Roland Dreier <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 9 19:59:16 2007 -0700
Committer:  Roland Dreier <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 19:59:16 2007 -0700

    mlx4_core: Reserve the correct number of MTT segments
    
    Taking ilog2(dev->caps.reserved_mtts) to find out the order to pass to
    the MTT buddy allocator will do the wrong thing if reserved_mtts is ever
    not a power of 2.  Be safe and use fls(dev->caps.reserved_mtts - 1).
    
    Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>
---
 drivers/net/mlx4/mr.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/mlx4/mr.c b/drivers/net/mlx4/mr.c
index 5b87183..60a6ee2 100644
--- a/drivers/net/mlx4/mr.c
+++ b/drivers/net/mlx4/mr.c
@@ -444,7 +444,7 @@ int __devinit mlx4_init_mr_table(struct mlx4_dev *dev)
                goto err_buddy;
 
        if (dev->caps.reserved_mtts) {
-               if (mlx4_alloc_mtt_range(dev, ilog2(dev->caps.reserved_mtts)) 
== -1) {
+               if (mlx4_alloc_mtt_range(dev, fls(dev->caps.reserved_mtts - 1)) 
== -1) {
                        mlx4_warn(dev, "MTT table of order %d is too small.\n",
                                  mr_table->mtt_buddy.max_order);
                        err = -ENOMEM;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to