From 04780f09b987e2ef533889f0c8b72c83eeadf3c3 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 26 Sep 2003 17:00:44 +0000 Subject: Try yet again to deal with timing out nodes. We cannot hold the node lock while sending a management frame as this will potentially result in a LOR with a driver lock. This doesn't happen for the Atheros driver but does for the wi driver. Use a generation number to help process each node once when scanning the node table and drop the node lock if we need to timeout a node and send a frame. --- sys/net80211/ieee80211_var.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/net80211/ieee80211_var.h') diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 2546bb8..e57d7ca 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -165,6 +165,7 @@ struct ieee80211com { u_int16_t ic_rtsthreshold; u_int16_t ic_fragthreshold; struct mtx ic_nodelock; /* on node table */ + u_int ic_scangen; /* gen# for timeout scan */ struct ieee80211_node *(*ic_node_alloc)(struct ieee80211com *); void (*ic_node_free)(struct ieee80211com *, struct ieee80211_node *); -- cgit v1.1