Emmanuel Grumbach emmanuel.grumbach@intel.com wrote:
22000 devices (previously referenced as A000) can support short transmit queues. This means that we have less DMA descriptors (TFD) for those shorter queues. Previous devices must still have 256 TFDs for each queue even if those 256 TFDs point to fewer buffers.
When I introduced support for the short queues for 22000 I broke older devices by assuming that they can also have less TFDs in their queues. This led to several problems:
- the payload of the commands weren't unmapped properly which caused the SWIOTLB to complain at some point.
- the hardware could get confused and we get hardware crashes.
The corresponding bugzilla entries are:
https://bugzilla.kernel.org/show_bug.cgi?id=198201 https://bugzilla.kernel.org/show_bug.cgi?id=198265
Cc: stable@vger.kernel.org # 4.14+ Fixes: 4ecab5616023 ("iwlwifi: pcie: support short Tx queues for A000 device family") Reviewed-by: Sharon, Sara sara.sharon@intel.com Signed-off-by: Emmanuel Grumbach emmanuel.grumbach@intel.com
Patch applied to wireless-drivers.git, thanks.
943309d4aad6 iwlwifi: pcie: fix DMA memory mapping / unmapping