History

Revert "ax25: Fix std timer socket destroy handling."

This reverts commit 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74. It causes all kinds of problems, based upon a report by Bernard (f6bvp) and analysis by Jarek Poplawski.

David S. Miller committed 18 years ago

Commit 88a944e1 parent 05238201 file · +5 −3Browse files

Unified · Split

net/ax25/ax25_std_timer.c+5−3
@@ -39,9 +39,11 @@ void ax25_std_heartbeat_expiry(ax25_cb *ax25) · 38 unmodified lines
3939
4040 switch (ax25->state) {
4141 case AX25_STATE_0:
42− if (!sk ||
43− sock_flag(sk, SOCK_DESTROY) ||
44− sock_flag(sk, SOCK_DEAD)) {
42+ /* Magic here: If we listen() and a new link dies before it
43+ is accepted() it isn't 'dead' so doesn't get removed. */
44+ if (!sk || sock_flag(sk, SOCK_DESTROY) ||
45+ (sk->sk_state == TCP_LISTEN &&
46+ sock_flag(sk, SOCK_DEAD))) {
4547 if (sk) {
4648 sock_hold(sk);
4749 ax25_destroy_socket(ax25);