|
@@ -153,12 +153,10 @@ void mlx4_gen_slave_eqe(struct work_struct *work)
|
|
|
|
|
|
/* All active slaves need to receive the event */
|
|
|
if (slave == ALL_SLAVES) {
|
|
|
- for (i = 0; i < dev->num_slaves; i++) {
|
|
|
- if (i != dev->caps.function &&
|
|
|
- master->slave_state[i].active)
|
|
|
- if (mlx4_GEN_EQE(dev, i, eqe))
|
|
|
- mlx4_warn(dev, "Failed to generate event for slave %d\n",
|
|
|
- i);
|
|
|
+ for (i = 0; i <= dev->persist->num_vfs; i++) {
|
|
|
+ if (mlx4_GEN_EQE(dev, i, eqe))
|
|
|
+ mlx4_warn(dev, "Failed to generate event for slave %d\n",
|
|
|
+ i);
|
|
|
}
|
|
|
} else {
|
|
|
if (mlx4_GEN_EQE(dev, slave, eqe))
|
|
@@ -203,13 +201,11 @@ static void mlx4_slave_event(struct mlx4_dev *dev, int slave,
|
|
|
struct mlx4_eqe *eqe)
|
|
|
{
|
|
|
struct mlx4_priv *priv = mlx4_priv(dev);
|
|
|
- struct mlx4_slave_state *s_slave =
|
|
|
- &priv->mfunc.master.slave_state[slave];
|
|
|
|
|
|
- if (!s_slave->active) {
|
|
|
- /*mlx4_warn(dev, "Trying to pass event to inactive slave\n");*/
|
|
|
+ if (slave < 0 || slave > dev->persist->num_vfs ||
|
|
|
+ slave == dev->caps.function ||
|
|
|
+ !priv->mfunc.master.slave_state[slave].active)
|
|
|
return;
|
|
|
- }
|
|
|
|
|
|
slave_event(dev, slave, eqe);
|
|
|
}
|