]> git.baikalelectronics.ru Git - kernel.git/commit
e1000: Double Tx descriptors needed check for 82544
authorAlexander Duyck <aduyck@mirantis.com>
Wed, 2 Mar 2016 21:16:08 +0000 (16:16 -0500)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 5 Apr 2016 22:05:51 +0000 (15:05 -0700)
commitf059505073aa9419f5e1675329232eea5e2c65ec
tree475354a2f91547a5e077c4eba46aa22e6efd4130
parentc37e2b7805663b7feff2c60343834262a2bd6d31
e1000: Double Tx descriptors needed check for 82544

The 82544 has code that adds one additional descriptor per data buffer.
However we weren't taking that into account when determining the descriptors
needed for the next transmit at the end of the xmit_frame path.

This change takes that into account by doubling the number of descriptors
needed for the 82544 so that we can avoid a potential issue where we could
hang the Tx ring by loading frames with xmit_more enabled and then stopping
the ring without writing the tail.

In addition it adds a few more descriptors to account for some additional
workarounds that have been added over time.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000/e1000_main.c