diff options
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mcg.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c index 872843179f44..a3867e7ef885 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mcg.c +++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c | |||
| @@ -999,12 +999,27 @@ int mlx4_flow_attach(struct mlx4_dev *dev, | |||
| 999 | } | 999 | } |
| 1000 | 1000 | ||
| 1001 | ret = mlx4_QP_FLOW_STEERING_ATTACH(dev, mailbox, size >> 2, reg_id); | 1001 | ret = mlx4_QP_FLOW_STEERING_ATTACH(dev, mailbox, size >> 2, reg_id); |
| 1002 | if (ret == -ENOMEM) | 1002 | if (ret == -ENOMEM) { |
| 1003 | mlx4_err_rule(dev, | 1003 | mlx4_err_rule(dev, |
| 1004 | "mcg table is full. Fail to register network rule\n", | 1004 | "mcg table is full. Fail to register network rule\n", |
| 1005 | rule); | 1005 | rule); |
| 1006 | else if (ret) | 1006 | } else if (ret) { |
| 1007 | mlx4_err_rule(dev, "Fail to register network rule\n", rule); | 1007 | if (ret == -ENXIO) { |
| 1008 | if (dev->caps.steering_mode != MLX4_STEERING_MODE_DEVICE_MANAGED) | ||
| 1009 | mlx4_err_rule(dev, | ||
| 1010 | "DMFS is not enabled, " | ||
| 1011 | "failed to register network rule.\n", | ||
| 1012 | rule); | ||
| 1013 | else | ||
| 1014 | mlx4_err_rule(dev, | ||
| 1015 | "Rule exceeds the dmfs_high_rate_mode limitations, " | ||
| 1016 | "failed to register network rule.\n", | ||
| 1017 | rule); | ||
| 1018 | |||
| 1019 | } else { | ||
| 1020 | mlx4_err_rule(dev, "Fail to register network rule.\n", rule); | ||
| 1021 | } | ||
| 1022 | } | ||
| 1008 | 1023 | ||
| 1009 | mlx4_free_cmd_mailbox(dev, mailbox); | 1024 | mlx4_free_cmd_mailbox(dev, mailbox); |
| 1010 | 1025 | ||
