linux/drivers/net/wireless/ath/ath10k
Ben Greear d4166b8b33 ath10k: free host-mem with DMA_BIRECTIONAL flag
Hopefully this fixes the problem reported by Kalle:

Noticed this in my log, but I don't have time to investigate this in
detail right now:

[  413.795346] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  414.158755] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  477.439659] ath10k_pci 0000:02:00.0: could not get mac80211 beacon
[  481.666630] ------------[ cut here ]------------
[  481.666669] WARNING: CPU: 0 PID: 1978 at lib/dma-debug.c:1155 check_unmap+0x320/0x8e0
[  481.666688] ath10k_pci 0000:02:00.0: DMA-API: device driver frees DMA memory with different direction [device address=0x000000002d130000] [size=63800 bytes] [mapped with DMA_BIDIRECTIONAL] [unmapped with DMA_TO_DEVICE]
[  481.666703] Modules linked in: ctr ccm ath10k_pci(E-) ath10k_core(E) ath(E) mac80211(E) cfg80211(E) snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_seq_midi arc4 snd_rawmidi snd_seq_midi_event snd_seq btusb btintel snd_seq_device joydev coret
[  481.671468] CPU: 0 PID: 1978 Comm: rmmod Tainted: G            E   4.9.0-rc7-wt+ #54
[  481.671478] Hardware name: Hewlett-Packard HP ProBook 6540b/1722, BIOS 68CDD Ver. F.04 01/27/2010
[  481.671489]  ef49dcec c842ee92 c8b5830e ef49dd34 ef49dd20 c80850f5 c8b5a13c ef49dd50
[  481.671560]  000007ba c8b5830e 00000483 c8461830 c8461830 00000483 ef49ddcc f34e64b8
[  481.671641]  c8b58360 ef49dd3c c80851bb 00000009 00000000 ef49dd34 c8b5a13c ef49dd50
[  481.671716] Call Trace:
[  481.671731]  [<c842ee92>] dump_stack+0x76/0xb4
[  481.671745]  [<c80850f5>] __warn+0xe5/0x100
[  481.671757]  [<c8461830>] ? check_unmap+0x320/0x8e0
[  481.671769]  [<c8461830>] ? check_unmap+0x320/0x8e0
[  481.671780]  [<c80851bb>] warn_slowpath_fmt+0x3b/0x40
[  481.671791]  [<c8461830>] check_unmap+0x320/0x8e0
[  481.671804]  [<c8462054>] debug_dma_unmap_page+0x84/0xa0
[  481.671835]  [<f937cd7a>] ath10k_wmi_free_host_mem+0x9a/0xe0 [ath10k_core]
[  481.671861]  [<f9363400>] ath10k_core_destroy+0x50/0x60 [ath10k_core]
[  481.671875]  [<f8e13969>] ath10k_pci_remove+0x79/0xa0 [ath10k_pci]
[  481.671889]  [<c848d8d8>] pci_device_remove+0x38/0xb0
[  481.671901]  [<c859fe4b>] __device_release_driver+0x7b/0x110
[  481.671913]  [<c85a00e7>] driver_detach+0x97/0xa0
[  481.671923]  [<c859ef8b>] bus_remove_driver+0x4b/0xb0
[  481.671934]  [<c85a0cda>] driver_unregister+0x2a/0x60
[  481.671949]  [<c848c888>] pci_unregister_driver+0x18/0x70
[  481.671965]  [<f8e14dae>] ath10k_pci_exit+0xd/0x25f [ath10k_pci]
[  481.671979]  [<c812bb84>] SyS_delete_module+0xf4/0x180
[  481.671995]  [<c81f801b>] ? __might_fault+0x8b/0xa0
[  481.672009]  [<c80037d0>] do_fast_syscall_32+0xa0/0x1e0
[  481.672025]  [<c88d4c88>] sysenter_past_esp+0x45/0x74
[  481.672037] ---[ end trace 3fd23759e17e1622 ]---
[  481.672049] Mapped at:
[  481.672060]  [  481.672072] [<c846062c>] debug_dma_map_page.part.25+0x1c/0xf0
[  481.672083]  [  481.672095] [<c8460799>] debug_dma_map_page+0x99/0xc0
[  481.672106]  [  481.672132] [<f93745ec>] ath10k_wmi_alloc_chunk+0x12c/0x1f0 [ath10k_core]
[  481.672142]  [  481.672168] [<f937d0c4>] ath10k_wmi_event_service_ready_work+0x304/0x540 [ath10k_core]
[  481.672178]  [  481.672190] [<c80a3643>] process_one_work+0x1c3/0x670
[  482.137134] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[  482.313144] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
[  482.313274] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[  482.313768] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[  482.313777] ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 1
[  482.313974] ath10k_pci 0000:02:00.0: firmware ver 10.2.4.70.59-2 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 4159f498
[  482.369858] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[  482.370011] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[  483.596770] ath10k_pci 0000:02:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1
[  483.701686] ath: EEPROM regdomain: 0x0
[  483.701706] ath: EEPROM indicates default country code should be used
[  483.701713] ath: doing EEPROM country->regdmn map search
[  483.701721] ath: country maps to regdmn code: 0x3a
[  483.701730] ath: Country alpha2 being used: US
[  483.701737] ath: Regpair used: 0x3a

