summaryrefslogtreecommitdiffstats
path: root/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch')
-rw-r--r--0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch b/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
new file mode 100644
index 000000000..540b925eb
--- /dev/null
+++ b/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
@@ -0,0 +1,46 @@
+From 37af97ef14c201b1db8dd341aabd262da23e48aa Mon Sep 17 00:00:00 2001
+From: Fedora Kernel Team <kernel-team@fedoraproject.org>
+Date: Mon, 30 Oct 2017 11:38:27 -0500
+Subject: [PATCH] [PATCH] staging: rtl8822be: fix wrong dma unmap len
+
+Patch fixes splat:
+
+r8822be 0000:04:00.0: DMA-API: device driver frees DMA memory with different size
+[device address=0x0000000078477000] [map size=4096 bytes] [unmap size=424 bytes]
+<snip>
+Call Trace:
+ debug_dma_unmap_page+0xa5/0xb0
+ ? unmap_single+0x2f/0x40
+ _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
+ ? _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
+ rtl8822b_halmac_cb_write_data_rsvd_page+0x51/0xc0 [r8822be]
+ _halmac_write_data_rsvd_page+0x22/0x30 [r8822be]
+ halmac_download_rsvd_page_88xx+0xee/0x1f0 [r8822be]
+ halmac_dlfw_to_mem_88xx+0x80/0x120 [r8822be]
+ halmac_download_firmware_88xx.part.47+0x477/0x600 [r8822be]
+ halmac_download_firmware_88xx+0x32/0x40 [r8822be]
+ rtl_halmac_dlfw+0x70/0x120 [r8822be]
+ rtl_halmac_init_hal+0x5f/0x1b0 [r8822be]
+ rtl8822be_hw_init+0x8a2/0x1040 [r8822be]
+
+Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
+---
+ drivers/staging/rtlwifi/rtl8822be/fw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/staging/rtlwifi/rtl8822be/fw.c b/drivers/staging/rtlwifi/rtl8822be/fw.c
+index 8e24da1..a2cc548 100644
+--- a/drivers/staging/rtlwifi/rtl8822be/fw.c
++++ b/drivers/staging/rtlwifi/rtl8822be/fw.c
+@@ -419,7 +419,7 @@ static bool _rtl8822be_send_bcn_or_cmd_packet(struct ieee80211_hw *hw,
+ dma_addr = rtlpriv->cfg->ops->get_desc(
+ hw, (u8 *)pbd_desc, true, HW_DESC_TXBUFF_ADDR);
+
+- pci_unmap_single(rtlpci->pdev, dma_addr, skb->len,
++ pci_unmap_single(rtlpci->pdev, dma_addr, pskb->len,
+ PCI_DMA_TODEVICE);
+ kfree_skb(pskb);
+
+--
+2.13.6
+