aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/mISDN/hwchannel.c4
-rw-r--r--drivers/isdn/mISDN/l1oip_core.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/isdn/mISDN/hwchannel.c b/drivers/isdn/mISDN/hwchannel.c
index 307bd6e8988b..199f374cf9da 100644
--- a/drivers/isdn/mISDN/hwchannel.c
+++ b/drivers/isdn/mISDN/hwchannel.c
@@ -110,7 +110,7 @@ mISDN_freedchannel(struct dchannel *ch)
110 } 110 }
111 skb_queue_purge(&ch->squeue); 111 skb_queue_purge(&ch->squeue);
112 skb_queue_purge(&ch->rqueue); 112 skb_queue_purge(&ch->rqueue);
113 flush_scheduled_work(); 113 flush_work_sync(&ch->workq);
114 return 0; 114 return 0;
115} 115}
116EXPORT_SYMBOL(mISDN_freedchannel); 116EXPORT_SYMBOL(mISDN_freedchannel);
@@ -143,7 +143,7 @@ mISDN_freebchannel(struct bchannel *ch)
143 mISDN_clear_bchannel(ch); 143 mISDN_clear_bchannel(ch);
144 skb_queue_purge(&ch->rqueue); 144 skb_queue_purge(&ch->rqueue);
145 ch->rcount = 0; 145 ch->rcount = 0;
146 flush_scheduled_work(); 146 flush_work_sync(&ch->workq);
147 return 0; 147 return 0;
148} 148}
149EXPORT_SYMBOL(mISDN_freebchannel); 149EXPORT_SYMBOL(mISDN_freebchannel);
diff --git a/drivers/isdn/mISDN/l1oip_core.c b/drivers/isdn/mISDN/l1oip_core.c
index 5b59796ed250..bd526f664a39 100644
--- a/drivers/isdn/mISDN/l1oip_core.c
+++ b/drivers/isdn/mISDN/l1oip_core.c
@@ -1269,6 +1269,8 @@ release_card(struct l1oip *hc)
1269 if (timer_pending(&hc->timeout_tl)) 1269 if (timer_pending(&hc->timeout_tl))
1270 del_timer(&hc->timeout_tl); 1270 del_timer(&hc->timeout_tl);
1271 1271
1272 cancel_work_sync(&hc->workq);
1273
1272 if (hc->socket_thread) 1274 if (hc->socket_thread)
1273 l1oip_socket_close(hc); 1275 l1oip_socket_close(hc);
1274 1276