Currently we parse max_msg_sz from the wrong offset in QUERY_DEV_CAP, fix to use the right offset.
Unified · Split
| @@ -781,10 +781,10 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) · 780 unmodified lines | ||
| 781 | 781 | MLX4_GET(field, outbox, QUERY_DEV_CAP_VL_PORT_OFFSET); |
| 782 | 782 | dev_cap->num_ports = field & 0xf; |
| 783 | 783 | MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_MSG_SZ_OFFSET); |
| 784 | + dev_cap->max_msg_sz = 1 << (field & 0x1f); | |
| 784 | 785 | MLX4_GET(field, outbox, QUERY_DEV_CAP_PORT_FLOWSTATS_COUNTERS_OFFSET); |
| 785 | 786 | if (field & 0x10) |
| 786 | 787 | dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_FLOWSTATS_EN; |
| 787 | − dev_cap->max_msg_sz = 1 << (field & 0x1f); | |
| 788 | 788 | MLX4_GET(field, outbox, QUERY_DEV_CAP_FLOW_STEERING_RANGE_EN_OFFSET); |
| 789 | 789 | if (field & 0x80) |
| 790 | 790 | dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_FS_EN; |