diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2021-09-07 18:49:31 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2021-10-07 13:56:47 +0000 |
| commit | f983298883c1d6c6b1970bb9e19a172932aed3d3 (patch) | |
| tree | 2d5a9b593126e4ad0c504af465fa4e731f710b43 /sys/ofed/drivers | |
| parent | 7cf79c60fee596c03f4e757a713050c9331f0524 (diff) | |
Diffstat (limited to 'sys/ofed/drivers')
| -rw-r--r-- | sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c | 11 |
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); } |
