This patch 1) uses spin_lock instead of irq version. 2) removes the goto statement in case a socket is already assigned with simple if-else statement.
Signed-off-by: Pranay Kr. Srivastava <pran...@gmail.com> --- drivers/block/nbd.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 586d946..9223b09 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -653,17 +653,12 @@ static int nbd_set_socket(struct nbd_device *nbd, struct socket *sock) { int ret = 0; - spin_lock_irq(&nbd->sock_lock); - - if (nbd->sock) { + spin_lock(&nbd->sock_lock); + if (nbd->sock) ret = -EBUSY; - goto out; - } - - nbd->sock = sock; - -out: - spin_unlock_irq(&nbd->sock_lock); + else + nbd->sock = sock; + spin_unlock(&nbd->sock_lock); return ret; } -- 1.9.1