Remove unnecessary ifname parameter from sta_add() driver op
[mech_eap.git] / src / drivers / driver_nl80211.c
index c74adf7..e566703 100644 (file)
@@ -1293,6 +1293,7 @@ failed:
        nl_cache_free(drv->nl_cache);
        nl_handle_destroy(drv->nl_handle);
        nl_cb_put(drv->nl_cb);
+       eloop_unregister_read_sock(nl_socket_get_fd(drv->nl_handle_event));
 
        os_free(drv);
        return NULL;
@@ -2770,7 +2771,7 @@ nla_put_failure:
 }
 
 
-static int wpa_driver_nl80211_sta_add(const char *ifname, void *priv,
+static int wpa_driver_nl80211_sta_add(void *priv,
                                      struct hostapd_sta_add_params *params)
 {
        struct i802_bss *bss = priv;
@@ -2785,7 +2786,7 @@ static int wpa_driver_nl80211_sta_add(const char *ifname, void *priv,
        genlmsg_put(msg, 0, 0, genl_family_get_id(drv->nl80211), 0,
                    0, NL80211_CMD_NEW_STATION, 0);
 
-       NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, if_nametoindex(ifname));
+       NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, if_nametoindex(bss->ifname));
        NLA_PUT(msg, NL80211_ATTR_MAC, ETH_ALEN, params->addr);
        NLA_PUT_U16(msg, NL80211_ATTR_STA_AID, params->aid);
        NLA_PUT(msg, NL80211_ATTR_STA_SUPPORTED_RATES, params->supp_rates_len,
@@ -4682,8 +4683,7 @@ static enum nl80211_iftype wpa_driver_nl80211_if_type(
 }
 
 
-static int wpa_driver_nl80211_if_add(const char *iface, void *priv,
-                                    enum wpa_driver_if_type type,
+static int wpa_driver_nl80211_if_add(void *priv, enum wpa_driver_if_type type,
                                     const char *ifname, const u8 *addr,
                                     void *bss_ctx, void **drv_priv)
 {
@@ -4714,7 +4714,7 @@ static int wpa_driver_nl80211_if_add(const char *iface, void *priv,
        if (type == WPA_IF_AP_BSS) {
                if (linux_set_iface_flags(drv->ioctl_sock, ifname, 1)) {
                        nl80211_remove_iface(drv, ifidx);
-                       os_free(bss);
+                       os_free(new_bss);
                        return -1;
                }
                os_strlcpy(new_bss->ifname, ifname, IFNAMSIZ);