M alphapc/devether.c => alphapc/devether.c +1 -6
@@ 91,11 91,6 @@ etherbread(Chan* chan, long n, ulong offset)
return netifbread(etherxx[chan->dev], chan, n, offset);
}
-static void
-etherremove(Chan*)
-{
-}
-
static int
etherwstat(Chan* chan, uchar* dp, int n)
{
@@ 446,6 441,6 @@ Dev etherdevtab = {
etherbread,
etherwrite,
etherbwrite,
- etherremove,
+ devremove,
etherwstat,
};
M bitsy/devether.c => bitsy/devether.c +1 -6
@@ 185,11 185,6 @@ etherbread(Chan* chan, long n, ulong offset)
return netifbread(etherxx[chan->dev], chan, n, offset);
}
-static void
-etherremove(Chan*)
-{
-}
-
static int
etherwstat(Chan* chan, uchar* dp, int n)
{
@@ 460,7 455,7 @@ Dev etherdevtab = {
etherbread,
etherwrite,
etherbwrite,
- etherremove,
+ devremove,
etherwstat,
nil, /* no power management */
etherconfig,
M boot/bootauth.c => boot/bootauth.c +1 -0
@@ 17,6 17,7 @@ authentication(int cpuflag)
av = argv;
av[ac++] = "factotum";
//av[ac++] = "-d";
+//av[ac++] = "-D"; //9p messages
if(cpuflag)
av[ac++] = "-S";
else
M ip/devip.c => ip/devip.c +2 -14
@@ 499,18 499,6 @@ ipopen(Chan* c, int omode)
return c;
}
-static void
-ipcreate(Chan*, char*, int, ulong)
-{
- error(Eperm);
-}
-
-static void
-ipremove(Chan*)
-{
- error(Eperm);
-}
-
static int
ipwstat(Chan *c, uchar *dp, int n)
{
@@ 1187,13 1175,13 @@ Dev ipdevtab = {
ipwalk,
ipstat,
ipopen,
- ipcreate,
+ devcreate,
ipclose,
ipread,
ipbread,
ipwrite,
ipbwrite,
- ipremove,
+ devremove,
ipwstat,
};
M pc/devether.c => pc/devether.c +1 -6
@@ 91,11 91,6 @@ etherbread(Chan* chan, long n, ulong offset)
return netifbread(etherxx[chan->dev], chan, n, offset);
}
-static void
-etherremove(Chan*)
-{
-}
-
static int
etherwstat(Chan* chan, uchar* dp, int n)
{
@@ 466,6 461,6 @@ Dev etherdevtab = {
etherbread,
etherwrite,
etherbwrite,
- etherremove,
+ devremove,
etherwstat,
};
M pc/devusb.c => pc/devusb.c +2 -2
@@ 1700,9 1700,9 @@ usbclose(Chan *c)
if(c->qid.type == QTDIR || QID(c->qid) < Q3rd)
return;
qlock(&usbstate);
- if(waserror()){
+ if(waserror()){ /* usbdevice can error */
qunlock(&usbstate);
- return;
+ nexterror();
}
d = usbdevice(c);
if(QID(c->qid) == Qctl)
M pc/devvga.c => pc/devvga.c +5 -4
@@ 112,14 112,15 @@ vgaclose(Chan* c)
static char *closectl = "closectl\n";
scr = &vgascreen[0];
- if ((ulong)c->qid.path == Qvgaovlctl) {
- if (scr->dev->ovlctl){
- if(waserror())
+ if((ulong)c->qid.path == Qvgaovlctl)
+ if(scr->dev->ovlctl){
+ if(waserror()){
+ print("ovlctl error: %s\n", up->errstr);
return;
+ }
scr->dev->ovlctl(scr, c, closectl, strlen(closectl));
poperror();
}
- }
}
static void
M port/chan.c => port/chan.c +3 -7
@@ 352,14 352,10 @@ cclose(Chan *c)
if(decref(c))
return;
- if(waserror()){
- print("cclose error: type %C; error %s\n", devtab[c->type]->dc, up!=nil? up->errstr : "no user");
- /* don't chanfree: better leak than leave a dangling pointer */
- return;
+ if(!waserror()){
+ devtab[c->type]->close(c);
+ poperror();
}
-
- devtab[c->type]->close(c);
- poperror();
chanfree(c);
}
M port/devenv.c => port/devenv.c +1 -1
@@ 178,7 178,7 @@ static void
envclose(Chan *c)
{
/*
- * close can't fail, so errors from remove will be ignored anyway.
+ * cclose can't fail, so errors from remove will be ignored.
* since permissions aren't checked,
* envremove can't not remove it if its there.
*/