e1000: verify we have buffers, upfront
The spec says: Any descriptor with a non-zero status byte has been processed by the hardware, and is ready to be handled by the software. Thus, once we change a descriptor status to non-zero we should never move the head backwards and try to reuse this descriptor from hardware. This actually happened with a multibuffer packet that arrives when we don't have enough buffers. Fix by checking that we have enough buffers upfront so we never need to discard the packet midway through. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Acked-by: NAlex Williamson <alex.williamson@redhat.com> Acked-by: NKevin Wolf <kwolf@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
Showing
想要评论请 注册 或 登录