• Roland Dreier's avatar
    IB/mthca: Fix max_sge value returned by query_device · 12103dca
    Roland Dreier authored
    The mthca driver returns the maximum number of scatter/gather entries
    returned by the firmware as the max_sge value when device properties
    are queried.  However, the firmware also reports a limit on the
    maximum descriptor size allowed, and because mthca takes into account
    the worst case send request overhead when checking whether to allow a
    QP to be created, the largest number of scatter/gather entries that
    can be used with mthca may be limited by the maximum descriptor size
    rather than just by the actual s/g entry limit.
    
    This means that applications cannot actually create QPs with
    max_send_sge equal to the limit returned by ib_query_device().  Fix
    this by checking if the maximum descriptor size imposes a lower limit
    and if so returning that lower limit.
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    12103dca
mthca_main.c 37.3 KB