Page MenuHomeFreeBSD

D55389.diff
No OneTemporary

D55389.diff

diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -241,6 +241,7 @@
#define PCI_QUIRK_MSI_INTX_BUG 6 /* PCIM_CMD_INTxDIS disables MSI */
#define PCI_QUIRK_REALLOC_BAR 7 /* Can't allocate memory at the default address */
#define PCI_QUIRK_DISABLE_FLR 8 /* Function-Level Reset (FLR) not working. */
+#define PCI_QUIRK_DISABLE_BUS_RESET 9 /* Bus-Reset makes the chips misbehave. */
int arg1;
int arg2;
};
@@ -326,6 +327,13 @@
*/
{ 0x061614c3, PCI_QUIRK_DISABLE_FLR, 0, 0 }, /* mt76 7922 */
+ /*
+ * Soem QCA wireless cards start misbehaving after a bus-reset.
+ */
+ { 0x003c168c, PCI_QUIRK_DISABLE_BUS_RESET, 0, 0 }, /* QCA988X */
+ { 0x003e168c, PCI_QUIRK_DISABLE_BUS_RESET, 0, 0 }, /* QCA6174 */
+
+
/* end of table */
{ 0 }
};
@@ -6860,6 +6868,8 @@
if (dev == NULL || device_get_parent(child) != dev)
return (0);
+ if (pci_has_quirk(pci_get_devid(child), PCI_QUIRK_DISABLE_BUS_RESET))
+ return (0);
if ((flags & DEVF_RESET_DETACH) != 0) {
error = device_get_state(child) == DS_ATTACHED ?
device_detach(child) : 0;

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 20, 7:32 PM (3 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28904210
Default Alt Text
D55389.diff (1 KB)

Event Timeline