This replaces an unjustified BUG_ON(), which could get triggered under normal
conditions: X_calc can be 0 when p > 0. X would in this case be set to the
minimum, s/t_mbi. Its replacement avoids t_ipi = 0 (unbounded sending rate).
Thanks to Jordi, Victor and Xavier who reported this.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.uk>
 {
        hc->tx_t_ipi = scaled_div32(((u64)hc->tx_s) << 6, hc->tx_x);
 
+       DCCP_BUG_ON(hc->tx_t_ipi == 0);
        ccid3_pr_debug("t_ipi=%u, s=%u, X=%u\n", hc->tx_t_ipi,
                       hc->tx_s, (unsigned)(hc->tx_x >> 6));
 }
                 *
                 *  Note that X_recv is scaled by 2^6 while X_calc is not
                 */
-               BUG_ON(hc->tx_p && !hc->tx_x_calc);
-
                if (hc->tx_x_calc > (hc->tx_x_recv >> 5))
                        hc->tx_x_recv =
                                max(hc->tx_x_recv / 2,