diff options
Diffstat (limited to 'net/rxrpc/recvmsg.c')
-rw-r--r-- | net/rxrpc/recvmsg.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/net/rxrpc/recvmsg.c b/net/rxrpc/recvmsg.c index a3fa2ed85d63..9ed66d533002 100644 --- a/net/rxrpc/recvmsg.c +++ b/net/rxrpc/recvmsg.c | |||
@@ -203,6 +203,9 @@ int rxrpc_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, | |||
203 | } | 203 | } |
204 | 204 | ||
205 | /* we transferred the whole data packet */ | 205 | /* we transferred the whole data packet */ |
206 | if (!(flags & MSG_PEEK)) | ||
207 | rxrpc_kernel_data_consumed(call, skb); | ||
208 | |||
206 | if (sp->hdr.flags & RXRPC_LAST_PACKET) { | 209 | if (sp->hdr.flags & RXRPC_LAST_PACKET) { |
207 | _debug("last"); | 210 | _debug("last"); |
208 | if (rxrpc_conn_is_client(call->conn)) { | 211 | if (rxrpc_conn_is_client(call->conn)) { |
@@ -360,28 +363,6 @@ wait_error: | |||
360 | } | 363 | } |
361 | 364 | ||
362 | /** | 365 | /** |
363 | * rxrpc_kernel_data_delivered - Record delivery of data message | ||
364 | * @skb: Message holding data | ||
365 | * | ||
366 | * Record the delivery of a data message. This permits RxRPC to keep its | ||
367 | * tracking correct. The socket buffer will be deleted. | ||
368 | */ | ||
369 | void rxrpc_kernel_data_delivered(struct sk_buff *skb) | ||
370 | { | ||
371 | struct rxrpc_skb_priv *sp = rxrpc_skb(skb); | ||
372 | struct rxrpc_call *call = sp->call; | ||
373 | |||
374 | ASSERTCMP(sp->hdr.seq, >=, call->rx_data_recv); | ||
375 | ASSERTCMP(sp->hdr.seq, <=, call->rx_data_recv + 1); | ||
376 | call->rx_data_recv = sp->hdr.seq; | ||
377 | |||
378 | ASSERTCMP(sp->hdr.seq, >, call->rx_data_eaten); | ||
379 | rxrpc_free_skb(skb); | ||
380 | } | ||
381 | |||
382 | EXPORT_SYMBOL(rxrpc_kernel_data_delivered); | ||
383 | |||
384 | /** | ||
385 | * rxrpc_kernel_is_data_last - Determine if data message is last one | 366 | * rxrpc_kernel_is_data_last - Determine if data message is last one |
386 | * @skb: Message holding data | 367 | * @skb: Message holding data |
387 | * | 368 | * |