From 1de4f6d690d408535ad712e3555fb650da626b58 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 22 Mar 2003 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2003-03-22 --- ip/ipifc.c | 1 + pc/screen.h | 1 + pc/vgamach64xx.c | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ip/ipifc.c b/ip/ipifc.c index bb92e29faef99414d57fddb9175142c18085b023..101bd1e80cb3c8b028f3a880580e7ce2251388b1 100644 --- a/ip/ipifc.c +++ b/ip/ipifc.c @@ -318,6 +318,7 @@ ipifckick(void *x) else (*ifc->m->pktin)(c->p->f, ifc, bp); runlock(ifc); + poperror(); } /* diff --git a/pc/screen.h b/pc/screen.h index 3e9a57771fcc3c96f424f70663bd12b467e72566..f2099a36736a7cf369eb578b35b8f2c0bd98a4e0 100644 --- a/pc/screen.h +++ b/pc/screen.h @@ -116,6 +116,7 @@ struct VGAscr { void (*blank)(VGAscr*, int); ulong id; /* internal identifier for driver use */ int isblank; + int overlayinit; }; extern VGAscr vgascreen[]; diff --git a/pc/vgamach64xx.c b/pc/vgamach64xx.c index 7225085bc9c408623fab41338408bb0121078f5c..008a250e7fd4995cf515be00b92a251bf783cd32 100644 --- a/pc/vgamach64xx.c +++ b/pc/vgamach64xx.c @@ -831,7 +831,6 @@ initengine(VGAscr *scr) break; } - init_overlayclock(scr); waitforidle(scr); } @@ -1175,9 +1174,13 @@ mach64xxovlctl(VGAscr *scr, Chan *c, void *a, int n) Cmdbuf *cb; Cmdtab *ct; - if (!mach64type->m64_vtgt) + if(!mach64type->m64_vtgt) error(Enodev); + if(!scr->overlayinit){ + scr->overlayinit = 1; + init_overlayclock(scr); + } cb = parsecmd(a, n); if(waserror()){ free(cb);