• Ido Shamay's avatar
    net/mlx4_en: Schedule napi when RX buffers allocation fails · 07841f9d
    Ido Shamay authored
    When system is out of memory, refilling of RX buffers fails while
    the driver continue to pass the received packets to the kernel stack.
    At some point, when all RX buffers deplete, driver may fall into a
    sleep, and not recover when memory for new RX buffers is once again
    availible. This is because hardware does not have valid descriptors,
    so no interrupt will be generated for the driver to return to work
    in napi context. Fix it by schedule the napi poll function from
    stats_task delayed workqueue, as long as the allocations fail.
    Signed-off-by: default avatarIdo Shamay <idos@mellanox.com>
    Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    07841f9d
en_netdev.c 83 KB