.rpc_call_done = nfs40_call_sync_done,
 };
 
+static int nfs4_call_sync_custom(struct rpc_task_setup *task_setup)
+{
+       int ret;
+       struct rpc_task *task;
+
+       task = rpc_run_task(task_setup);
+       if (IS_ERR(task))
+               return PTR_ERR(task);
+
+       ret = task->tk_status;
+       rpc_put_task(task);
+       return ret;
+}
+
 static int nfs4_call_sync_sequence(struct rpc_clnt *clnt,
                                   struct nfs_server *server,
                                   struct rpc_message *msg,
                                   struct nfs4_sequence_args *args,
                                   struct nfs4_sequence_res *res)
 {
-       int ret;
-       struct rpc_task *task;
        struct nfs_client *clp = server->nfs_client;
        struct nfs4_call_sync_data data = {
                .seq_server = server,
                .callback_data = &data
        };
 
-       task = rpc_run_task(&task_setup);
-       if (IS_ERR(task))
-               ret = PTR_ERR(task);
-       else {
-               ret = task->tk_status;
-               rpc_put_task(task);
-       }
-       return ret;
+       return nfs4_call_sync_custom(&task_setup);
 }
 
 int nfs4_call_sync(struct rpc_clnt *clnt,