diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c index 872568cca926..3a56a888f939 100644 --- a/net/9p/trans_fd.c +++ b/net/9p/trans_fd.c @@ -711,10 +711,10 @@ static int p9_fd_cancelled(struct p9_client *client, struct p9_req_t *req) p9_debug(P9_DEBUG_TRANS, "client %p req %p\n", client, req); spin_lock(&client->lock); - /* Ignore cancelled request if message has been received - * before lock. - */ - if (req->status == REQ_STATUS_RCVD) { + /* Ignore cancelled request if status changed since the request was + * processed in p9_client_flush() + */ + if (req->status != REQ_STATUS_SENT) { spin_unlock(&client->lock); return 0; }