net/mlx4: fix Rx after mbuf alloc failure
authorCharles Myers <charles.myers@spirent.com>
Thu, 13 Apr 2017 22:15:24 +0000 (12:15 -1000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 19 Apr 2017 13:37:37 +0000 (15:37 +0200)
commit1193edaa828725bead4d54fa7c1214f105d203c4
tree4a7b288303a72a8c4ec5534d69f7950ea914c8bd
parentc32c2c06bc82b3977b7d16d50a5d7cdcfc7b7e76
net/mlx4: fix Rx after mbuf alloc failure

Fixes issue where mlx4 driver stops receiving packets when mbuf
allocation fails in mlx4_rx_burst().

This issue appears to be caused because the code doesn't recycle the
existing mbuf to the sges array when mbuf allocation fails as is done
in the code right above it which handles (wc.status != IBV_WC_SUCCESS).

Copying the code from the above case fixes the issue.

Fixes: acac55f16412 ("mlx4: use MOFED 3.0 fast verbs interface for Rx operations")
Cc: stable@dpdk.org
Signed-off-by: Charles Myers <charles.myers@spirent.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx4/mlx4.c