9p: forgetting to cancel request on interrupted zero-copy RPC
[firefly-linux-kernel-4.4.55.git] / net / 9p / client.c
index 6f4c4c88db84ecb084ca5553113d9ad2963e4985..28f36e4556f96e86764a15198430d1d3e9bdcb09 100644 (file)
@@ -843,7 +843,8 @@ static struct p9_req_t *p9_client_zc_rpc(struct p9_client *c, int8_t type,
        if (err < 0) {
                if (err == -EIO)
                        c->status = Disconnected;
-               goto reterr;
+               if (err != -ERESTARTSYS)
+                       goto reterr;
        }
        if (req->status == REQ_STATUS_ERROR) {
                p9_debug(P9_DEBUG_ERROR, "req_status error %d\n", req->t_err);