diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2022-06-07 01:52:55 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2022-09-18 06:26:39 +0000 |
commit | f248e70fc1a419dc596023f47fea3ffa829eba3e (patch) | |
tree | 9fd21cfd6c7085c5291afcd6bb7436c5e6241936 | |
parent | 2f5dbe4772e8d81c8c02132f53c60340ec325468 (diff) | |
download | src-f248e70fc1a419dc596023f47fea3ffa829eba3e.tar.gz src-f248e70fc1a419dc596023f47fea3ffa829eba3e.zip |
alc: force maximum payload size to 128 bytes for AR816X/AR817x
Otherwise, we'll trigger a DMA write error and render the device
unusable.
Obtained from: OpenBSD (via Haiku, waddlesplash)
(cherry picked from commit 8cdb6b2dd78793628d7c36198598c85741e44119)
-rw-r--r-- | sys/dev/alc/if_alc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c index f0d756b3e865..c6928db3885c 100644 --- a/sys/dev/alc/if_alc.c +++ b/sys/dev/alc/if_alc.c @@ -1495,10 +1495,11 @@ alc_attach(device_t dev) sc->alc_dma_wr_burst = 3; /* * Force maximum payload size to 128 bytes for - * E2200/E2400/E2500. + * E2200/E2400/E2500/AR8162/AR8171/AR8172. * Otherwise it triggers DMA write error. */ - if ((sc->alc_flags & ALC_FLAG_E2X00) != 0) + if ((sc->alc_flags & + (ALC_FLAG_E2X00 | ALC_FLAG_AR816X_FAMILY)) != 0) sc->alc_dma_wr_burst = 0; alc_init_pcie(sc); } |