mlx4_core: Move handling of MLX4_QP_ST_MLX to proper switch statement
authorRoland Dreier <roland@purestorage.com>
Fri, 30 May 2014 22:38:58 +0000 (15:38 -0700)
committerRoland Dreier <roland@purestorage.com>
Fri, 30 May 2014 22:38:58 +0000 (15:38 -0700)
The handling of MLX4_QP_ST_MLX in verify_qp_parameters() was
accidentally put inside the inner switch statement (that handles which
transition of RC/UC/XRC QPs is happening).  Fix this by moving the case
to the outer switch statement.

The compiler pointed this out with:

    drivers/net/ethernet/mellanox/mlx4/resource_tracker.c: In function 'verify_qp_parameters':
 >> drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:2875:3: warning: case value '7' not in enumerated type 'enum qp_transition' [-Wswitch]
       case MLX4_QP_ST_MLX:

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Fixes: 99ec41d0a48c ("mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs")
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c

index ad98162..10db83e 100644 (file)
@@ -2872,25 +2872,25 @@ static int verify_qp_parameters(struct mlx4_dev *dev,
                                                return -EINVAL;
                                }
                        break;
-               case MLX4_QP_ST_MLX:
-                       qpn = vhcr->in_modifier & 0x7fffff;
-                       port = (qp_ctx->pri_path.sched_queue >> 6 & 1) + 1;
-                       if (transition == QP_TRANS_INIT2RTR &&
-                           slave != mlx4_master_func_num(dev) &&
-                           mlx4_is_qp_reserved(dev, qpn) &&
-                           !mlx4_vf_smi_enabled(dev, slave, port)) {
-                               /* only enabled VFs may create MLX proxy QPs */
-                               mlx4_err(dev, "%s: unprivileged slave %d attempting to create an MLX proxy special QP on port %d\n",
-                                        __func__, slave, port);
-                               return -EPERM;
-                       }
-                       break;
-
                default:
                        break;
                }
+               break;
 
+       case MLX4_QP_ST_MLX:
+               qpn = vhcr->in_modifier & 0x7fffff;
+               port = (qp_ctx->pri_path.sched_queue >> 6 & 1) + 1;
+               if (transition == QP_TRANS_INIT2RTR &&
+                   slave != mlx4_master_func_num(dev) &&
+                   mlx4_is_qp_reserved(dev, qpn) &&
+                   !mlx4_vf_smi_enabled(dev, slave, port)) {
+                       /* only enabled VFs may create MLX proxy QPs */
+                       mlx4_err(dev, "%s: unprivileged slave %d attempting to create an MLX proxy special QP on port %d\n",
+                                __func__, slave, port);
+                       return -EPERM;
+               }
                break;
+
        default:
                break;
        }