linux/drivers/net/wireless
Emmanuel Grumbach 8ec160c5f0 iwlwifi: pcie: fix DMA memory mapping / unmapping
commit 943309d4aa upstream.

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:

1) the payload of the commands weren't unmapped properly
   which caused the SWIOTLB to complain at some point.
2) 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

Fixes: 4ecab56160 ("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>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2018-01-17 09:45:23 +01:00
..
admtek License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ath ath10k: fix build errors with !CONFIG_PM 2017-12-20 10:10:38 +01:00
atmel at76c50x: constify usb_device_id 2017-08-10 11:55:57 +03:00
broadcom brcmfmac: change driver unbind order of the sdio function devices 2017-12-14 09:52:58 +01:00
cisco License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel iwlwifi: pcie: fix DMA memory mapping / unmapping 2018-01-17 09:45:23 +01:00
intersil p54: don't unregister leds when they are not initialized 2017-11-30 08:40:52 +00:00
marvell License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mediatek mt7601u: check memory allocation failure 2017-08-24 12:54:33 +03:00
quantenna qtnfmac: modify full Tx queue error reporting 2017-12-20 10:10:30 +01:00
ralink rt2x00usb: mark device removed when get ENOENT usb error 2017-11-30 08:40:44 +00:00
realtek rtlwifi: fix uninitialized rtlhal->last_suspend_sec time 2017-11-30 08:40:46 +00:00
rsi rsi: fix memory leak on buf and usb_reg_buf 2017-12-14 09:53:07 +01:00
st License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ti License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zydas License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig qtnfmac: introduce new FullMAC driver for Quantenna chipsets 2017-05-24 17:04:13 +03:00
mac80211_hwsim.c mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl() 2017-12-14 09:53:07 +01:00
mac80211_hwsim.h mac80211_hwsim: fix command documentation indentation 2017-03-06 09:21:48 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ray_cs.c ray_cs: Avoid reading past end of buffer 2017-05-22 18:27:22 +03:00
ray_cs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rayctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rndis_wlan.c Another set of patches for -next: 2017-04-28 14:41:15 -04:00
wl3501.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wl3501_cs.c wl3501_cs: fix spelling mistake: "Insupported" -> "Unsupported" 2017-07-28 18:06:31 +03:00