Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src-draft/trunk]: src/sys/net80211 Cleanup task structures where needed.



details:   https://anonhg.NetBSD.org/src-all/rev/b0e30664a80c
branches:  trunk
changeset: 363775:b0e30664a80c
user:      Martin Husemann <martin%NetBSD.org@localhost>
date:      Sat Dec 19 16:31:04 2020 +0100

description:
Cleanup task structures where needed.

diffstat:

 sys/net80211/ieee80211_node.c    |   3 +++
 sys/net80211/ieee80211_proto.c   |  17 +++++++++++++++++
 sys/net80211/ieee80211_scan_sw.c |   4 ++++
 sys/net80211/ieee80211_superg.c  |   3 +++
 4 files changed, 27 insertions(+), 0 deletions(-)

diffs (74 lines):

diff -r 1f405bb52a18 -r b0e30664a80c sys/net80211/ieee80211_node.c
--- a/sys/net80211/ieee80211_node.c     Sat Dec 19 16:23:18 2020 +0100
+++ b/sys/net80211/ieee80211_node.c     Sat Dec 19 16:31:04 2020 +0100
@@ -161,6 +161,9 @@
        ieee80211_node_table_cleanup(&ic->ic_sta);
        ieee80211_ageq_drain(&ic->ic_stageq);
        ieee80211_ageq_cleanup(&ic->ic_stageq);
+#if __NetBSD__
+       TIMEOUT_TASK_DESTROY(&ic->ic_inact_task);
+#endif
 }
 
 void
diff -r 1f405bb52a18 -r b0e30664a80c sys/net80211/ieee80211_proto.c
--- a/sys/net80211/ieee80211_proto.c    Sat Dec 19 16:23:18 2020 +0100
+++ b/sys/net80211/ieee80211_proto.c    Sat Dec 19 16:31:04 2020 +0100
@@ -336,6 +336,16 @@
        ieee80211_wds_detach(ic);
        ieee80211_adhoc_detach(ic);
        ieee80211_sta_detach(ic);
+
+#if __NetBSD__
+       TASK_DESTROY(&ic->ic_parent_task);
+       TASK_DESTROY(&ic->ic_mcast_task);
+       TASK_DESTROY(&ic->ic_promisc_task);
+       TASK_DESTROY(&ic->ic_chan_task);
+       TASK_DESTROY(&ic->ic_bmiss_task);
+       TASK_DESTROY(&ic->ic_chw_task);
+       TASK_DESTROY(&ic->ic_restart_task);
+#endif
 }
 
 static void
@@ -456,6 +466,13 @@
        FREEAPPIE(vap->iv_appie_assocresp);
        FREEAPPIE(vap->iv_appie_wpa);
 #undef FREEAPPIE
+
+#if __NetBSD__
+       TASK_DESTROY(&vap->iv_nstate_task);
+       TASK_DESTROY(&vap->iv_swbmiss_task);
+       TASK_DESTROY(&vap->iv_wme_task);
+       TASK_DESTROY(&vap->iv_slot_task);
+#endif
 }
 
 /*
diff -r 1f405bb52a18 -r b0e30664a80c sys/net80211/ieee80211_scan_sw.c
--- a/sys/net80211/ieee80211_scan_sw.c  Sat Dec 19 16:23:18 2020 +0100
+++ b/sys/net80211/ieee80211_scan_sw.c  Sat Dec 19 16:31:04 2020 +0100
@@ -132,6 +132,10 @@
                        ss->ss_ops->scan_detach(ss);
                        ss->ss_ops = NULL;
                }
+#if __NetBSD__
+               TASK_DESTROY(&SCAN_PRIVATE(ss)->ss_scan_start);
+               TIMEOUT_TASK_DESTROY(&SCAN_PRIVATE(ss)->ss_scan_curchan);
+#endif
                ic->ic_scan = NULL;
                IEEE80211_FREE(SCAN_PRIVATE(ss), M_80211_SCAN,
                    sizeof(*ss));
diff -r 1f405bb52a18 -r b0e30664a80c sys/net80211/ieee80211_superg.c
--- a/sys/net80211/ieee80211_superg.c   Sat Dec 19 16:23:18 2020 +0100
+++ b/sys/net80211/ieee80211_superg.c   Sat Dec 19 16:31:04 2020 +0100
@@ -158,6 +158,9 @@
                IEEE80211_FREE(ic->ic_superg, M_80211_VAP, *ic->ic_superg);
                ic->ic_superg = NULL;
        }
+#if __NetBSD__
+       TIMEOUT_TASK_DESTROY(&ic->ic_superg->ff_qtimer);
+#endif
        IEEE80211_FF_LOCK_DESTROY(ic);
 }
 



Home | Main Index | Thread Index | Old Index