summaryrefslogtreecommitdiffstats
path: root/src/kernel/net-txrx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/net-txrx.c')
-rw-r--r--src/kernel/net-txrx.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/kernel/net-txrx.c b/src/kernel/net-txrx.c
index d905ce9..7226a3e 100644
--- a/src/kernel/net-txrx.c
+++ b/src/kernel/net-txrx.c
@@ -183,6 +183,8 @@ error:
* dnbd3_send_request_cmd - send a dndb3 cmd
* @sock: the socket where the request is send
* @dnbd3_cmd: the dnbd3 cmd to send
+ *
+ * the tx_lock of the socket must be held
*/
int dnbd3_send_request_cmd(struct dnbd3_sock *sock, uint16_t dnbd3_cmd)
{
@@ -211,10 +213,12 @@ int dnbd3_send_request_cmd(struct dnbd3_sock *sock, uint16_t dnbd3_cmd)
goto error;
}
- mutex_lock(&sock->tx_lock);
+ if (unlikely(!sock->sock)) {
+ result = -EIO;
+ goto error;
+ }
sock->pending = req;
result = dnbd3_send_request(sock, req, NULL);
- mutex_unlock(&sock->tx_lock);
error:
if (req) {