Ignore:
Timestamp:
2011-03-30T14:37:36+02:00 (6 years ago)
Author:
nbd
Message:

backport mac80211, hostapd, iw, crda from trunk as of r26369

File:
1 moved

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/hostapd/patches/320-nl80211_multicall_fixes.patch

    r26365 r26370  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -1135,7 +1135,6 @@ nla_put_failure: 
     3@@ -1468,7 +1468,6 @@ nla_put_failure: 
    44 } 
    55  
     
    99        int max_scan_ssids; 
    1010        int ap_supported; 
    11 @@ -1247,7 +1246,6 @@ static int wpa_driver_nl80211_capa(struc 
     11@@ -1613,7 +1612,6 @@ static int wpa_driver_nl80211_capa(struc 
    1212  
    1313        return 0; 
     
    1616  
    1717  
    18  static int wpa_driver_nl80211_init_nl(struct wpa_driver_nl80211_data *drv, 
    19 @@ -1411,6 +1409,7 @@ static void * wpa_driver_nl80211_init(vo 
     18 static int wpa_driver_nl80211_init_nl(struct wpa_driver_nl80211_data *drv) 
     19@@ -1825,6 +1823,7 @@ static void * wpa_driver_nl80211_init(vo 
    2020        drv->monitor_ifidx = -1; 
    2121        drv->monitor_sock = -1; 
     
    2323+       drv->nlmode = NL80211_IFTYPE_STATION; 
    2424  
    25         if (wpa_driver_nl80211_init_nl(drv, ctx)) { 
     25        if (wpa_driver_nl80211_init_nl(drv)) { 
    2626                os_free(drv); 
    27 @@ -1530,32 +1529,32 @@ wpa_driver_nl80211_finish_drv_init(struc 
     27@@ -1988,32 +1987,32 @@ wpa_driver_nl80211_finish_drv_init(struc 
    2828        drv->ifindex = if_nametoindex(bss->ifname); 
    2929        drv->first_bss.ifindex = drv->ifindex; 
     
    3434-                          "use managed mode"); 
    3535-       } 
    36 +       if (drv->nlmode == NL80211_IFTYPE_STATION) { 
    37 +               if (wpa_driver_nl80211_set_mode(bss, IEEE80211_MODE_INFRA) < 0) { 
    38 +                       wpa_printf(MSG_DEBUG, "nl80211: Could not configure driver to " 
    39 +                                  "use managed mode"); 
    40 +               } 
    41   
     36- 
    4237-       if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) { 
    4338-               if (rfkill_is_blocked(drv->rfkill)) { 
     
    5146-                                  "interface '%s' UP", bss->ifname); 
    5247-                       return -1; 
     48+       if (drv->nlmode == NL80211_IFTYPE_STATION) { 
     49+               if (wpa_driver_nl80211_set_mode(bss, IEEE80211_MODE_INFRA) < 0) { 
     50+                       wpa_printf(MSG_DEBUG, "nl80211: Could not configure driver to " 
     51+                                  "use managed mode"); 
     52+               } 
     53+ 
    5354+               if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) { 
    5455+                       if (rfkill_is_blocked(drv->rfkill)) { 
     
    7879+       } 
    7980  
    80         if (nl80211_register_action_frames(drv) < 0) { 
    81                 wpa_printf(MSG_DEBUG, "nl80211: Failed to register Action " 
    82 @@ -2219,13 +2218,9 @@ static int wpa_driver_nl80211_set_key(co 
    83          */ 
    84         if (ret || !set_tx || alg == WPA_ALG_NONE) 
    85                 return ret; 
    86 -#ifdef HOSTAPD 
    87 -       if (addr) 
    88 -               return ret; 
    89 -#else /* HOSTAPD */ 
    90 + 
    91         if (drv->nlmode == NL80211_IFTYPE_AP && addr) 
    92                 return ret; 
    93 -#endif /* HOSTAPD */ 
    94   
    95         msg = nlmsg_alloc(); 
    96         if (!msg) 
    97 @@ -3066,7 +3061,8 @@ static void nl80211_remove_iface(struct  
     81        if (linux_get_ifhwaddr(drv->ioctl_sock, bss->ifname, drv->addr)) 
     82                return -1; 
     83@@ -3738,7 +3737,8 @@ static void nl80211_remove_iface(struct  
    9884  
    9985 #ifdef HOSTAPD 
     
    10591  
    10692        msg = nlmsg_alloc(); 
    107 @@ -3139,7 +3135,8 @@ static int nl80211_create_iface_once(str 
     93@@ -3811,7 +3811,8 @@ static int nl80211_create_iface_once(str 
    10894  
    10995 #ifdef HOSTAPD 
     
    115101  
    116102        if (addr && iftype != NL80211_IFTYPE_MONITOR && 
    117 @@ -4842,6 +4839,7 @@ static void *i802_init(struct hostapd_da 
    118                 return NULL; 
    119   
    120         drv = bss->drv; 
    121 +       drv->nlmode = NL80211_IFTYPE_AP; 
    122         if (linux_br_get(brname, params->ifname) == 0) { 
    123                 wpa_printf(MSG_DEBUG, "nl80211: Interface %s is in bridge %s", 
    124                            params->ifname, brname); 
Note: See TracChangeset for help on using the changeset viewer.