This patch is an attempt to fix deadlocks discovered in the core dm.
The problems boil down to md->lock having to be held in too many places, so
I've split it into two: md->suspend_lock and md->io_lock.
suspend_lock is now held throughout dm_suspended() as well as dm_resume()
and dm_swap_table() so that these functions cannot run concurrently:
there's no requirement for that and it added complexity.
DMF_FS_LOCKED becomes redundant: DMF_SUSPENDED provides adequate
protection.
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Avoid another bdget_disk which can deadlock.
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Some code tidy-ups in preparation for the next patches. Change
dm_table_pre/postsuspend_targets to accept NULL. Use dm_suspended()
throughout.
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch adds functionality to check the PCI sub-class code of an
AHCI capable device before disabling AHCI. It fixes a bug where an
ICH7 sata controller is being setup by the BIOS as sub-class 1 (ide)
and the AHCI control registers weren't being initialized, thus causing
an IO error in piix_disable_ahci().
Signed-off-by: Gregory Felix <greg.felix@gmail.com>
* ret has no need to be unsigned in cpufreq_driver_target()
* ret has no need to be initialized in __cpufreq_governor()
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dave Jones <davej@redhat.com>
If the PCDP supplies parity, use it (only none/even/odd supported), and
don't append parity/stop bit arguments unless baud is present.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
sys_reboot() now calls device_suspend(), so it is no longer necessary for
the e1000 driver to register a reboot notifier [in fact doing so results in
e1000_suspend() getting called twice].
(akpm: we need to fast-track this. It's causing ia64 to oops on shutdown)
Signed-off-by: Tony Luck <tony.luck@intel.com>
Cc: <cramerj@intel.com>
Cc: <john.ronciak@intel.com>
Cc: <ganesh.venkatesan@intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch adds per disk queue functionality to cciss. Sometime back I
submitted a patch but it looks like only part of what I needed. In the 2.6
kernel if we have more than one logical volume the driver will Oops during
rmmod. It seems all of the queues actually point back to the same queue.
So after deleting the first volume you hit a null pointer on the second
one.
This has been tested in our labs. There is no difference in performance,
it just fixes the Oops.
Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Older O2Micro bridges have problems with both read prefetch and write burst
depending on the combination of the chipset, bridge, cardbus card. safest is
to disable read prefetch and write burst on those old bridges.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Debugging and description from: Noah Misch <noah@cs.caltech.edu>
When a driver calls pcmcia_request_irq with IRQ_HANDLE_PRESENT unset, it looks
for an open IRQ by request_irq()ing with a dummy handler and NULL dev_info.
free_irq uses dev_info as a key for identifying the handler to free among
those sharing an IRQ, so request_irq returns -EINVAL if dev_info is NULL and
the IRQ may be shared. That unknown error code is the -EINVAL.
It looks like only pcnet_cs and axnet_cs are affected. Most other drivers let
pcmcia_request_irq install their interrupt handlers. sym53c500_cs requests
its IRQ manually, but it cannot share an IRQ.
The appended patch changes pcmcia_request_irq to pass an arbitrary, unique,
non-NULL dev_info with the dummy handler.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
If the product-id-string contains the '+' , '&' ,'_', it was not converted
properly from the /etc/pcmcia/config(pcmcia-cs config file).
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Avoid double iounmap of one address, and disable cis_virt if set_mem_map
failed.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Get the au1000 PCMCIA socket drivers to work.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove duplicates from the device id table.
Signed-off-by: Jarkko Raja <jar@pcuf.fi>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
There are two problems with the message about missing callback functions: it's
not written in correct English and it lacks newline at the end.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
SanDisk ConnectPlus has two functions. Function 0 is prism2 card, currently
only supported by HostAP (not in the kernel). Function 1 is 128M flash,
supported by ide-cs. This patch adds an entry for function 1 to ide-cs.c.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This adds the appropriate FW_LOADER pre-requisite and a separate entry
for ISP24xx support.
Thanks to Adrian Bunk and Jesper Juhl for their efforts in fixing this
quirk.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Only print debug messages when debug_level is set.
Eliminate NULL checks prior to calling kfree.
Signed-off-by: Hal Rosenstock <halr@voltaire.com>
Signed-off-by: Libor Michalek <libor@topspin.com>
If we haven't configured the qla24xx driver, then the Makefile shouldn't
do it for us.
This also means that we can avoid the unnecessary selection of FC_ATTRS.
Debugged by James Bottomley
a) update entry in CREDITS for Jesper Juhl
b) remove email address from source files so it's only listed in credits.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
`gcc -W' likes to complain if the static keyword is not at the beginning of
the declaration. This patch fixes all remaining occurrences of "inline
static" up with "static inline" in the entire kernel tree (140 occurrences in
47 files).
While making this change I came across a few lines with trailing whitespace
that I also fixed up, I have also added or removed a blank line or two here
and there, but there are no functional changes in the patch.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The fb_info struct, as defined in include/linux/fb.h, contains an element
that is supposed to hold the current color map:
struct fb_cmap cmap; /* Current cmap */
This cmap is currently never updated when either fb_set_cmap() or
fb_set_user_cmap() are called. As a result, info->cmap contains the
default cmap that was set by a device driver/fbcon and a userspace
application using the FBIOGETCMAP ioctl will not always get the *currently*
used color map.
The patch fixes this by making sure the cmap is copied to info->cmap after
it is set correctly. It moves most of the code that is responsible for
setting the cmap to fb_set_cmap() and out of fb_set_user_cmap() to avoid
code-duplication.
Signed-off-by: Michal Januszewski <spock@gentoo.org>
Cc: <linux-fbdev-devel@lists.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Currently even when the cursor is disabled (`setterm -cursor off`), it is
still repainted as a black rectangle the size of a single char. This can
be seen, for example, by chvt'ing to a free tty, disabling the cursor and
doing `dd if=3D/dev/urandom of=3D/dev/fb0`.
The patch changes this behaviour by avoiding painting anything when the
cursor is disabled.
Signed-off-by: Michal Januszewski <spock@gentoo.org>
Cc: <linux-fbdev-devel@lists.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Color maps have up to 256 entries. 4096/256 allows for 16 characters per
line. The format for a cmap entry is "%02x%c%4x%4x%4x\n" %02x entry %c
transp %4x red %4x blue %4x green
You can read the color_map with cat fb0/color_map.
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
radeonfb does not clean up EDID sysfs attribute
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fbdev is missing unregister_chrdev() on unload.
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Fix rounding error when mode frequency is very close to monitor limit
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
m8xx_cpm_hostalloc() can't rely on using the coherent DMA allocator early
on boot because the VM is not fully up yet. Change it to use the on-board
DPRAM instead.
The current code relies on the "bootmem_page" allocated by
m8xx_cpm_reset(), which must be killed.
This is done in v2.4 but has never been forward ported to v2.6.
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Pantelis Antoniou <panto@intracom.gr>
Cc: Kumar Gala <kumar.gala@freescale.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rename lgdt3302 to lgdt330x, to make way for the addition of lgdt3303
support in future revisions.
I am changing the name of this module now so that hopefully the name will
be changed before the release of 2.6.13 ... It wouldn't make sense to
release 2.6.13 with the name lgdt3302 in it, which will only be renamed to
lgdt330x in later versions.
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
I noticed that some past changes to the gerneric Video4Linux tuner module
for analog tuners broke my "Multimedia eXtension Board" driver.
The tuner driver was made aware of Video4Linux2 tuning ioctls, but my
driver was not ported and still uses the Video4Linux1 ioctls. This does
not work anymore as intendend, the tuning is currently broken.
The attached patch fixes non-working tuning in MXB driver introduced by
some recent generic tuner changes by replacing Video4Linux1 tuner ioctls
with proper Video4Linux2 tuner ioctls.
- fix non-working tuning in MXB driver introduced by some recent generic
tuner changes by replacing Video4Linux1 tuner ioctls with proper
Video4Linux2 tuner ioctls
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
Cc: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The #define CONFIG_DVB_* are actually CFLAGS set by Makefile. CONFIG_*
namespace is reserved for Kconfig. This renames them back to HAVE_*
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch moves #define from cx88-dvb.c and saa7134-dvb.c into Makefile as
CFLAGS, allowing code compatability with video4linux cvs.
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch adds a missing #ifdef to saa7134-dvb.c (thanks to Mauro Carvalho
Chehab) and changes #if to #ifdef in both files.
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
warning: `i2c_readbytes' defined but not used
This code will either be re-enabled or deleted in a future patch.
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Select the RF input connector based upon the type of demodulation selected.
ANT RF connector is selected for 8-VSB and CABLE RF connector is selected
for QAM64/QAM256. This only affects the cards that use the Microtune 4042
tuner.
Signed-off-by: Mac Michaels <wmichaels1@earthlink.net>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove the dvb_pll_desc from the frontend and replace with a
pll_set-callback to isolate the tuner programming from the frontend.
Signed-off-by: Mac Michaels <wmichaels1@earthlink.net>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove redundant bttv_reset_audio() which caused the computer to freeze
with some bt8xx based DVB cards when loading the bttv driver.
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
VIDEO_SAA7134=y and SOUND=n results in the following compile error:
LD .tmp_vmlinux1
drivers/built-in.o(.text+0x4fafcb): In function `saa7134_initdev':
: undefined reference to `unregister_sound_dsp'
drivers/built-in.o(.text+0x4fb141): In function `saa7134_initdev':
: undefined reference to `register_sound_dsp'
drivers/built-in.o(.text+0x4fb17c): In function `saa7134_initdev':
: undefined reference to `register_sound_mixer'
drivers/built-in.o(.text+0x4fb339): In function `saa7134_finidev':
: undefined reference to `unregister_sound_mixer'
drivers/built-in.o(.text+0x4fb341): In function `saa7134_finidev':
: undefined reference to `unregister_sound_dsp'
make: *** [.tmp_vmlinux1] Error 1
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch contains the following possible cleanups:
- make two needlessly global structs static
- #if 0 the EXPORT_SYMBOL'ed but unused function tveeprom_dump
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
It is a small modification to the table that defines the way that the
LG-Z201 tuner is controlled for the DVICO Fusion DVB-T1 tuner card.
I believe that a mistake was made when the dvb tuner code was reorganised
(to use a generic table for the tuner information instead of inline code)
and as a result, the DVICO card doesn't tune properly.
The modification I have made to the table makes it behave like it did with
the old inline tuner code that worked. The patch is on top of the 2.6.12
kernel.
Signed-off-by: Gregory B Frost <frosts1@hotkey.net.au>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Eliminate sparse warnings in SA client
Signed-off-by: Hal Rosenstock <halr@voltaire.com>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>