summaryrefslogtreecommitdiff
path: root/os/port/devsrv.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/port/devsrv.c')
-rw-r--r--os/port/devsrv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/os/port/devsrv.c b/os/port/devsrv.c
index a80a3984..724e007e 100644
--- a/os/port/devsrv.c
+++ b/os/port/devsrv.c
@@ -606,10 +606,6 @@ srvwrite(Chan *c, void *va, long count, vlong offset)
ptrdel(D2H(req.t1));
destroy(req.t1);
- poperror();
- ptrdel(D2H(wc));
- destroy(wc);
-
h = heap(dev.Rwrite);
w = H2D(Sys_Rwrite *, h);
ptradd(h);
@@ -627,6 +623,10 @@ srvwrite(Chan *c, void *va, long count, vlong offset)
destroy(w);
poperror();
+ ptrdel(D2H(wc));
+ destroy(wc);
+
+ poperror();
release();
if(l < 0)
l = 0;