Ticket #914: wds-fixes.diff

File wds-fixes.diff, 1.7 kB (added by Žilvinas Valinskas <valins@soften.ktu.lt>, 2 years ago)

Signed-off-by: Žilvinas Valinskas <valins@soften.ktu.lt>

  • madwifi-ng-trunk/net80211/ieee80211_node.c

    old new  
    961961ieee80211_del_wds_node(struct ieee80211_node_table *nt, struct ieee80211_node *ni) 
    962962{ 
    963963        int hash; 
    964         struct ieee80211_wds_addr *wds
     964        struct ieee80211_wds_addr *wds, *next
    965965 
    966966        IEEE80211_NODE_LOCK_IRQ(nt); 
    967967        for (hash = 0; hash < IEEE80211_NODE_HASHSIZE; hash++) { 
    968                 LIST_FOREACH(wds, &nt->nt_wds_hash[hash], wds_hash) { 
     968                LIST_FOREACH_SAFE(wds, &nt->nt_wds_hash[hash], wds_hash, next) { 
    969969                        if (wds->wds_ni == ni) { 
    970970                                if (ieee80211_node_dectestref(ni)) { 
    971971                                        _ieee80211_free_node(ni); 
     
    984984{ 
    985985        struct ieee80211_node_table *nt = (struct ieee80211_node_table *)data; 
    986986        int hash; 
    987         struct ieee80211_wds_addr *wds
     987        struct ieee80211_wds_addr *wds, *next
    988988 
    989989        IEEE80211_NODE_LOCK_IRQ(nt); 
    990990        for (hash = 0; hash < IEEE80211_NODE_HASHSIZE; hash++) { 
    991                 LIST_FOREACH(wds, &nt->nt_wds_hash[hash], wds_hash) { 
     991                LIST_FOREACH_SAFE(wds, &nt->nt_wds_hash[hash], wds_hash, next) { 
    992992                        if (wds->wds_agingcount != WDS_AGING_STATIC) { 
    993993                                if (!wds->wds_agingcount) { 
    994994                                        if (ieee80211_node_dectestref(wds->wds_ni)) {