rxrpc: Fix warning by splitting rxrpc_send_call_packet()
Split rxrpc_send_data_packet() to separate ACK generation (which is more complicated) from ABORT generation. This simplifies the code a bit and fixes the following warning: In file included from ../net/rxrpc/output.c:20:0: net/rxrpc/output.c: In function 'rxrpc_send_call_packet': net/rxrpc/ar-internal.h:1187:27: error: 'top' may be used uninitialized in this function [-Werror=maybe-uninitialized] net/rxrpc/output.c:103:24: note: 'top' was declared here net/rxrpc/output.c:225:25: error: 'hard_ack' may be used uninitialized in this function [-Werror=maybe-uninitialized] Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -197,7 +197,7 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
|
||||
do {
|
||||
/* Check to see if there's a ping ACK to reply to. */
|
||||
if (call->ackr_reason == RXRPC_ACK_PING_RESPONSE)
|
||||
rxrpc_send_call_packet(call, RXRPC_PACKET_TYPE_ACK);
|
||||
rxrpc_send_ack_packet(call);
|
||||
|
||||
if (!skb) {
|
||||
size_t size, chunk, max, space;
|
||||
@@ -514,8 +514,7 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
|
||||
} else if (cmd == RXRPC_CMD_SEND_ABORT) {
|
||||
ret = 0;
|
||||
if (rxrpc_abort_call("CMD", call, 0, abort_code, ECONNABORTED))
|
||||
ret = rxrpc_send_call_packet(call,
|
||||
RXRPC_PACKET_TYPE_ABORT);
|
||||
ret = rxrpc_send_abort_packet(call);
|
||||
} else if (cmd != RXRPC_CMD_SEND_DATA) {
|
||||
ret = -EINVAL;
|
||||
} else if (rxrpc_is_client_call(call) &&
|
||||
@@ -597,7 +596,7 @@ void rxrpc_kernel_abort_call(struct socket *sock, struct rxrpc_call *call,
|
||||
lock_sock(sock->sk);
|
||||
|
||||
if (rxrpc_abort_call(why, call, 0, abort_code, error))
|
||||
rxrpc_send_call_packet(call, RXRPC_PACKET_TYPE_ABORT);
|
||||
rxrpc_send_abort_packet(call);
|
||||
|
||||
release_sock(sock->sk);
|
||||
_leave("");
|
||||
|
||||
Reference in New Issue
Block a user