linux/drivers/net/wireless/intel/iwlwifi/pcie
Emmanuel Grumbach 4437ba7ee7 iwlwifi: pcie: don't warn if we use all the transmit pointers
Our Transmit Frame Descriptor (TFD) is a DMA descriptor that
includes several pointers to be able to transmit a packet
which is not physically contiguous.

Depending on the hardware being use, we can have 20 or 25
pointers in a single TFD. In both cases, it is more than
enough and it is quite hard to hit this limit.
It has been reported that when using specific applications
(Ktorrent), we can actually use all the pointers and then
a long standing bug showed up.

When we free the TFD, we check its number of valid pointers
and make sure it doesn't exceed the number of pointers the
hardware support.
This check had an off by one bug: it is perfectly valid to
free the 20 pointers if the TFD has 20 pointers.

Fix that.

https://bugzilla.kernel.org/show_bug.cgi?id=197981

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-02-16 15:34:32 +02:00
..
ctxt-info.c iwlwifi: pcie: dynamic Tx command queue size 2017-10-06 14:57:22 +03:00
drv.c wireless-drivers-next patches for 4.16 2017-12-19 14:04:52 -05:00
internal.h wireless-drivers-next patches for 4.16 2018-01-15 14:46:16 -05:00
rx.c locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
trans-gen2.c iwlwifi: avoid duplicate sw reset executions in the code 2017-12-20 18:28:24 +02:00
trans.c iwlwifi: avoid duplicate sw reset executions in the code 2017-12-20 18:28:24 +02:00
tx-gen2.c iwlwifi: pcie: don't warn if we use all the transmit pointers 2018-02-16 15:34:32 +02:00
tx.c iwlwifi: pcie: don't warn if we use all the transmit pointers 2018-02-16 15:34:32 +02:00