summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Oreman2009-08-11 07:31:51 +0200
committerMichael Brown2009-08-12 01:31:34 +0200
commit2310c30d1c87fbb3f854f7521b91392c3cad17d3 (patch)
tree0d2cca8485f6a6fe2cd7ee1331ef1f2c88d16506
parent[dhcp] Fall back to using the hardware address to populate the chaddr field (diff)
downloadipxe-2310c30d1c87fbb3f854f7521b91392c3cad17d3.tar.gz
ipxe-2310c30d1c87fbb3f854f7521b91392c3cad17d3.tar.xz
ipxe-2310c30d1c87fbb3f854f7521b91392c3cad17d3.zip
[802.11] Properly initialize autoassociation process
The recent change to process_add() to detect duplicate process additions relies on the fact that all processes will be initialized using process_init_stopped() before being passed to that function. The autoassociation process was not initialized in this fashion, so process_add() erroneously detected it as a duplicate. Fix by using process_init_stopped() to initialize the autoassociation process instead of setting the step member directly. Signed-off-by: Michael Brown <mcb30@etherboot.org>
-rw-r--r--src/net/80211/net80211.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c
index a07e2fab..91609d90 100644
--- a/src/net/80211/net80211.c
+++ b/src/net/80211/net80211.c
@@ -767,7 +767,8 @@ struct net80211_device * net80211_alloc ( size_t priv_size )
dev->priv = ( u8 * ) dev + sizeof ( *dev );
dev->op = &net80211_null_ops;
- dev->proc_assoc.step = net80211_step_associate;
+ process_init_stopped ( &dev->proc_assoc, net80211_step_associate,
+ &netdev->refcnt );
INIT_LIST_HEAD ( &dev->mgmt_queue );
INIT_LIST_HEAD ( &dev->mgmt_info_queue );