> t mlx4_qp_to_ready(struct mlx4_dev *dev,
 >                   struct mlx4_mtt *mtt,
 >                   struct mlx4_qp_context *context,
 >                   struct mlx4_qp *qp,
 >                   enum mlx4_qp_state *qp_state)

I don't see any callers of this function?

 > 
 > +#define STATE_ARR_SIZE 4
 > +    int err = 0;
 > +    int i;
 > +    enum mlx4_qp_state states[STATE_ARR_SIZE] = {
 > +            MLX4_QP_STATE_RST,
 > +            MLX4_QP_STATE_INIT,
 > +            MLX4_QP_STATE_RTR,
 > +            MLX4_QP_STATE_RTS
 > +    };
 > +
 > +    for (i = 0; i < STATE_ARR_SIZE - 1; i++) {

I think it's more idiomatic to write this as:

        enum mlx4_qp_state states[] = {
                MLX4_QP_STATE_RST,
                MLX4_QP_STATE_INIT,
                MLX4_QP_STATE_RTR,
                MLX4_QP_STATE_RTS
        };

        for (i = 0; i < ARRAY_SIZE(states) - 1; i++) {

 > +            context->flags |= cpu_to_be32(states[i+1] << 28);

Do you really want the |= here?  INIT == 1, RTR == 2, so on the
transition from INIT to RTR the value will be 1|2, ie 3.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to