[ATM]: track and close listen sockets when sigd exits

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
diff --git a/net/atm/signaling.c b/net/atm/signaling.c
index f7c449a..e7211a7 100644
--- a/net/atm/signaling.c
+++ b/net/atm/signaling.c
@@ -217,8 +217,9 @@
 static void purge_vcc(struct atm_vcc *vcc)
 {
 	if (sk_atm(vcc)->sk_family == PF_ATMSVC &&
-	    !test_bit(ATM_VF_META,&vcc->flags)) {
-		set_bit(ATM_VF_RELEASED,&vcc->flags);
+	    !test_bit(ATM_VF_META, &vcc->flags)) {
+		set_bit(ATM_VF_RELEASED, &vcc->flags);
+		clear_bit(ATM_VF_REGIS, &vcc->flags);
 		vcc_release_async(vcc, -EUNATCH);
 	}
 }
@@ -243,8 +244,7 @@
 		sk_for_each(s, node, head) {
 			struct atm_vcc *vcc = atm_sk(s);
 
-			if (vcc->dev)
-				purge_vcc(vcc);
+			purge_vcc(vcc);
 		}
 	}
 	read_unlock(&vcc_sklist_lock);