diff options
author | Chas Williams <chas@cmf.nrl.navy.mil> | 2005-09-28 16:35:01 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-09-28 16:35:01 -0700 |
commit | 9301e320e98ff19a0e48881b038d0c24ca76e6c0 (patch) | |
tree | b625aa1cb6dab99f343cdf85e0f32e7838a7ad93 /net/atm/common.c | |
parent | e2c4b72158a9f1286df41dee478e774f1b94e93a (diff) | |
download | linux-9301e320e98ff19a0e48881b038d0c24ca76e6c0.tar.gz linux-9301e320e98ff19a0e48881b038d0c24ca76e6c0.tar.bz2 linux-9301e320e98ff19a0e48881b038d0c24ca76e6c0.zip |
[ATM]: track and close listen sockets when sigd exits
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Diffstat (limited to 'net/atm/common.c')
-rw-r--r-- | net/atm/common.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/atm/common.c b/net/atm/common.c index e93e838069e8..801a5813ec60 100644 --- a/net/atm/common.c +++ b/net/atm/common.c @@ -178,8 +178,6 @@ static void vcc_destroy_socket(struct sock *sk) if (vcc->push) vcc->push(vcc, NULL); /* atmarpd has no push */ - vcc_remove_socket(sk); /* no more receive */ - while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) { atm_return(vcc,skb->truesize); kfree_skb(skb); @@ -188,6 +186,8 @@ static void vcc_destroy_socket(struct sock *sk) module_put(vcc->dev->ops->owner); atm_dev_put(vcc->dev); } + + vcc_remove_socket(sk); } |