]> git.baikalelectronics.ru Git - kernel.git/commit
i4l: Fix random hard freeze with AVM c4 card
authorKarsten Keil <kkeil@suse.de>
Thu, 18 Oct 2007 10:04:32 +0000 (03:04 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 18 Oct 2007 21:37:17 +0000 (14:37 -0700)
commitfdb3844e496adf5a8997d471e3cea01fe8b34593
tree86cbe65716f8f6181f158b537b5d0ba1e3c07c73
parentd9885f2a772d0821db63bfb701978c151cb7f78d
i4l: Fix random hard freeze with AVM c4 card

The patch
- Includes the call to capilib_data_b3_req in the spinlock. This routine
  in turn calls the offending mq_enqueue routine that triggered the
  freeze if not locked.  This should also fix other indicators of
  incosistent capilib_msgidqueue list, that trigger messages like:
  Oct  5 03:05:57 BERL0 kernel: kcapi: msgid 3019 ncci 0x30301 not on queue
  that we saw several times a day (usually several in a row).
- Fixes all occurrences of c4_dispatch_tx to be called with active
  spinlock, there were some instances where no lock was active. Mostly
  these are in very infrequently called routines, so the additional
  performance penalty is minimal.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Rainer Brestan <rainer.brestan@frequentis.com>
Signed-off-by: Ralf Schlatterbeck <rsc@runtux.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/isdn/hardware/avm/c4.c