diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2019-11-04 12:16:49 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2019-11-04 12:16:49 +0000 |
commit | fc7e3a97599fc648071c61de8b189f5221a1031c (patch) | |
tree | adc44b80036b4f5e7a3db0b6611cce68b82663d2 /sys/dev/pci/if_iwm.c | |
parent | 85b82469af58b51764e735f471d5ad7ec4a823af (diff) |
iwm API version -31 firmware and up will crash after load unless the driver
explicitly enables support for 31 queues in the GP_CTRL register.
Coincidence? Accident? Bad joke? In any case this took us several days
to figure out; the root cause was eventually identified by patrick@
ok patrick@
Diffstat (limited to 'sys/dev/pci/if_iwm.c')
-rw-r--r-- | sys/dev/pci/if_iwm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/if_iwm.c b/sys/dev/pci/if_iwm.c index 9a0ec318531..135daeb696f 100644 --- a/sys/dev/pci/if_iwm.c +++ b/sys/dev/pci/if_iwm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwm.c,v 1.272 2019/11/04 12:04:16 stsp Exp $ */ +/* $OpenBSD: if_iwm.c,v 1.273 2019/11/04 12:16:48 stsp Exp $ */ /* * Copyright (c) 2014, 2016 genua gmbh <info@genua.de> @@ -1845,7 +1845,9 @@ iwm_nic_tx_init(struct iwm_softc *sc) txq->desc_dma.paddr >> 8); } - iwm_write_prph(sc, IWM_SCD_GP_CTRL, IWM_SCD_GP_CTRL_AUTO_ACTIVE_MODE); + iwm_set_bits_prph(sc, IWM_SCD_GP_CTRL, + IWM_SCD_GP_CTRL_AUTO_ACTIVE_MODE | + IWM_SCD_GP_CTRL_ENABLE_31_QUEUES); iwm_nic_unlock(sc); |