chan_unistim: Fix build failure due to ACL changes.
authorJoshua Colp <jcolp@digium.com>
Tue, 5 May 2015 18:34:43 +0000 (15:34 -0300)
committerJoshua Colp <jcolp@digium.com>
Tue, 5 May 2015 20:01:31 +0000 (17:01 -0300)
Change-Id: I57081045c72b9fcf12d5c84493278f9272c31b32

channels/chan_unistim.c

index 51f811c..82b3fce 100644 (file)
@@ -6399,6 +6399,7 @@ static void delete_device(struct unistim_device *d)
 {
        struct unistim_line *l;
        struct unistim_subchannel *sub;
+       struct unistimsession *s;
 
        if (unistimdebug) {
                ast_verb(0, "Removing device '%s'\n", d->name);
@@ -6406,25 +6407,20 @@ static void delete_device(struct unistim_device *d)
        AST_LIST_LOCK(&d->subs);
        AST_LIST_TRAVERSE_SAFE_BEGIN(&d->subs, sub, list){
                if (sub->subtype == SUB_REAL) {
-                       if (!sub) {
-                               ast_log(LOG_ERROR, "Device '%s' without a subchannel !, aborting\n",
-                                               d->name);
-                               ast_config_destroy(cfg);
-                               return 0;
-                       }
                        if (sub->owner) {
                                ast_log(LOG_WARNING,
                                                "Device '%s' was not deleted : a call is in progress. Try again later.\n",
                                                d->name);
-                               d = d->next;
-                               continue;
+                               AST_LIST_UNLOCK(&d->subs);
+                               return;
                        }
                }
                if (sub->subtype == SUB_THREEWAY) {
                        ast_log(LOG_WARNING,
                                        "Device '%s' with threeway call subchannels allocated, aborting.\n",
                                        d->name);
-                       break;
+                       AST_LIST_UNLOCK(&d->subs);
+                       return;
                }
                AST_LIST_REMOVE_CURRENT(list);
                ast_mutex_destroy(&sub->lock);