Reported-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-12-20 17:04:31 +02:00
..
ahb.c ath10k: fix error return code in ahb 2016-09-28 12:41:04 +03:00
ahb.h ath10k: expose hif ops for ahb 2016-01-28 10:47:28 +02:00
bmi.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
bmi.h ath10k: select board data based on BMI chip id and board id 2015-10-14 08:58:35 +03:00
ce.c ath10k: fix copy engine 5 destination ring stuck 2016-09-28 12:48:35 +03:00
ce.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
core.c ath10k: fix Tx DMA alloc failure during continuous wifi down/up 2016-12-01 13:13:55 +02:00
core.h wireless-drivers-next patches for 4.10 2016-12-02 13:58:10 -05:00
debug.c ath10k: cache calibration data when the core is stopped 2016-10-13 14:06:20 +03:00
debug.h ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
debugfs_sta.c ath10k: add support for per sta tx bitrate 2016-11-23 21:40:07 +02:00
hif.h ath10k: add board data download from target 2016-06-07 14:28:35 +03:00
htc.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
htc.h ath10k: remove unused <linux/semaphore.h> 2016-07-08 09:43:59 +03:00
htt_rx.c ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
htt_tx.c ath10k: fix Tx DMA alloc failure during continuous wifi down/up 2016-12-01 13:13:55 +02:00
htt.c ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
htt.h ath10k: fix Tx DMA alloc failure during continuous wifi down/up 2016-12-01 13:13:55 +02:00
hw.c ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
hw.h ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
Kconfig ath10k: add reset ctrl related functions in ahb 2016-01-28 10:47:24 +02:00
mac.c wireless-drivers-next patches for 4.10 2016-12-02 13:58:10 -05:00
mac.h ath10k: add dynamic tx mode switch config support for qca4019 2016-04-19 18:10:46 +03:00
Makefile ath10k: add basic skeleton to support ahb 2016-01-28 10:47:19 +02:00
p2p.c
p2p.h
pci.c treewide: Fix printk() message errors 2016-12-14 10:54:27 +01:00
pci.h ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
rx_desc.h ath10k: remove duplicate and unused rx rate flags 2016-06-14 14:56:00 +03:00
spectral.c ath10k: use the right length of "background" 2016-11-15 17:07:36 +02:00
spectral.h ath10k: refactor phyerr event handlers 2015-08-17 17:43:29 +03:00
swap.c ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
swap.h ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
targaddrs.h ath10k: spelling and miscellaneous neatening 2016-09-27 15:00:48 +03:00
testmode_i.h
testmode.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
testmode.h
thermal.c ath10k: replace config_enabled() with IS_REACHABLE() 2016-09-02 18:57:06 +03:00
thermal.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
trace.c
trace.h ath10k: add hw_rev to trace events to support pktlog 2016-03-03 19:20:00 +02:00
txrx.c ath10k: fix throughput regression in multi client mode 2016-09-09 15:07:11 +03:00
txrx.h ath10k: move mgmt descriptor limit handle under mgmt_tx 2016-03-18 09:52:27 +02:00
wmi-ops.h ath10k: fix null deref on wmi-tlv when trying spectral scan 2016-11-23 15:55:38 +02:00
wmi-tlv.c ath10k: fix TLV set regdomain command 2016-12-01 13:09:03 +02:00
wmi-tlv.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
wmi.c ath10k: free host-mem with DMA_BIRECTIONAL flag 2016-12-20 17:04:31 +02:00
wmi.h ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
wow.c ath10k: move fw_features to struct ath10k_fw_file 2016-04-20 20:00:25 +03:00
wow.h