From 10fd7e381796b38e2a5ec6e1ecb7faaf1087fa13 Mon Sep 17 00:00:00 2001 From: kevlo Date: Thu, 19 May 2022 00:52:37 +0000 Subject: [PATCH] Force maximum payload size to 128 bytes for AR816X/AR817x as it triggers dma write error rendering the network unusable. Bug reported and patch tested by Scott C. MacCallum. --- sys/dev/pci/if_alc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/dev/pci/if_alc.c b/sys/dev/pci/if_alc.c index 39e4e9a1aa9..ae30a981042 100644 --- a/sys/dev/pci/if_alc.c +++ b/sys/dev/pci/if_alc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_alc.c,v 1.55 2022/03/11 18:00:45 mpi Exp $ */ +/* $OpenBSD: if_alc.c,v 1.56 2022/05/19 00:52:37 kevlo Exp $ */ /*- * Copyright (c) 2009, Pyun YongHyeon * All rights reserved. @@ -1354,10 +1354,11 @@ alc_attach(struct device *parent, struct device *self, void *aux) 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, base); } -- 2.20.1