• Vadim Lomovtsev's avatar
    net: thunderx: replace global nicvf_rx_mode_wq work queue for all VFs to private for each of them. · 2ecbe4f4
    Vadim Lomovtsev authored
    Having one work queue for receive mode configuration ndo_set_rx_mode()
    call for all VFs results in making each of them wait till the
    set_rx_mode() call completes for another VF if any of close, set
    receive mode and change flags calls being already invoked. Potentially
    this could cause device state change before appropriate call of receive
    mode configuration completes, so the call itself became meaningless,
    corrupt data or break configuration sequence.
    
    We don't need any delays in NIC VF configuration sequence so having delayed
    work call with 0 delay has no sense.
    
    This commit is to implement one work queue for each NIC VF for set_rx_mode
    task and to let them work independently and replacing delayed_work
    with work_struct.
    Signed-off-by: default avatarVadim Lomovtsev <vlomovtsev@marvell.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2ecbe4f4
nicvf_main.c 57.4 KB