-/* $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)
*/
for (npv = pv; npv; npv = npv->pv_next) {
if (pmap == npv->pv_pmap && va == npv->pv_va) {
+ splx(s);
return 0;
}
}
-/* $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
*
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");
}
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,
-/* $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.
if (csr & ZE_NICSR5_ME) {
printf("%s: memory error, resetting\n", sc->sc_dev.dv_xname);
zeinit(sc);
+ splx(s);
return (1);
}