summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorKarsten Keil <keil@b1-systems.de>2012-09-13 04:36:20 +0000
committerDavid S. Miller <davem@davemloft.net>2012-09-13 14:58:54 -0400
commit4b921eda53366b319602351ff4d7256fafa4bd1b (patch)
treea60091cf40391abd4eb1452dc840289bd05bfd19 /include/linux
parent930521695c183c8a4da8fe13ce231cf5263b8d98 (diff)
downloadlinux-4b921eda53366b319602351ff4d7256fafa4bd1b.tar.gz
linux-4b921eda53366b319602351ff4d7256fafa4bd1b.tar.bz2
linux-4b921eda53366b319602351ff4d7256fafa4bd1b.zip
mISDN: Fix wrong usage of flush_work_sync while holding locks
It is a bad idea to hold a spinlock and call flush_work_sync. Move the workqueue cleanup outside the spinlock and use cancel_work_sync, on closing the channel this seems to be the more correct function. Remove the never used and constant return value of mISDN_freebchannel. Signed-off-by: Karsten Keil <keil@b1-systems.de> Cc: <stable@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mISDNhw.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/mISDNhw.h b/include/linux/mISDNhw.h
index d0752eca9b44..9d96d5d4dfed 100644
--- a/include/linux/mISDNhw.h
+++ b/include/linux/mISDNhw.h
@@ -183,7 +183,7 @@ extern int mISDN_initbchannel(struct bchannel *, unsigned short,
unsigned short);
extern int mISDN_freedchannel(struct dchannel *);
extern void mISDN_clear_bchannel(struct bchannel *);
-extern int mISDN_freebchannel(struct bchannel *);
+extern void mISDN_freebchannel(struct bchannel *);
extern int mISDN_ctrl_bchannel(struct bchannel *, struct mISDN_ctrl_req *);
extern void queue_ch_frame(struct mISDNchannel *, u_int,
int, struct sk_buff *);