add missing splx calls
authorjsg <jsg@openbsd.org>
Sat, 2 May 2015 14:33:19 +0000 (14:33 +0000)
committerjsg <jsg@openbsd.org>
Sat, 2 May 2015 14:33:19 +0000 (14:33 +0000)
ok miod@

sys/arch/mips64/mips64/pmap.c
sys/arch/solbourne/solbourne/pmap.c
sys/arch/vax/if/sgec.c

index d109ce4..629e90b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: pmap.c,v 1.78 2014/12/17 15:05:54 deraadt Exp $       */
+/*     $OpenBSD: pmap.c,v 1.79 2015/05/02 14:33:19 jsg Exp $   */
 
 /*
  * Copyright (c) 2001-2004 Opsycon AB  (www.opsycon.se / www.opsycon.com)
@@ -1610,6 +1610,7 @@ pmap_enter_pv(pmap_t pmap, vaddr_t va, vm_page_t pg, pt_entry_t *npte)
                 */
                for (npv = pv; npv; npv = npv->pv_next) {
                        if (pmap == npv->pv_pmap && va == npv->pv_va) {
+                               splx(s);
                                return 0;
                        }
                }
index 99576c0..01ff185 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: pmap.c,v 1.9 2015/02/11 07:05:39 dlg Exp $    */
+/*     $OpenBSD: pmap.c,v 1.10 2015/05/02 14:33:19 jsg Exp $   */
 /*
  * Copyright (c) 2005, Miodrag Vallat
  *
@@ -908,9 +908,10 @@ pmap_enter(struct pmap *pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
 
        if ((pte = pmap_grow_pte(pmap, va)) == NULL) {
                DPRINTF(PDB_ENTER, (" -> pmap_grow_pte failed\n"));
-               if (flags & PMAP_CANFAIL)
+               if (flags & PMAP_CANFAIL) {
+                       splx(s);
                        return (ENOMEM);
-               else
+               else
                        panic("pmap_enter: unable to allocate PT");
        }
 
@@ -1202,8 +1203,10 @@ pg_flushcache(struct vm_page *pg)
        s = splvm();
 
        pvl = pg_to_pvl(pg);
-       if (pvl->pv_pmap == NULL)
+       if (pvl->pv_pmap == NULL) {
+               splx(s);
                return;
+       }
 
        /*
         * Since cache_flush_page() causes the whole cache to be flushed,
index 64a7725..22ce74a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: sgec.c,v 1.26 2015/03/28 11:24:25 mpi Exp $   */
+/*     $OpenBSD: sgec.c,v 1.27 2015/05/02 14:33:19 jsg Exp $   */
 /*      $NetBSD: sgec.c,v 1.5 2000/06/04 02:14:14 matt Exp $ */
 /*
  * Copyright (c) 1999 Ludd, University of Lule}, Sweden. All rights reserved.
@@ -594,6 +594,7 @@ sgec_intr(sc)
        if (csr & ZE_NICSR5_ME) {
                printf("%s: memory error, resetting\n", sc->sc_dev.dv_xname);
                zeinit(sc);
+               splx(s);
                return (1);
        }