ath lor

PseudoCylon moonlightakkiy at yahoo.ca
Thu Aug 2 11:26:22 UTC 2012


On Wed, Aug 1, 2012 at 11:05 AM, Adrian Chadd <adrian.chadd at gmail.com> wrote:
> Hm, not quite there. You're still grabbing the node lock before you
> call the callback. That's the wrong spot. You need to put the
> NODE_LOCK/NODE_UNLOCK calls back where you assemble the list of nodes,
> not when you call the callback.
>
> All the callback loop needs is:
>
> (for i = 0; ...) {
>     if (ni == NULL)
>         break;
>     (*f)(arg, node array entry);
>     ieee80211_free_node(node array entry);
> }
>
> Ther'es no need for the node table lock there. You only use the node
> table lock when you're iterating through the node table. That's being
> done in the first pass.
>
> You're also calling ieee80211_free_node() on ni, but you're not
> assigning ni anywhere.
>

Third time's the charm.
assuming all vaps have the same iv_max_aid
https://gitorious.org/ieee80211/net80211/commit/c8a1a722df1683416d4d0d9cd99c57a6b1b2bdf5/diffs/87d27559ad706e4a8c63d5a7d0ed5d2101fb3402


AK


More information about the freebsd-wireless mailing list