mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 21:00:02 +02:00
band_idx starts out as 0xff, which tells the firmware to pick the band on
its own. A remain-on-channel grant normally writes a real index over it
before anything else looks. Two cases never see that: an MLD station
throws the grant away, and an AP has no association to trigger one.
The TX descriptor reads the same field into a two-bit slot, so the marker
comes out as 3. Every data frame from those two goes out tagged band 3.
Beacons are fine, they reach the firmware separately and never build a
descriptor.
Same numbers on an MT7925 and on a Netgear A9000:
stock patched
station, one link 0x00000001 0x00000001
station, two links 0x00003001 0x00000001
AP 0x00003013 0x00000013
real band index, STA 0x00001001 0x00001001
real band index, AP 0x00001013 0x00001013
Only the marker cases move.
Fixes:
|
||
|---|---|---|
| .. | ||
| debugfs.c | ||
| init.c | ||
| Kconfig | ||
| mac.c | ||
| mac.h | ||
| main.c | ||
| Makefile | ||
| mcu.c | ||
| mcu.h | ||
| mt7925.h | ||
| nan.c | ||
| nan.h | ||
| pci_mac.c | ||
| pci_mcu.c | ||
| pci.c | ||
| regd.c | ||
| regd.h | ||
| regs.h | ||
| testmode.c | ||
| usb.c | ||