Module Name: src Committed By: msaitoh Date: Tue Feb 18 04:07:14 UTC 2020
Modified Files: src/sys/dev/pci: if_wm.c Log Message: It's useless to not to set PCI_PMCSR_PME_STS bit when writing because the bit is W1C. Instead, always write PCI_PMCSR_PME_STS bit to clear in case it's already set. To generate a diff of this commit: cvs rdiff -u -r1.667 -r1.668 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.667 src/sys/dev/pci/if_wm.c:1.668 --- src/sys/dev/pci/if_wm.c:1.667 Tue Feb 18 03:48:22 2020 +++ src/sys/dev/pci/if_wm.c Tue Feb 18 04:07:14 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.667 2020/02/18 03:48:22 msaitoh Exp $ */ +/* $NetBSD: if_wm.c,v 1.668 2020/02/18 04:07:14 msaitoh Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.667 2020/02/18 03:48:22 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.668 2020/02/18 04:07:14 msaitoh Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -15355,12 +15355,13 @@ wm_enable_wakeup(struct wm_softc *sc) pme: /* Request PME */ pmode = pci_conf_read(sc->sc_pc, sc->sc_pcitag, pmreg + PCI_PMCSR); + pmode |= PCI_PMCSR_PME_STS; /* in case it's already set (W1C) */ if ((rv == 0) && (sc->sc_flags & WM_F_WOL) != 0) { /* For WOL */ - pmode |= PCI_PMCSR_PME_STS | PCI_PMCSR_PME_EN; + pmode |= PCI_PMCSR_PME_EN; } else { /* Disable WOL */ - pmode &= ~(PCI_PMCSR_PME_STS | PCI_PMCSR_PME_EN); + pmode &= ~PCI_PMCSR_PME_EN; } pci_conf_write(sc->sc_pc, sc->sc_pcitag, pmreg + PCI_PMCSR, pmode); }