Lines Matching refs:txb
239 struct rxrpc_txbuf *txb, in rxrpc_queue_packet() argument
242 rxrpc_seq_t seq = txb->seq; in rxrpc_queue_packet()
243 bool last = test_bit(RXRPC_TXBUF_LAST, &txb->flags), poke; in rxrpc_queue_packet()
247 ASSERTCMP(txb->seq, ==, call->tx_prepared + 1); in rxrpc_queue_packet()
252 txb->last_sent = ktime_get_real(); in rxrpc_queue_packet()
262 list_add_tail(&txb->call_link, &call->tx_sendmsg); in rxrpc_queue_packet()
283 struct rxrpc_txbuf *txb; in rxrpc_send_data() local
332 txb = call->tx_pending; in rxrpc_send_data()
334 if (txb) in rxrpc_send_data()
335 rxrpc_see_txbuf(txb, rxrpc_txbuf_see_send_more); in rxrpc_send_data()
338 if (!txb) { in rxrpc_send_data()
360 txb = rxrpc_alloc_txbuf(call, RXRPC_PACKET_TYPE_DATA, in rxrpc_send_data()
362 if (!txb) in rxrpc_send_data()
365 txb->offset = offset; in rxrpc_send_data()
366 txb->space -= offset; in rxrpc_send_data()
367 txb->space = min_t(size_t, chunk, txb->space); in rxrpc_send_data()
374 size_t copy = min_t(size_t, txb->space, msg_data_left(msg)); in rxrpc_send_data()
377 if (!copy_from_iter_full(txb->data + txb->offset, copy, in rxrpc_send_data()
381 txb->space -= copy; in rxrpc_send_data()
382 txb->len += copy; in rxrpc_send_data()
383 txb->offset += copy; in rxrpc_send_data()
395 if (!txb->space || in rxrpc_send_data()
398 txb->wire.flags |= RXRPC_LAST_PACKET; in rxrpc_send_data()
399 __set_bit(RXRPC_TXBUF_LAST, &txb->flags); in rxrpc_send_data()
403 txb->wire.flags |= RXRPC_MORE_PACKETS; in rxrpc_send_data()
405 ret = call->security->secure_packet(call, txb); in rxrpc_send_data()
409 rxrpc_queue_packet(rx, call, txb, notify_end_tx); in rxrpc_send_data()
410 txb = NULL; in rxrpc_send_data()
420 call->tx_pending = txb; in rxrpc_send_data()
425 rxrpc_put_txbuf(txb, rxrpc_txbuf_put_send_aborted); in rxrpc_send_data()