@@ -974,8 +974,7 @@ p9_fd_create_tcp(struct p9_client *client, const char *addr, char *args)
if (err < 0) {
pr_err("%s (%d): problem binding to privport\n",
__func__, task_pid_nr(current));
- sock_release(csocket);
- return err;
+ goto release_socket;
}
}
@@ -985,11 +984,14 @@ p9_fd_create_tcp(struct p9_client *client, const char *addr, char *args)
if (err < 0) {
pr_err("%s (%d): problem connecting socket to %s\n",
__func__, task_pid_nr(current), addr);
- sock_release(csocket);
- return err;
+ goto release_socket;
}
return p9_socket_open(client, csocket);
+
+release_socket:
+ sock_release(csocket);
+ return err;
}
static int