Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #1578: 160-wds_node_leak.patch

File 160-wds_node_leak.patch, 1.3 kB (added by jirif <jiri.fojtasek@hlohovec.net>, 12 years ago)

the patch Signed-off-by: Jiri Fojtasek <jiri.fojtasek@hlohovec.net>

  • madwifi-0.9.3.2.old/net80211/ieee80211_proto.c

    old new  
    14561456                                 */                              
    14571457                                if (vap->iv_opmode == IEEE80211_M_WDS) { 
    14581458                                        struct ieee80211_node *wds_ni; 
    1459                                         wds_ni = ieee80211_alloc_node(&ic->ic_sta, vap, vap->wds_mac); 
     1459                                        wds_ni = ieee80211_find_node(&ic->ic_sta, vap->wds_mac); 
     1460                                        if (wds_ni == NULL) { 
     1461                                                wds_ni = ieee80211_alloc_node(&ic->ic_sta, vap, vap->wds_mac); 
     1462                                                if (wds_ni != NULL) 
     1463                                                        ieee80211_add_wds_addr(&ic->ic_sta, wds_ni, vap->wds_mac, 1); 
     1464                                        } 
    14601465                                        if (wds_ni != NULL) { 
    1461                                                 if (ieee80211_add_wds_addr(&ic->ic_sta, wds_ni, vap->wds_mac, 1) == 0) { 
    1462                                                         ieee80211_node_authorize(wds_ni); 
    1463                                                         wds_ni->ni_chan = vap->iv_bss->ni_chan; 
    1464                                                         wds_ni->ni_capinfo = ni->ni_capinfo; 
    1465                                                         wds_ni->ni_associd = 1; 
    1466                                                         wds_ni->ni_ath_flags = vap->iv_ath_cap; 
    1467                                                 } 
     1466                                                ieee80211_node_authorize(wds_ni); 
     1467                                                wds_ni->ni_chan = vap->iv_bss->ni_chan; 
     1468                                                wds_ni->ni_capinfo = ni->ni_capinfo; 
     1469                                                wds_ni->ni_associd = 1; 
     1470                                                wds_ni->ni_ath_flags = vap->iv_ath_cap; 
    14681471                                        } 
    14691472                                } 
    14701473                                break;