android_kernel_motorola_sm6225/drivers
NeilBrown b2d2c4cead Fix problem with waiting while holding rcu read lock in md/bitmap.c
A recent patch to protect the rdev list with rcu locking leaves us
with a problem because we can sleep on memalloc while holding the
rcu lock.

The rcu lock is only needed while walking the linked list as
uninteresting devices (failed or spares) can be removed at any time.

So only take the rcu lock while actually walking the linked list.
Take a refcount on the rdev during the time when we drop the lock
and do the memalloc to start IO.
When we return to the locked code, all the interesting devices
on the list will not have moved, so we can simply use
list_for_each_continue_rcu to pick up where we left off.

Signed-off-by: NeilBrown <neilb@suse.de>
2008-09-01 12:48:13 +10:00
..
accessibility
acpi Merge branches 'acpica-release-fixes', 'ec-fix', 'dock', 'irq-bounds', 'thermal-fix', 'wmi' and 'acpi-cleanups' into release-2.6.27 2008-08-15 03:30:00 +02:00
amba
ata [libata] pata_it821x: fix warning 2008-08-22 02:33:23 -04:00
atm removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
auxdisplay auxdisplay: small cleanups 2008-07-24 10:47:41 -07:00
base PM: Remove WARN_ON from device_pm_add 2008-08-21 10:15:37 -07:00
block Revert "pktcdvd: push BKL down into driver" 2008-08-27 13:42:00 -07:00
bluetooth [Bluetooth] Consolidate maintainers information 2008-08-18 13:23:53 +02:00
cdrom cdrom: handle TOC 2008-08-18 21:40:04 +02:00
char tty: Fix termios tty window resize race with pty/tty pair 2008-08-27 14:37:09 -07:00
clocksource
connector
cpufreq [CPUFREQ] Fix -Wshadow warning in conservative governor. 2008-08-08 16:00:48 -04:00
cpuidle cpuidle: Make ladder governor honor latency requirements fully 2008-08-15 21:25:35 +02:00
crypto crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() 2008-08-13 22:02:26 +10:00
dca
dio
dma Merge branch 'for-rmk' of git://git.marvell.com/orion 2008-08-09 18:03:13 +01:00
edac removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
eisa
firewire firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
firmware firmware/memmap: cleanup 2008-08-12 16:07:31 -07:00
gpio gpio: max732x driver 2008-07-25 10:53:30 -07:00
gpu Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2008-08-27 14:28:45 -07:00
hid Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpads 2008-08-08 16:23:01 -04:00
hwmon hwmon-vid: Fix AMD K8 VID decoding 2008-08-15 11:50:15 -07:00
i2c i2c: Prevent log spam on some DVB adapters 2008-08-28 08:33:23 +02:00
ide sgiioc4: fixup message on resource allocation failure 2008-08-18 21:40:04 +02:00
ieee1394 ieee1394: sbp2: let nodemgr retry node updates during bus reset series 2008-08-19 18:47:56 +02:00
infiniband IB/mlx4: Actually return L_Key and R_Key for fast register MRs 2008-08-27 14:40:38 -07:00
input Blackfin arch: move include/asm-blackfin header files to arch/blackfin 2008-08-27 10:51:02 +08:00
isdn Add DIP switch readout for HFC-4S IOB4ST 2008-08-02 16:40:37 +02:00
leds [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
lguest lguest: update commentry 2008-08-26 00:19:28 +10:00
macintosh remove unnecessary <linux/hdreg.h> includes 2008-08-05 18:16:58 +02:00
mca
md Fix problem with waiting while holding rcu read lock in md/bitmap.c 2008-09-01 12:48:13 +10:00
media Merge Linus' latest into master 2008-08-08 19:18:18 +01:00
memstick memstick: use fully asynchronous request processing 2008-07-26 12:00:04 -07:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-27 10:04:52 -07:00
mfd removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
misc Fix oops in acer_wmi driver (acer_wmi_init) 2008-08-23 21:54:00 -07:00
mmc sdricoh_cs: removed unused #include <version.h> 2008-08-17 20:01:35 +02:00
mtd removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-08-27 17:38:07 -07:00
nubus
of powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices 2008-08-20 09:50:21 +10:00
oprofile powerpc/cell/oprofile: Avoid double vfree of profile buffer 2008-08-26 10:24:46 +10:00
parisc
parport make parport_cs_release() static 2008-07-26 12:00:11 -07:00
pci PCI: fix reference leak in pci_get_dev_by_id() 2008-08-21 15:22:46 -07:00
pcmcia [ARM] 5198/1: PalmTX: PCMCIA fixes 2008-08-16 16:35:33 +01:00
pnp PNP: fix formatting of dbg_pnp_show_resources() output 2008-08-01 12:46:41 -07:00
power [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ps3
rapidio
regulator regulator: TI bq24022 Li-Ion Charger driver 2008-07-30 10:10:23 +01:00
rtc removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-08-27 17:38:07 -07:00
sbus sparc/drivers: use linux/of_device.h instead of asm/of_device.h 2008-08-11 14:30:53 -07:00
scsi sg: restore command permission for TYPE_SCANNER 2008-08-27 09:50:19 +02:00
serial Blackfin arch: move include/asm-blackfin header files to arch/blackfin 2008-08-27 10:51:02 +08:00
sh sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
sn
spi spi: bugfix spi_add_device() with duplicate chipselects 2008-08-15 08:35:44 -07:00
ssb ssb: allow compilation on systems without PCI 2008-08-18 11:05:13 -04:00
tc
telephony ixj: push BKL into driver and wrap ioctls 2008-07-25 10:53:43 -07:00
thermal
uio UIO: generic irq handling for some uio platform devices 2008-08-21 10:15:39 -07:00
usb removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
video Blackfin arch: move include/asm-blackfin header files to arch/blackfin 2008-08-27 10:51:02 +08:00
virtio virtio_balloon: fix towards_target when deflating balloon 2008-08-26 00:19:25 +10:00
w1
watchdog [WATCHDOG] removed unused #include <version.h> 2008-08-26 20:32:02 +00:00
xen stop_machine: wean Xen off stop_machine_run 2008-08-26 00:19:27 +10:00
zorro
Kconfig
Makefile USB: Add MUSB and TUSB support 2008-08-13 17:33:00 -07:00