hostapd: update to git version 2013-03-02
[openwrt/staging/wigyori.git] / package / network / services / hostapd / patches / 300-nl80211_multicall_fixes.patch
1 --- a/src/drivers/driver_nl80211.c
2 +++ b/src/drivers/driver_nl80211.c
3 @@ -3129,6 +3129,7 @@ static void * wpa_driver_nl80211_init(vo
4 drv->monitor_sock = -1;
5 drv->eapol_tx_sock = -1;
6 drv->ap_scan_as_station = NL80211_IFTYPE_UNSPECIFIED;
7 + drv->nlmode = NL80211_IFTYPE_STATION;
8
9 if (wpa_driver_nl80211_init_nl(drv)) {
10 os_free(drv);
11 @@ -3446,17 +3447,12 @@ static void wpa_driver_nl80211_send_rfki
12 wpa_supplicant_event(timeout_ctx, EVENT_INTERFACE_DISABLED, NULL);
13 }
14
15 -
16 static int
17 -wpa_driver_nl80211_finish_drv_init(struct wpa_driver_nl80211_data *drv)
18 +wpa_driver_nl80211_finish_drv_init_sta(struct wpa_driver_nl80211_data *drv,
19 + int *send_rfkill_event)
20 {
21 struct i802_bss *bss = &drv->first_bss;
22 - int send_rfkill_event = 0;
23
24 - drv->ifindex = if_nametoindex(bss->ifname);
25 - drv->first_bss.ifindex = drv->ifindex;
26 -
27 -#ifndef HOSTAPD
28 /*
29 * Make sure the interface starts up in station mode unless this is a
30 * dynamically added interface (e.g., P2P) that was already configured
31 @@ -3475,7 +3471,7 @@ wpa_driver_nl80211_finish_drv_init(struc
32 "interface '%s' due to rfkill",
33 bss->ifname);
34 drv->if_disabled = 1;
35 - send_rfkill_event = 1;
36 + *send_rfkill_event = 1;
37 } else {
38 wpa_printf(MSG_ERROR, "nl80211: Could not set "
39 "interface '%s' UP", bss->ifname);
40 @@ -3485,7 +3481,19 @@ wpa_driver_nl80211_finish_drv_init(struc
41
42 netlink_send_oper_ifla(drv->global->netlink, drv->ifindex,
43 1, IF_OPER_DORMANT);
44 -#endif /* HOSTAPD */
45 +}
46 +
47 +static int
48 +wpa_driver_nl80211_finish_drv_init(struct wpa_driver_nl80211_data *drv)
49 +{
50 + struct i802_bss *bss = &drv->first_bss;
51 + int send_rfkill_event = 0;
52 +
53 + drv->ifindex = if_nametoindex(bss->ifname);
54 + drv->first_bss.ifindex = drv->ifindex;
55 +
56 + if (drv->nlmode == NL80211_IFTYPE_STATION)
57 + wpa_driver_nl80211_finish_drv_init_sta(drv, &send_rfkill_event);
58
59 if (wpa_driver_nl80211_capa(drv))
60 return -1;