Page MenuHomeFreeBSD

pci: introduce PCI_QUIRK_DISABLE_BUS_RESET
Needs ReviewPublic

Authored by bz on Feb 19 2026, 11:35 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 7, 12:22 PM
Unknown Object (File)
Sun, Apr 5, 1:08 PM
Unknown Object (File)
Sun, Apr 5, 9:26 AM
Unknown Object (File)
Sat, Apr 4, 11:13 AM
Unknown Object (File)
Sun, Mar 29, 12:51 PM
Unknown Object (File)
Mar 6 2026, 3:54 PM
Unknown Object (File)
Mar 1 2026, 5:33 AM
Unknown Object (File)
Feb 24 2026, 8:33 PM
Subscribers

Details

Reviewers
jhb
Group Reviewers
PCI
Summary

Some QCA ath10k devices do not behave or behave odd after a bus reset.
Add a quirk for them to silently ignore bus resets.

MFC after: 3 days

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 70807
Build 67690: arc lint + arc unit

Event Timeline

bz requested review of this revision.Feb 19 2026, 11:35 PM
sys/dev/pci/pci.c
244

Hmm, the quirk disables any reset (including FLR which isn't bus-wide). Assuming that FLR does indeed break these, maybe just call the quirk PCI_QUIRK_DISABLE_RESET?

sys/dev/pci/pci.c
244

They didn't advertise flr from what I remember. See below in the code for more...

6881

So in theory I should probably just disable this BUS_RESET_PREPARE../POST block.
To my understanding the problem comes with link re-training.

Need to check if the cards survive a suspend/resume then... (I am trying to think if they could in that case ...)