@@ -588,8 +588,6 @@ static void rxrpc_input_data(struct rxrpc_call *call, struct sk_buff *skb)
588
588
}
589
589
}
590
590
591
- spin_lock (& call -> input_lock );
592
-
593
591
/* Received data implicitly ACKs all of the request packets we sent
594
592
* when we're acting as a client.
595
593
*/
@@ -607,8 +605,6 @@ static void rxrpc_input_data(struct rxrpc_call *call, struct sk_buff *skb)
607
605
out :
608
606
trace_rxrpc_notify_socket (call -> debug_id , serial );
609
607
rxrpc_notify_socket (call );
610
-
611
- spin_unlock (& call -> input_lock );
612
608
rxrpc_free_skb (skb , rxrpc_skb_put_input );
613
609
_leave (" [queued]" );
614
610
}
@@ -811,7 +807,7 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb)
811
807
offset = sizeof (struct rxrpc_wire_header );
812
808
if (skb_copy_bits (skb , offset , & ack , sizeof (ack )) < 0 ) {
813
809
rxrpc_proto_abort ("XAK" , call , 0 );
814
- goto out_not_locked ;
810
+ goto out ;
815
811
}
816
812
offset += sizeof (ack );
817
813
@@ -863,7 +859,7 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb)
863
859
rxrpc_is_client_call (call )) {
864
860
rxrpc_set_call_completion (call , RXRPC_CALL_REMOTELY_ABORTED ,
865
861
0 , - ENETRESET );
866
- return ;
862
+ goto out ;
867
863
}
868
864
869
865
/* If we get an OUT_OF_SEQUENCE ACK from the server, that can also
@@ -877,30 +873,28 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb)
877
873
rxrpc_is_client_call (call )) {
878
874
rxrpc_set_call_completion (call , RXRPC_CALL_REMOTELY_ABORTED ,
879
875
0 , - ENETRESET );
880
- return ;
876
+ goto out ;
881
877
}
882
878
883
879
/* Discard any out-of-order or duplicate ACKs (outside lock). */
884
880
if (!rxrpc_is_ack_valid (call , first_soft_ack , prev_pkt )) {
885
881
trace_rxrpc_rx_discard_ack (call -> debug_id , ack_serial ,
886
882
first_soft_ack , call -> acks_first_seq ,
887
883
prev_pkt , call -> acks_prev_seq );
888
- goto out_not_locked ;
884
+ goto out ;
889
885
}
890
886
891
887
info .rxMTU = 0 ;
892
888
ioffset = offset + nr_acks + 3 ;
893
889
if (skb -> len >= ioffset + sizeof (info ) &&
894
890
skb_copy_bits (skb , ioffset , & info , sizeof (info )) < 0 ) {
895
891
rxrpc_proto_abort ("XAI" , call , 0 );
896
- goto out_not_locked ;
892
+ goto out ;
897
893
}
898
894
899
895
if (nr_acks > 0 )
900
896
skb_condense (skb );
901
897
902
- spin_lock (& call -> input_lock );
903
-
904
898
/* Discard any out-of-order or duplicate ACKs (inside lock). */
905
899
if (!rxrpc_is_ack_valid (call , first_soft_ack , prev_pkt )) {
906
900
trace_rxrpc_rx_discard_ack (call -> debug_id , ack_serial ,
@@ -992,8 +986,6 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb)
992
986
993
987
rxrpc_congestion_management (call , skb , & summary , acked_serial );
994
988
out :
995
- spin_unlock (& call -> input_lock );
996
- out_not_locked :
997
989
rxrpc_free_skb (skb_put , rxrpc_skb_put_input );
998
990
rxrpc_free_skb (skb_old , rxrpc_skb_put_ack );
999
991
}
@@ -1005,12 +997,8 @@ static void rxrpc_input_ackall(struct rxrpc_call *call, struct sk_buff *skb)
1005
997
{
1006
998
struct rxrpc_ack_summary summary = { 0 };
1007
999
1008
- spin_lock (& call -> input_lock );
1009
-
1010
1000
if (rxrpc_rotate_tx_window (call , call -> tx_top , & summary ))
1011
1001
rxrpc_end_tx_phase (call , false, "ETL" );
1012
-
1013
- spin_unlock (& call -> input_lock );
1014
1002
}
1015
1003
1016
1004
/*
0 commit comments