fm10k: fix Rx function selection
authorChen Jing D(Mark) <jing.d.chen@intel.com>
Fri, 27 Nov 2015 01:55:45 +0000 (09:55 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 27 Nov 2015 18:52:48 +0000 (19:52 +0100)
commitff0f9a6e37fde15d1e225550ec49e87d2148e390
treebc8c06ba88cd659a37ef433591917c07a48c9f6a
parent12cadd39b5cb427f2822e34b8ffd53960c1a598f
fm10k: fix Rx function selection

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: 77a8ab47eb38 ("fm10k: select best Rx function")

Reported-by: Xiao Wang <xiao.w.wang@intel.com>
Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Xiao Wang <xiao.w.wang@intel.com>
drivers/net/fm10k/fm10k_ethdev.c