Merge tag 'printk-for-6.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/print...
[platform/kernel/linux-rpi.git] / net / sunrpc / clnt.c
index 37b0b21..9c21027 100644 (file)
@@ -2476,8 +2476,7 @@ call_status(struct rpc_task *task)
                goto out_exit;
        }
        task->tk_action = call_encode;
-       if (status != -ECONNRESET && status != -ECONNABORTED)
-               rpc_check_timeout(task);
+       rpc_check_timeout(task);
        return;
 out_exit:
        rpc_call_rpcerror(task, status);
@@ -2725,7 +2724,15 @@ out_unparsable:
 
 out_verifier:
        trace_rpc_bad_verifier(task);
-       goto out_garbage;
+       switch (error) {
+       case -EPROTONOSUPPORT:
+               goto out_err;
+       case -EACCES:
+               /* Re-encode with a fresh cred */
+               fallthrough;
+       default:
+               goto out_garbage;
+       }
 
 out_msg_denied:
        error = -EACCES;