diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/x25/af_x25.c | 1 | ||||
-rw-r--r-- | net/x25/x25_in.c | 2 | ||||
-rw-r--r-- | net/x25/x25_out.c | 5 |
3 files changed, 5 insertions, 3 deletions
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 720534ce1fd9..3d97b8caf0b1 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -641,6 +641,7 @@ static struct sock *x25_make_new(struct sock *osk) | |||
641 | x25->cudmatchlength = ox25->cudmatchlength; | 641 | x25->cudmatchlength = ox25->cudmatchlength; |
642 | x25->accptapprv = ox25->accptapprv; | 642 | x25->accptapprv = ox25->accptapprv; |
643 | 643 | ||
644 | clear_bit(X25_INTERRUPT_FLAG, &x25->flags); | ||
644 | x25_init_timers(sk); | 645 | x25_init_timers(sk); |
645 | out: | 646 | out: |
646 | return sk; | 647 | return sk; |
diff --git a/net/x25/x25_in.c b/net/x25/x25_in.c index 372ac226e648..63178961efac 100644 --- a/net/x25/x25_in.c +++ b/net/x25/x25_in.c | |||
@@ -273,7 +273,7 @@ static int x25_state3_machine(struct sock *sk, struct sk_buff *skb, int frametyp | |||
273 | break; | 273 | break; |
274 | 274 | ||
275 | case X25_INTERRUPT_CONFIRMATION: | 275 | case X25_INTERRUPT_CONFIRMATION: |
276 | x25->intflag = 0; | 276 | clear_bit(X25_INTERRUPT_FLAG, &x25->flags); |
277 | break; | 277 | break; |
278 | 278 | ||
279 | case X25_INTERRUPT: | 279 | case X25_INTERRUPT: |
diff --git a/net/x25/x25_out.c b/net/x25/x25_out.c index 52351a26b6fc..d00649fb251d 100644 --- a/net/x25/x25_out.c +++ b/net/x25/x25_out.c | |||
@@ -148,8 +148,9 @@ void x25_kick(struct sock *sk) | |||
148 | /* | 148 | /* |
149 | * Transmit interrupt data. | 149 | * Transmit interrupt data. |
150 | */ | 150 | */ |
151 | if (!x25->intflag && skb_peek(&x25->interrupt_out_queue) != NULL) { | 151 | if (skb_peek(&x25->interrupt_out_queue) != NULL && |
152 | x25->intflag = 1; | 152 | !test_and_set_bit(X25_INTERRUPT_FLAG, &x25->flags)) { |
153 | |||
153 | skb = skb_dequeue(&x25->interrupt_out_queue); | 154 | skb = skb_dequeue(&x25->interrupt_out_queue); |
154 | x25_transmit_link(skb, x25->neighbour); | 155 | x25_transmit_link(skb, x25->neighbour); |
155 | } | 156 | } |