• K
    IB/ehca: Fix ilog2() compile failure · bd50f892
    Kyle McMartin 提交于
    I'm getting compile failures building this driver, which I narrowed
    down to the ilog2 call in ehca_get_max_hwpage_size...
    
        ERROR: ".____ilog2_NaN" [drivers/infiniband/hw/ehca/ib_ehca.ko]
        undefined!
        make[1]: *** [__modpost] Error 1
        make: *** [modules] Error 2
    
    The use of shca->hca_cap_mr_pgsize is confusing the compiler, and
    resulting in the __builtin_constant_p in ilog2 going insane.
    
    I tried making it take the u32 pgsize as an argument and the expansion
    of shca->_pgsize in the caller, but that failed as well.
    
    With this patch in place, the driver compiles on my GCC 4.6.2 here.
    Suggested-by: NRoland Dreier <roland@purestorage.com>
    Signed-off-by: NKyle McMartin <kmcmarti@redhat.com>
    Signed-off-by: NRoland Dreier <roland@purestorage.com>
    bd50f892
ehca_mrmw.c 74.2 KB