#1151097 linux-image-6.12.113+deb13-amd64: AR9271 802.11n stopped working

#1151097#5
Date:
2026-10-17 07:27:19 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?

	Kernel upgrade, from previous stable to the last one (linux-image-6.12.113+deb13-amd64) rendered '0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n' unusable, breaking all networking.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

	I have no time for bug chasing, I simply selected this working kernel from GRUB booting menu.

   * What was the outcome of this action?
   * What outcome did you expect instead?

#1151097#12
Date:
2026-10-17 08:22:28 UTC
From:
To:
Hi,

Please provide along the full kernel log from booting with the old and
new kernel up to triggering the problem.

I assume it is a regression from 6.12.111-1 to 6.12.113-1, so can you
please bisect as well with the following procedure:

    git clone --single-branch -b linux-6.12.y https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    cd linux-stable
    git checkout v6.12.111
    cp /boot/config-$(uname -r) .config
    yes '' | make localmodconfig
    make savedefconfig
    mv defconfig arch/x86/configs/my_defconfig

    # test 6.12.11 to ensure this is "good"
    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install the resulting .deb package and confirm problem does not exist

    # test 6.12.113 to ensure this is "bad"
    git checkout v6.12.113
    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install the resulting .deb package and confirm problem exists

With that confirmed, the bisection can start:

    git bisect start
    git bisect good v6.12.111
    git bisect bad v6.12.113

In each bisection step git checks out a state between the oldest
known-bad and the newest known-good commit. In each step test using:

    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install, verify if problem exists

and if the problem is hit run:

    git bisect bad

and if the problem doesn't trigger run:

    git bisect good

. Please pay attention to always select the just built kernel for
booting, it won't always be the default kernel picked up by grub.

Iterate until git announces to have identified the first bad commit.

Then provide the output of

    git bisect log

In the course of the bisection you might have to uninstall previous
kernels again to not exhaust the disk space in /boot. Also in the end
uninstall all self-built kernels again.

I found at least two related commits between 6.12.111 and 6.12.113 but
the above procedure will point us as the culprit commit.

Regards,
Salvatore

#1151097#19
Date:
2026-10-17 09:55:19 UTC
From:
To:
Thank you for being so clear with the process that I must follow. At this moment I'm transcoding video and can not be rebooting. I stimate that in 4 hours I will be able to start working in the problem. I will send the requested information as soon as I collect all the data.
#1151097#26
Date:
2026-10-17 19:07:22 UTC
From:
To:
Hi,

I suspect it is this one specifically:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=90201351a862182bdabfc1ad1c97b1e1b6ed5931
so before going into the bisect procedure if you can do just revert
that commit on top.

Let me know if you need assitance on how to compile the kernel with
only that reverted. But for that you can use our
debian/bin/test-patches script shipped. Instructions are in
https://kernel-team.pages.debian.net/kernel-handbook/ch-common-tasks.html#id-1.6.6.4

Hope this helps so far,

Salvatore

#1151097#31
Date:
2026-10-19 00:15:56 UTC
From:
To:
I can confirm this on different hardware (Dell OptiPlex 3050 Micro,
Intel, xhci_hcd), so it does not look platform specific.

Adapter:  0cf3:9271 Qualcomm Atheros AR9271 "USB2.0 WLAN", bcdDevice 1.08
Firmware: ath9k_htc/htc_9271-1.4.0.fw from firmware-ath9k-htc (FW 1.4)
Working:  linux-image-6.12.43+deb13-amd64 (6.12.43-1)
Broken:   linux-image-6.12.113+deb13-amd64

On 6.12.113 the firmware loads exactly as on 6.12.43:

   usb 1-5: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw,
size: 51008
   ath9k_htc 1-5:1.0: ath9k_htc: HTC initialized with 33 credits
   ath9k_htc 1-5:1.0: ath9k_htc: FW Version: 1.4
   ath9k_htc 1-5:1.0: FW RMW support: On

but bringing the interface up fails immediately with EMSGSIZE:

   wpa_supplicant: Could not set interface wlan0 flags (UP): Message too
long
   wpa_supplicant: nl80211: Could not set interface 'wlan0' UP
   wpa_supplicant: WEXT: Could not set interface 'wlan0' UP
   wpa_supplicant: wlan0: Failed to initialize driver interface

It is reproducible on every boot, including a cold boot with power
removed and without touching the adapter. Booting 6.12.43 on the same
system with the same configuration works.

#1151176 reports the same adapter failing on 7.2.11+deb14, so this may
be an upstream regression that was backported to 6.12.y.

