On Wed, Jan 24, 2018 at 10:19:17AM +0000, Matan Azrad wrote: > In case of plugged out device, the fail-safe PMD uses failsafe_rx_burst > function for packet receiving. > > This function iterates over the present sub-devices until it > receives a traffic from one of them or they are all cannot receive > packets. > > The corrupted code didn't advance the sub-device pointer when the > sub-device was not present and caused to infinite loop. > > Advance the sub-device pointer also in plugged-out sub-device case. > > Fixes: 8052bbd9d548 ("net/failsafe: improve Rx sub-devices iteration") > > Signed-off-by: Matan Azrad <ma...@mellanox.com> Acked-by: Gaetan Rivet <gaetan.ri...@6wind.com> > --- > drivers/net/failsafe/failsafe_rxtx.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/failsafe/failsafe_rxtx.c > b/drivers/net/failsafe/failsafe_rxtx.c > index 1654494..aeee076 100644 > --- a/drivers/net/failsafe/failsafe_rxtx.c > +++ b/drivers/net/failsafe/failsafe_rxtx.c > @@ -104,6 +104,7 @@ > do { > if (fs_rx_unsafe(sdev)) { > nb_rx = 0; > + sdev = sdev->next; > continue; > } > sub_rxq = ETH(sdev)->data->rx_queues[rxq->qid]; > -- > 1.8.3.1 >
-- Gaëtan Rivet 6WIND