IB/mlx4: Miscellaneous adjustments for SR-IOV IB support
1. Allow only master to change node description. 2. Prevent AH leakage in send mads. 3. Take device part number from PCI structure, so that guests see the VF part number (and not the PF part number). 4. Place the device revision ID into caps structure at startup. 5. SET_PORT in update_gids_task needs to go through wrapper on master. 6. In mlx4_ib_event(), PORT_MGMT_EVENT needs be handled in a work queue on the master, since it propagates events to slaves using GEN_EQE. 7. Do not support FMR on slaves. 8. Add spinlock to slave_event(), since it is called both in interrupt context and in process context (due to 6 above, and also if smp_snoop is used). This fix was found and implemented by Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:

committed by
Roland Dreier

parent
980e90010f
commit
992e8e6e87
@@ -1757,6 +1757,7 @@ int mlx4_multi_func_init(struct mlx4_dev *dev)
|
||||
INIT_WORK(&priv->mfunc.master.slave_flr_event_work,
|
||||
mlx4_master_handle_slave_flr);
|
||||
spin_lock_init(&priv->mfunc.master.slave_state_lock);
|
||||
spin_lock_init(&priv->mfunc.master.slave_eq.event_lock);
|
||||
priv->mfunc.master.comm_wq =
|
||||
create_singlethread_workqueue("mlx4_comm");
|
||||
if (!priv->mfunc.master.comm_wq)
|
||||
|
Reference in New Issue
Block a user