fm10k: fix Tx multi-segment frame
authorChen Jing D(Mark) <jing.d.chen@intel.com>
Fri, 29 May 2015 08:10:41 +0000 (16:10 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 22 Jun 2015 15:27:58 +0000 (17:27 +0200)
commitbb9e1c066a0322a62e7a6b9fe1d92b67aa97e63f
tree1c27b7a4ee5b5800d7c30e2bb40bed20bff669e2
parentbd9ada24daa4aaaf9d632653043eba00fe6bc219
fm10k: fix Tx multi-segment frame

In TX side, bit FM10K_TXD_FLAG_LAST in TX descriptor only is set
in the last descriptor for multi-segment packets. But current
implementation didn't set all the fields of TX descriptor, which
will cause descriptors processed now to re-use fields set in last
scroll. If FM10K_TXD_FLAG_LAST bit was set in the last round and
it happened this is not the last descriptor of a multi-segnment
packet, HW will send out the incomplete packet out and leads to
data intergrity issue.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Shaopeng He <shaopeng.he@intel.com>
Tested-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
drivers/net/fm10k/fm10k_rxtx.c