https://github.com/torvalds/linux
Revision b2f49033d80c952a0ffc2d5647bc1a0b8a09c1b3 authored by Peter Staubach on 17 February 2006, 21:52:36 UTC, committed by Linus Torvalds on 17 February 2006, 21:59:26 UTC
Fix a deadlock possible in the ext2 file system implementation.  This
deadlock occurs when a file is removed from an ext2 file system which was
mounted with the "sync" mount option.

The problem is that ext2_xattr_delete_inode() was invoking the routine,
sync_dirty_buffer(), using a buffer head which was previously locked via
lock_buffer().  The first thing that sync_dirty_buffer() does is to lock
the buffer head that it was passed.  It does this via lock_buffer().  Oops.

The solution is to unlock the buffer head in ext2_xattr_delete_inode()
before invoking sync_dirty_buffer().  This makes the code in
ext2_xattr_delete_inode() obey the same locking rules as all other callers
of sync_dirty_buffer() in the ext2 file system implementation.

Signed-off-by: Peter Staubach <staubach@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 parent 614f8f5
Raw File
Tip revision: b2f49033d80c952a0ffc2d5647bc1a0b8a09c1b3 authored by Peter Staubach on 17 February 2006, 21:52:36 UTC
[PATCH] fix deadlock in ext2
Tip revision: b2f4903
README.saa7134


What is it?
===========

This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV
boards.  See http://www.semiconductors.philips.com/pip/saa7134hl for a
description.


Status
======

Almost everything is working.  video, sound, tuner, radio, mpeg ts, ...

As with bttv, card-specific tweaks are needed.  Check CARDLIST for a
list of known TV cards and saa7134-cards.c for the drivers card
configuration info.


Build
=====

Pick up videodev + v4l2 patches from http://bytesex.org/patches/.
Configure, build, install + boot the new kernel.  You'll need at least
these config options:

	CONFIG_I2C=m
	CONFIG_VIDEO_DEV=m

Type "make" to build the driver now.  "make install" installs the
driver.  "modprobe saa7134" should load it.  Depending on the card you
might have to pass card=<nr> as insmod option, check CARDLIST for
valid choices.


Changes / Fixes
===============

Please mail me unified diffs ("diff -u") with your changes, and don't
forget to tell me what it changes / which problem it fixes / whatever
it is good for ...


Known Problems
==============

* The tuner for the flyvideos isn't detected automatically and the
  default might not work for you depending on which version you have.
  There is a tuner= insmod option to override the driver's default.

Card Variations:
================

Cards can use either of these two crystals (xtal):
 - 32.11 MHz -> .audio_clock=0x187de7
 - 24.576MHz -> .audio_clock=0x200000
(xtal * .audio_clock = 51539600)

Some details about 30/34/35:

 - saa7130 - low-price chip, doesn't have mute, that is why all those
 cards should have .mute field defined in their tuner structure.

 - saa7134 - usual chip

 - saa7133/35 - saa7135 is probably a marketing decision, since all those
 chips identifies itself as 33 on pci.

Credits
=======

andrew.stevens@philips.com + werner.leeb@philips.com for providing
saa7134 hardware specs and sample board.


Have fun,

  Gerd

--
Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
back to top