diff options
Diffstat (limited to 'net/x25/x25_out.c')
-rw-r--r-- | net/x25/x25_out.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/x25/x25_out.c b/net/x25/x25_out.c index 52351a26b6f..d00649fb251 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 | } |