linux/drivers/net/ethernet/intel
Emil Tantilov 761c2a48c7 ixgbe: split Tx/Rx ring clearing for ethtool loopback test
Commit: fed21bcee7a5
("ixgbe: Don't bother clearing buffer memory for descriptor rings)

exposed some issues with the logic in the current implementation of
ixgbe_clean_test_rings() that are being addressed in this patch:

- Split the clearing of the Tx and Rx rings in separate loops. Previously
both Tx and Rx rings were cleared in a rx_desc->wb.upper.length based
loop which could lead to issues if for w/e reason packets were received
outside of the frames transmitted for the loopback test.

- Add check for IXGBE_TXD_STAT_DD to avoid clearing the rings if the
transmits have not comlpeted by the time we enter ixgbe_clean_test_rings()

- Exit early on ixgbe_check_lbtest_frame() failure.

This change fixes a crash during ethtool diagnostic (ethtool -t).

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-10-09 09:41:25 -07:00
..
e1000 networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
e1000e drivers: net: e1000e: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
fm10k fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw 2017-10-03 09:00:04 -07:00
i40e i40e/i40evf: organize and re-number feature flags 2017-10-06 08:11:32 -07:00
i40evf i40e/i40evf: organize and re-number feature flags 2017-10-06 08:11:32 -07:00
igb igb: support BCM54616 PHY 2017-08-08 18:09:12 -07:00
igbvf igbvf: convert msleep to mdelay in atomic context 2017-08-08 18:08:00 -07:00
ixgb drivers: net: ixgb: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
ixgbe ixgbe: split Tx/Rx ring clearing for ethtool loopback test 2017-10-09 09:41:25 -07:00
ixgbevf ixgbe: Initialize 64-bit stats seqcounts 2017-08-01 20:06:07 -07:00
e100.c e100: Cocci spatch "pool_zalloc-simple" 2017-09-21 15:26:59 -07:00
Kconfig i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
Makefile