{
struct wireless_interface *vif;
+ uloop_timeout_cancel(&wdev->script_check);
uloop_timeout_cancel(&wdev->timeout);
wireless_complete_kill_request(wdev);
free(wdev->data);
return;
drv = calloc_a(sizeof(*drv),
- &name_str, strlen(name) + 1,
- &script_str, strlen(script) + 1,
&dev_config, sizeof(*dev_config) + sizeof(void *),
- &iface_config, sizeof(*iface_config) + sizeof(void *));
+ &iface_config, sizeof(*iface_config) + sizeof(void *),
+ &name_str, strlen(name) + 1,
+ &script_str, strlen(script) + 1);
drv->name = strcpy(name_str, name);
drv->script = strcpy(script_str, script);
INIT_LIST_HEAD(&wdev->script_proc);
vlist_init(&wdev->interfaces, avl_strcmp, vif_update);
wdev->interfaces.keep_old = true;
- wdev->interfaces.no_delete = true;
vlist_add(&wireless_devices, &wdev->node, wdev->name);
wdev->timeout.cb = wireless_device_setup_timeout;