• Shannon Nelson's avatar
    ionic: make all rx_mode work threadsafe · 6840e17b
    Shannon Nelson authored
    Move the bulk of the code from ionic_set_rx_mode(), which
    can be called from atomic context, into ionic_lif_rx_mode()
    which is a safe context.
    
    A call from the stack will get pushed off into a work thread,
    but it is also possible to simultaneously have a call driven
    by a queue reconfig request from an ethtool command or fw
    recovery event.  We add a mutex around the rx_mode work to be
    sure they don't collide.
    
    Fixes: 81dbc241 ("ionic: change set_rx_mode from_ndo to can_sleep")
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6840e17b
ionic_lif.c 93.7 KB