• Logan Gunthorpe's avatar
    ntb_transport: fix bug calculating num_qps_mw · 8e8496e0
    Logan Gunthorpe authored
    A divide by zero error occurs if qp_count is less than mw_count because
    num_qps_mw is calculated to be zero. The calculation appears to be
    incorrect.
    
    The requirement is for num_qps_mw to be set to qp_count / mw_count
    with any remainder divided among the earlier mws.
    
    For example, if mw_count is 5 and qp_count is 12 then mws 0 and 1
    will have 3 qps per window and mws 2 through 4 will have 2 qps per window.
    Thus, when mw_num < qp_count % mw_count, num_qps_mw is 1 higher
    than when mw_num >= qp_count.
    Signed-off-by: default avatarLogan Gunthorpe <logang@deltatee.com>
    Fixes: e26a5843 ("NTB: Split ntb_hw_intel and ntb_transport drivers")
    Acked-by: default avatarAllen Hubbe <Allen.Hubbe@dell.com>
    Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
    8e8496e0
ntb_transport.c 56.2 KB