• Michael Buesch's avatar
    [PATCH] Workaround CAPI subsystem locking issue · 053b47ff
    Michael Buesch authored
    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: default avatarMichael Buesch <mb@bu3sch.de>
    Cc: Kai Germaschewski <kai.germaschewski@gmx.de>
    Cc: Karsten Keil <kkeil@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    053b47ff
capi.c 37.8 KB