Separately: after unplugging and replugging the adapter on 6.12.113,
the system hit an RCU stall and soft lockups in
ath9k_htc_tx_cleanup_timer and could not be powered off cleanly. This
matches the use-after-free reported on linux-wireless on 2026-08-28
("[BUG] ath9k_htc_tx_cleanup_timer -- ODEBUG free-active-timer and
use-after-free on USB unplug"). I only mention it for completeness.

Attached are kernel logs from a failed cold boot on 6.12.113 and from
a working boot on 6.12.43.


=== 6.12.113, cold boot (failing) ===
Oct 19 01:45:10 host kernel: Linux version 6.12.113+deb13-amd64
(debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian
14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP
PREEMPT_DYNAMIC Debian 6.12.113-1 (2026-10-15)
Oct 19 01:45:33 host kernel: usb 1-5: new high-speed USB device number 3
using xhci_hcd
Oct 19 01:45:33 host kernel: usb 1-5: New USB device found,
idVendor=0cf3, idProduct=9271, bcdDevice= 1.08
Oct 19 01:45:33 host kernel: usb 1-5: New USB device strings: Mfr=16,
Product=32, SerialNumber=48
Oct 19 01:45:33 host kernel: usb 1-5: Product: USB2.0 WLAN
Oct 19 01:45:33 host kernel: usb 1-5: Manufacturer: ATHEROS
Oct 19 01:45:33 host kernel: usb 1-5: SerialNumber: 12345
Oct 19 01:45:33 host kernel: usbcore: registered new interface driver
ath9k_htc
Oct 19 01:45:33 host kernel: usb 1-5: ath9k_htc: Transferred FW:
ath9k_htc/htc_9271-1.4.0.fw, size: 51008
Oct 19 01:45:34 host kernel: ath9k_htc 1-5:1.0: ath9k_htc: HTC
initialized with 33 credits
Oct 19 01:45:34 host kernel: ath9k_htc 1-5:1.0: ath9k_htc: FW Version: 1.4
Oct 19 01:45:34 host kernel: ath9k_htc 1-5:1.0: FW RMW support: On
Oct 19 01:45:12 host systemd[1]: Starting wpa_supplicant.service - WPA
supplicant...
Oct 19 01:45:12 host wpa_supplicant[696]: Successfully initialized
wpa_supplicant
Oct 19 01:45:12 host systemd[1]: Started wpa_supplicant.service - WPA
supplicant.
Oct 19 01:45:34 host systemd[1]: Started ifup@wlan0.service - ifup for
wlan0.
Oct 19 01:45:34 host wpa_supplicant[754]: Successfully initialized
wpa_supplicant
Oct 19 01:45:34 host wpa_supplicant[754]: Could not set interface wlan0
flags (UP): Message too long
Oct 19 01:45:34 host wpa_supplicant[754]: nl80211: Could not set
interface 'wlan0' UP
Oct 19 01:45:34 host wpa_supplicant[754]: nl80211: deinit ifname=wlan0
disabled_11b_rates=0
Oct 19 01:45:34 host wpa_supplicant[754]: Could not set interface wlan0
flags (UP): Message too long
Oct 19 01:45:34 host wpa_supplicant[754]: WEXT: Could not set interface
'wlan0' UP
Oct 19 01:45:34 host wpa_supplicant[754]: wlan0: Failed to initialize
driver interface
Oct 19 01:45:34 host wpa_supplicant[754]: wlan0: CTRL-EVENT-DSCP-POLICY
clear_all
Oct 19 01:45:34 host ifup[750]: wpa_supplicant: /usr/sbin/wpa_supplicant
daemon failed to start
Oct 19 01:45:34 host ifup[749]: run-parts:
/etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Oct 19 01:45:34 host ifup[746]: ifup: failed to bring up wlan0
Oct 19 01:45:34 host systemd[1]: ifup@wlan0.service: Main process
exited, code=exited, status=1/FAILURE
Oct 19 01:45:34 host systemd[1]: ifup@wlan0.service: Failed with result
'exit-code'.

=== 6.12.43 (working) ===
Oct 19 01:51:57 host kernel: Linux version 6.12.43+deb13-amd64
(debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian
14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP
PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27)
Oct 19 01:51:57 host kernel: usb 1-5: new high-speed USB device number 3
using xhci_hcd
Oct 19 01:51:57 host kernel: usb 1-5: New USB device found,
idVendor=0cf3, idProduct=9271, bcdDevice= 1.08
Oct 19 01:51:57 host kernel: usb 1-5: New USB device strings: Mfr=16,
Product=32, SerialNumber=48
Oct 19 01:51:57 host kernel: usb 1-5: Product: USB2.0 WLAN
Oct 19 01:51:57 host kernel: usb 1-5: Manufacturer: ATHEROS
Oct 19 01:51:57 host kernel: usb 1-5: SerialNumber: 12345
Oct 19 01:51:58 host kernel: usb 1-5: ath9k_htc: Firmware
ath9k_htc/htc_9271-1.4.0.fw requested
Oct 19 01:51:58 host kernel: usbcore: registered new interface driver
ath9k_htc
Oct 19 01:51:58 host kernel: usb 1-5: ath9k_htc: Transferred FW:
ath9k_htc/htc_9271-1.4.0.fw, size: 51008
Oct 19 01:51:59 host kernel: ath9k_htc 1-5:1.0: ath9k_htc: HTC
initialized with 33 credits
Oct 19 01:51:59 host kernel: ath9k_htc 1-5:1.0: ath9k_htc: FW Version: 1.4
Oct 19 01:51:59 host kernel: ath9k_htc 1-5:1.0: FW RMW support: On
Oct 19 01:51:59 host systemd[1]: Starting wpa_supplicant.service - WPA
supplicant...
Oct 19 01:51:59 host systemd[1]: Started wpa_supplicant.service - WPA
supplicant.
Oct 19 01:51:59 host wpa_supplicant[691]: Successfully initialized
wpa_supplicant
Oct 19 01:51:59 host wpa_supplicant[743]: Successfully initialized
wpa_supplicant
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0: SME: Trying to
authenticate with xx:xx:xx:xx:xx:xx (SSID='xxxx' freq=2412 MHz)
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0: Trying to associate
with xx:xx:xx:xx:xx:xx (SSID='xxxx' freq=2412 MHz)
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0: Associated with
xx:xx:xx:xx:xx:xx
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0:
CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0: WPA: Key negotiation
completed with xx:xx:xx:xx:xx:xx [PTK=CCMP GTK=CCMP]
Oct 19 01:52:01 host wpa_supplicant[745]: wlan0: CTRL-EVENT-CONNECTED -
Connection to xx:xx:xx:xx:xx:xx completed [id=0 id_str=]



I am happy to test patches or intermediate kernels from
snapshot.debian.org to help narrow down the commit.

#1151097#36
Date:
2026-10-19 06:05:11 UTC
From:
To:
Sorry for being so late, it has been a hard week (month) for me.

I have programmed "things" but never worked with version tracking systems.

I downloaded the "patch" and "diff" files (I was going to follow the classic try/error method), but when I was going to check the "test-patches" documentation I found that this sript/binary is not installed (devscripts installed a bunch of files).

'whereis test-patches' shows nothing.
'apt-cache search test-patches' and 'apt-cache search testpatches' queries give no results.

I would apreciate more precise information about the whole process of patching the kernel.

If at this point it is easier to apply the bisect method than teaching me to apply/revert patches say it and I will follow the first approach. I will wait your instructions.

Thank you for your patience.

#1151097#41
Date:
2026-10-19 22:40:46 UTC
From:
To:
Hi,

I can confirm that it works with 6.12.113 and 7.2.11; it also
functions normally with 6.12.111, likely in connection with commit
90201351a862182bdabfc1ad1c97b1e1b6ed5931 at https://git.kernel.org.

[   28.663059] usbcore: registered new interface driver ath9k_htc
[   29.062977] usb 1-1.4: ath9k_htc: Transferred FW:
ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[   29.312378] ath9k_htc 1-1.4:1.0: ath9k_htc: HTC initialized with 33 credits
[   29.585111] ath9k_htc 1-1.4:1.0: ath9k_htc: FW Version: 1.4
[   29.585122] ath9k_htc 1-1.4:1.0: FW RMW support: On
[   29.624248] ath9k_htc 1-1.4:1.0 wlxe894f6285298: renamed from wlan0

#1151097#46
Date:
2026-10-19 22:56:06 UTC
From:
To:
With 6.12.113, the card does not work, and the log remains exactly the
same, still not working.

[   26.405716] usbcore: registered new interface driver ath9k_htc
[   26.738743] usb 1-1.4: ath9k_htc: Transferred FW:
ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[   26.990909] ath9k_htc 1-1.4:1.0: ath9k_htc: HTC initialized with 33 credits
[   27.231559] ath9k_htc 1-1.4:1.0: ath9k_htc: FW Version: 1.4
[   27.231570] ath9k_htc 1-1.4:1.0: FW RMW support: On
[   27.270252] ath9k_htc 1-1.4:1.0 wlxe894f6285298: renamed from wlan0

#1151097#59
Date:
2026-10-22 04:58:51 UTC
From:
To:
In "Uploading linux (7.2.12-1)", Salvatore Bonaccorso wrote:

Anyway, I have one orthogonal concern: the problematic commit seems to be introduced to the 6.12 series in 6.12.113, which is landed in trixie-security just a few days ago (and the bad commit has been reverted in 6.12.114 already):
https://cdn.kernel.org/pub/linux/kernel/v7.x/ChangeLog-7.2.12#line=133,134

I will try to reproduce the bug on 6.12.113 tomorrow, but in all likelihood this will need to be mitigated in Trixie somehow. And the change is in ath9k, and may affect more hardware than just AR9271 adapters such as PCI, PCI Express, and Atheros Host Bus NICs (used on their MIPS wireless SoCs—although Debian no longer has a MIPS port to support those devices 😢).

P.S. for any readers interested in tinkering with ath9k_htc USB adapters or on the libre on-device firmware: I have various AR9271 adapters I'm happy to give away. My soldering skills are now good enough to attach wires to the circuit boards (such as for the UART serial port, which offers a debug console *from the CPU in the USB adapter itself*), and I can even throw in a USB serial adapter so you won't even have to know what "TTL UART" means to have some fun 🙂 Especially reach out to me if you're in the United States.