summaryrefslogtreecommitdiff
path: root/sys/ofed/drivers
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2021-09-07 18:49:31 +0000
committerMark Johnston <markj@FreeBSD.org>2021-10-07 13:56:47 +0000
commitf983298883c1d6c6b1970bb9e19a172932aed3d3 (patch)
tree2d5a9b593126e4ad0c504af465fa4e731f710b43 /sys/ofed/drivers
parent7cf79c60fee596c03f4e757a713050c9331f0524 (diff)
Diffstat (limited to 'sys/ofed/drivers')
-rw-r--r--sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
index 62e12f3b477c..973372b21761 100644
--- a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
+++ b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
@@ -1103,7 +1103,7 @@ sdp_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio,
td->td_ru.ru_msgsnd++;
ssk = sdp_sk(so);
- error = sblock(&so->so_snd, SBLOCKWAIT(flags));
+ error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags));
if (error)
goto out;
@@ -1194,7 +1194,7 @@ restart:
} while (resid);
release:
- sbunlock(&so->so_snd);
+ SOCK_IO_SEND_UNLOCK(so);
out:
if (top != NULL)
m_freem(top);
@@ -1265,9 +1265,9 @@ sdp_sorecv(struct socket *so, struct sockaddr **psa, struct uio *uio,
ssk = sdp_sk(so);
/* Prevent other readers from entering the socket. */
- error = sblock(sb, SBLOCKWAIT(flags));
+ error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(flags));
if (error)
- goto out;
+ return (error);
SOCKBUF_LOCK(sb);
/* Easy one, no space to copyout anything. */
@@ -1421,11 +1421,10 @@ deliver:
if ((flags & MSG_WAITALL) && uio->uio_resid > 0)
goto restart;
out:
- SOCKBUF_LOCK_ASSERT(sb);
SBLASTRECORDCHK(sb);
SBLASTMBUFCHK(sb);
SOCKBUF_UNLOCK(sb);
- sbunlock(sb);
+ SOCK_IO_RECV_UNLOCK(so);
return (error);
}