• Jack Morgenstein's avatar
    net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex · bffb023a
    Jack Morgenstein authored
    We occasionally see in procedure mlx4_GEN_EQE that the driver tries
    to grab an uninitialized mutex.
    
    This can occur in only one of two ways:
    1. We are trying to generate an async event on an uninitialized slave.
    2. We are trying to generate an async event on an illegal slave number
       ( < 0 or > persist->num_vfs) or an inactive slave.
    
    To deal with #1: move the mutex initialization from specific slave init
    sequence in procedure mlx_master_do_cmd to mlx4_multi_func_init() (so that
    the mutex is always initialized for all slaves).
    
    To deal with #2: check in procedure mlx4_GEN_EQE that the slave number
    provided is in the proper range and that the slave is active.
    Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bffb023a
cmd.c 76.8 KB