aboutsummaryrefslogtreecommitdiff
path: root/net/atm/common.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-09-29 08:56:47 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-29 08:56:47 -0700
commiteb693d2994eb762b2201aead31066265ab0be20b (patch)
tree424e1e7f3d272d0fd5888435176b386594ce121f /net/atm/common.c
parent6dec3cf5cdb600f39b9eac3349f6bf50eab87731 (diff)
parent01d40f28b125e0a9aa0ec24642be67fc4c5dfaff (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/atm/common.c')
-rw-r--r--net/atm/common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/atm/common.c b/net/atm/common.c
index e93e838069e..801a5813ec6 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);
}