Hi,
> -----Original Message----- > From: Chen, Jing D > Sent: Friday, November 27, 2015 9:56 AM > To: dev at dpdk.org > Cc: Wang, Xiao W <xiao.w.wang at intel.com>; Chen, Jing D > <jing.d.chen at intel.com> > Subject: [PATCH] fm10k: fix wrong Rx func is used > > From: "Chen Jing D(Mark)" <jing.d.chen at intel.com> > > Steps to reproduce the bug: > 1. All Rx offloading is disabled and start the device, then > Vector Rx is used. > 2. Stop the device. Re-configure to enable hw_ip_checksum = 1, > start the device again. > 3. In this case, assume regular Rx should be used since Vector > Rx doesn't support ip checksum offload. But actually Vector > Rx is used and cause checksum won't be done by hardware. > > The reason is after re-configuring, driver misses an "else" in func > fm10k_set_rx_function(). Then Rx func in last round are used. > > Fixes:77a8ab47("fm10k: select best Rx function") > > Reported-by: Xiao Wang <xiao.w.wang at intel.com> > Signed-off-by: Chen Jing D(Mark) <jing.d.chen at intel.com> > --- > drivers/net/fm10k/fm10k_ethdev.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/fm10k/fm10k_ethdev.c > b/drivers/net/fm10k/fm10k_ethdev.c > index 4f23ce3..e4aed94 100644 > --- a/drivers/net/fm10k/fm10k_ethdev.c > +++ b/drivers/net/fm10k/fm10k_ethdev.c > @@ -2486,6 +2486,8 @@ fm10k_set_rx_function(struct rte_eth_dev *dev) > dev->rx_pkt_burst = fm10k_recv_pkts_vec; > } else if (dev->data->scattered_rx) > dev->rx_pkt_burst = fm10k_recv_scattered_pkts; > + else > + dev->rx_pkt_burst = fm10k_recv_pkts; > > rx_using_sse = > (dev->rx_pkt_burst == fm10k_recv_scattered_pkts_vec || > -- > 1.7.7.6 Acked-by: Xiao Wang <xiao.w.wang at intel.com>