linux/drivers
Roland Dreier f47e22c6e4 IB/fmr: ib_flush_fmr_pool() may wait too long
ib_flush_fmr_pool() stashes away the request generation number
properly, but then goes ahead and rereads it every time it tests
whether the flush generation number has caught up.  This means that
there is a theoretical possibility of livelock, if the request
generation number keeps getting bumped and the flush generation number
never catches up.  The fix is simple: use the request generation
number read at the beginning of the function.

Also, atomic_inc() followed by atomic_read() can be replaced with
atomic_int_return().  There's no real requirement for atomicity here
but we might as well shrink the code.

This bug was discovered using David Binderman's list of "set but never
used" warnings from icc.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-12-12 11:50:19 -08:00
..
acorn i2c: Discard the i2c algo del_bus wrappers 2006-12-10 21:21:33 +01:00
acpi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
amba
ata [PATCH] libata: Incorrect timing computation for PIO5/6 2006-12-07 07:37:07 -05:00
atm [ATM]: Ignore generated file pca200e_ecd.bin2 2006-12-11 14:34:35 -08:00
base Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
block [PATCH] struct path: convert nbd 2006-12-08 08:28:47 -08:00
bluetooth [PATCH] lockdep: annotate bcsp driver 2006-12-07 08:39:34 -08:00
cdrom [PATCH] drivers/cdrom/*: trivial vsnprintf() conversion 2006-12-07 08:39:35 -08:00
char [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector
cpufreq [PATCH] hotplug CPU: clean up hotcpu_notifier() use 2006-12-07 08:39:39 -08:00
crypto [PATCH] geode crypto is PCI device 2006-12-10 09:55:40 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
eisa
fc4
firmware
hid [PATCH] Generic HID layer - build 2006-12-08 10:43:20 -08:00
hwmon [PATCH] severing fs.h, radix-tree.h -> sched.h 2006-12-04 02:00:24 -05:00
i2c i2c: Fix OMAP clock prescaler to match the comment 2006-12-10 21:21:34 +01:00
ide [PATCH] remove blk_queue_activity_fn 2006-12-12 10:22:23 +01:00
ieee1394 i2c: Discard the i2c algo del_bus wrappers 2006-12-10 21:21:33 +01:00
infiniband IB/fmr: ib_flush_fmr_pool() may wait too long 2006-12-12 11:50:19 -08:00
input [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem 2006-12-12 10:43:21 -08:00
isdn [PATCH] Don't build some broken ISDN drivers on big endian MIPS 2006-12-10 09:55:42 -08:00
kvm [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
leds [PATCH] PCEngines WRAP LED Support 2006-12-07 08:39:36 -08:00
macintosh Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-08 01:07:56 -05:00
mca
md [CRYPTO] dm-crypt: Select CRYPTO_CBC 2006-12-10 10:18:57 -08:00
media Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2006-12-12 09:57:55 -08:00
message [PATCH] kernel-doc: fix fusion and i2o docs 2006-12-07 08:39:40 -08:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] tifm: fix NULL ptr and style 2006-12-07 08:39:33 -08:00
mmc AT91 MMC update for 2.6.19 2006-12-11 12:43:35 +01:00
mtd [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
net [PATCH] net, 8139too.c: fix netpoll deadlock 2006-12-12 08:10:44 -08:00
nubus
oprofile [PATCH] struct path: convert oprofile 2006-12-08 08:28:48 -08:00
parisc
parport [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pci [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pcmcia [PATCH] struct path: convert pcmcia 2006-12-08 08:28:48 -08:00
pnp [PATCH] struct path: convert isapnp 2006-12-08 08:28:46 -08:00
ps3 [POWERPC] ps3: Add vuart support 2006-12-11 13:49:53 +11:00
rapidio
rtc rtc: rtc-sh: alarm support. 2006-12-12 08:42:08 +09:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2006-12-08 11:21:55 -08:00
sbus [PATCH] struct path: convert sbus 2006-12-08 08:28:49 -08:00
scsi [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
serial sh: SH-MobileR SH7722 CPU support. 2006-12-12 08:42:09 +09:00
sh
sn
spi [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems 2006-12-10 09:55:40 -08:00
tc [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
telephony [PATCH] struct path: convert ixj 2006-12-08 08:28:46 -08:00
usb [PATCH] Generic HID layer - build 2006-12-08 10:43:20 -08:00
video Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2006-12-12 09:57:55 -08:00
w1 [PATCH] better CONFIG_W1_SLAVE_DS2433_CRC handling 2006-12-07 08:39:43 -08:00
zorro [PATCH] struct path: convert zorro 2006-12-08 08:28:50 -08:00
Kconfig [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
Makefile [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00