linux_old1/drivers/isdn/capi
Michael Buesch 053b47ff24 [PATCH] Workaround CAPI subsystem locking issue
I think the following patch should go into the kernel, until the ISDN/CAPI
guys create the real fix for this issue.

The issue is a concurrency issue with some internal CAPI data structure
which can crash the kernel.

On my FritzCard DSL with the AVM driver it crashes about once a day without
this workaround patch.  With this workaround patch it's rock-stable (at
least on UP, but I don't see why this shouldn't work on SMP as well.  But
maybe I'm missing something.)

This workaround is kind of a sledgehammer which inserts a global lock to
wrap around all the critical sections.  Of course, this is a scalability
issue, if you have many ISDN/CAPI cards.  But it prevents a crash.  So I
vote for this fix to get merged, until people come up with a better
solution.  Better have a stable kernel that's less scalable, than a
crashing and useless kernel.

This bug is in the kernel since 2.6.15 (at least).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Cc: Kai Germaschewski <kai.germaschewski@gmx.de>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:35 -08:00
..
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
capi.c [PATCH] Workaround CAPI subsystem locking issue 2007-02-12 09:48:35 -08:00
capidrv.c [PATCH] isdn/capi: use ARRAY_SIZE when appropriate 2007-02-12 09:48:34 -08:00
capidrv.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
capifs.c [PATCH] inode-diet: Eliminate i_blksize from the inode structure 2006-09-27 08:26:18 -07:00
capifs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
capilib.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
capiutil.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kcapi.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
kcapi.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kcapi_proc.c [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00