From 93dc338dfd719f02290639394ad7bd1800b971e4 Mon Sep 17 00:00:00 2001 From: Frederic Robra Date: Tue, 3 Sep 2019 11:25:19 +0200 Subject: added support to requeue busy requests --- src/kernel/net-txrx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/kernel/net-txrx.c') 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) { -- cgit v1.2.3-55-g7522