On Fri, May 13, 2022 at 11:50:56AM -0400, Scott C. MacCallum wrote:
> 
> During the installation of OpenBSD 7.1 amd64 release, after the network
> interface was auto configured for DHCP, a repeated error message was
> displayed to the screen at random times, "DMA write error! --resetting."
> This prevented the network installation of the operating system on this
> interface, so I worked around the problem using an USB network interface.
> After I booted into the newly installed system, the error continued to be
> displayed on the screen at random. Syspatch did not fix the issue.
> 
> I installed OpenBSD 7.1-current (GENERIC.MP) #516 and the error continues to
> be displayed on the screen at random.

It seems that AR816x/AR817x also needs to force maximum data payload size to
128 bytes.  Does the diff below help?  Thanks.

Index: sys/dev/pci/if_alc.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_alc.c,v
retrieving revision 1.55
diff -u -p -u -p -r1.55 if_alc.c
--- sys/dev/pci/if_alc.c        11 Mar 2022 18:00:45 -0000      1.55
+++ sys/dev/pci/if_alc.c        13 May 2022 17:45:42 -0000
@@ -1354,10 +1354,11 @@ alc_attach(struct device *parent, struct
                        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);
        }

Reply via email to