mpipe: fix crash when testpmd is quit under load
authorLiming Sun <lsun@ezchip.com>
Wed, 10 Feb 2016 05:15:21 +0000 (00:15 -0500)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 15:48:06 +0000 (16:48 +0100)
commitd364ef9f5e782c42c63d731ffa072bbb8e3c0db3
treeeaa1f4454d79429e08e65c63e703d9c6087042c8
parent6069d815bc4dd73e82396a607882fe8395e592ed
mpipe: fix crash when testpmd is quit under load

Fixes: the hung/crash issue when quitting testpmd under high
traffic rate. The following issue were found and fixed.
1. edesc->size is not initialized properly in mpipe_do_xmit() and could
   cause buffer leak or corruption when HW buffer return is used.
2. Check the 'idesc.be' error bit in mpipe_recv_flush() to make sure
   buffer is valid before releasing it. This is to avoid issues when
   running out of buffers.
3. priv->rx_buffers counter is not accurate when HW buffer return is
   used. Remove this counter to simplify the code.

Signed-off-by: Liming Sun <lsun@ezchip.com>
Acked-by: Zhigang Lu <zlu@ezchip.com>
drivers/net/mpipe/mpipe_tilegx.c