nl80211: Add forgotten deinit code on failure path
authorJouni Malinen <jouni.malinen@atheros.com>
Fri, 17 Dec 2010 11:49:38 +0000 (13:49 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 17 Dec 2010 11:49:38 +0000 (13:49 +0200)
src/drivers/driver_nl80211.c

index 7db3434..0258d35 100644 (file)
@@ -5517,6 +5517,8 @@ static void *i802_init(struct hostapd_data *hapd,
 
 failed:
        nl80211_remove_monitor_interface(drv);
+       rfkill_deinit(drv->rfkill);
+       netlink_deinit(drv->netlink);
        if (drv->ioctl_sock >= 0)
                close(drv->ioctl_sock);
 
@@ -5524,6 +5526,7 @@ failed:
        nl_cache_free(drv->nl_cache);
        nl80211_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;