}
 }
 
-void fuse_request_send(struct fuse_conn *fc, struct fuse_req *req)
+static void __fuse_request_send(struct fuse_conn *fc, struct fuse_req *req)
 {
-       req->isreply = 1;
        spin_lock(&fc->lock);
        if (!fc->connected)
                req->out.h.error = -ENOTCONN;
        }
        spin_unlock(&fc->lock);
 }
+
+void fuse_request_send(struct fuse_conn *fc, struct fuse_req *req)
+{
+       req->isreply = 1;
+       __fuse_request_send(fc, req);
+}
 EXPORT_SYMBOL_GPL(fuse_request_send);
 
 static void fuse_request_send_nowait_locked(struct fuse_conn *fc,
        req->in.args[0].size = sizeof(inarg);
        req->in.args[0].value = &inarg;
        req->isreply = 0;
-       fuse_request_send_nowait(fc, req);
+       __fuse_request_send(fc, req);
+       /* ignore errors */
+       fuse_put_request(fc, req);
 }
 
 /*