• Ngai-Mint Kwan's avatar
    fm10k: do not enqueue mailbox when host not ready · 7d4fe0d1
    Ngai-Mint Kwan authored
    Interfaces will reset whenever the TX mailbox FIFO has become full. This
    occurs more frequently whenever the IES API application is not running
    to process and clear the messages in the FIFO. Thus, this could lead to
    situations where the interface would enter an infinite reset loop. That
    is: if the interface is trying to synchronize a huge number of unicast
    and multicast entries with the IES API application, the TX mailbox FIFO
    will become full and the interface resets. Once the interface exits
    reset, it'll try to synchronize the unicast and multicast entries again.
    Ergo, this creates an infinite loop. Other actions such as multiple
    mulitcast mode or up/down transitions will fill the TX mailbox FIFO and
    induce the interface to reset. To correct these situations, check if the
    interface's "host_ready" flag is enabled before enqueuing any messages
    to the TX mailbox FIFO. This check will be conducted by a function call.
    Lastly, this issue mainly affects the PF and, thus, the VF is exempt.
    Signed-off-by: default avatarNgai-Mint Kwan <ngai-mint.kwan@intel.com>
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    7d4fe0d1
fm10k_netdev.c 39.7 KB