rxrpc: Fix loss of PING RESPONSE ACK production due to PING ACKs
Separate the output of PING ACKs from the output of other sorts of ACK so that if we receive a PING ACK and schedule transmission of a PING RESPONSE ACK, the response doesn't get cancelled by a PING ACK we happen to be scheduling transmission of at the same time. If a PING RESPONSE gets lost, the other side might just sit there waiting for it and refuse to proceed otherwise. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
26cb02aa6d
commit
a5af7e1fc6
8 changed files with 82 additions and 29 deletions
|
|
@ -93,7 +93,6 @@ const s8 rxrpc_ack_priority[] = {
|
|||
[RXRPC_ACK_EXCEEDS_WINDOW] = 6,
|
||||
[RXRPC_ACK_NOSPACE] = 7,
|
||||
[RXRPC_ACK_PING_RESPONSE] = 8,
|
||||
[RXRPC_ACK_PING] = 9,
|
||||
};
|
||||
|
||||
const char rxrpc_ack_names[RXRPC_ACK__INVALID + 1][4] = {
|
||||
|
|
@ -197,6 +196,7 @@ const char rxrpc_timer_traces[rxrpc_timer__nr_trace][8] = {
|
|||
[rxrpc_timer_expired] = "*EXPR*",
|
||||
[rxrpc_timer_init_for_reply] = "IniRpl",
|
||||
[rxrpc_timer_set_for_ack] = "SetAck",
|
||||
[rxrpc_timer_set_for_ping] = "SetPng",
|
||||
[rxrpc_timer_set_for_send] = "SetTx ",
|
||||
[rxrpc_timer_set_for_resend] = "SetRTx",
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue