[PATCH] ath10k: skip quiet mode for WCN3990 to prevent firmware crash

Baochen Qiang baochen.qiang at oss.qualcomm.com
Fri Apr 10 00:38:24 PDT 2026



On 4/7/2026 6:14 AM, Malte Schababerle wrote:
> On 3/22/2026, Baochen Qiang wrote:
>> Malte, the firmware team needs firmware dump to understand this issue,
>> would you be able to help collect it?
> 
> Sure. Attaching the full dmesg from a reproducible test run (kernel
> without the patch, upstream 6.17, postmarketOS on OnePlus 7T / SM8150).
> 
> Firmware: WLAN.HL.3.2.0.c2-00006
> 
> The crash triggers deterministically on every boot. Key lines:
> 
>   [25.122098] PDM: service 'wlan_process' crash:
>                'EX:wlan_process:0x1:WLAN RT:0x2076:PC=0xb0008e20'
>   [25.283364] ath10k_snoc 18800000.wifi: firmware crashed!
> 
> Full crash sequence repeats across subsequent recovery attempts at the
> same PC=0xb0008e20 (see attached dmesg.txt).
> 
> Note: I'm running an upstream kernel (6.17) on postmarketOS.
> CONFIG_QCOM_RAMDUMP and WCSS coredump tooling are not available here.
> If the firmware team needs a full Hexagon register dump, please advise
> how to collect it in this environment.

please follow below steps to collect firmware dump:

1. sudo modprobe -r ath10k_pci
2. sudo modprobe ath10k_core coredump_mask=7
3. sudo modprobe ath10k_pci
4. reproduce the crash issue
5. collect dump using a similar way to Intel chip [1]:

	You can now get the data from the devcoredump device and dump to a file:

	cat /sys/devices/virtual/devcoredump/devcdY/data > iwl.dump
	echo 1 > /sys/devices/virtual/devcoredump/devcdY/data
	(Y is incremented each time)

	The easiest is to define a udev rule to dump the data automatically as soon as
	dump is created:

	SUBSYSTEM=="devcoredump", ACTION=="add", RUN+="/sbin/iwlfwdump.sh"
	You’ll typically have to paste this into a new file called /etc/udev/rules.d/85-
	iwl-dump.rules. This location can vary between distributions.

	/sbin/iwlfwdump.sh can simply be:

	#!/bin/bash

	timestamp=$(date +%F_%H-%M-%S)
	filename=/var/log/iwl-fw-error_${timestamp}.dump
	cat /sys/${DEVPATH}/data > ${filename}
	echo 1 > /sys/${DEVPATH}/data

	This way, each time a dump is created it will automatically land on your file
	system. Remember to make the /sbin/iwlfwdump.sh file executable (i.e. chmod a+x
	/sbin/iwlfwdump.sh), so that the udev rule can execute it, otherwise it won’t
	work.

[1]
https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi/debugging.html#how-to-provide-information-to-debug-the-firmware

> 
> Tested-by: Malte Schababerle <m.schababerle at gmail.com>
>   on OnePlus 7T (SM8150/WCN3990), kernel 6.17, FW WLAN.HL.3.2.0.c2-00006




More information about the ath10k mailing list