Revision 42ab01c31526ac1d06d193f81a498bf3cf2acfe4 authored by Jack Morgenstein on 01 December 2008, 18:09:37 UTC, committed by Roland Dreier on 01 December 2008, 18:09:37 UTC
When resizing a CQ, MTTs associated with the old CQE buffer were not freed. As a result, if any app used resize CQ repeatedly, all MTTs were eventually exhausted, which led to all memory registration operations failing until the driver is reloaded. Once the RESIZE_CQ command returns successfully from FW, FW no longer accesses the old CQ buffer, so it is safe to deallocate the MTT entries used by the old CQ buffer. Finally, if the RESIZE_CQ command fails, the MTTs allocated for the new CQEs buffer also need to be de-allocated. This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=1416>. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
1 parent 9a5aa62
File | Mode | Size |
---|---|---|
lzo | ||
reed_solomon | ||
zlib_deflate | ||
zlib_inflate | ||
.gitignore | -rw-r--r-- | 51 bytes |
Kconfig | -rw-r--r-- | 3.1 KB |
Kconfig.debug | -rw-r--r-- | 29.6 KB |
Kconfig.kgdb | -rw-r--r-- | 1.8 KB |
Makefile | -rw-r--r-- | 2.8 KB |
argv_split.c | -rw-r--r-- | 1.8 KB |
audit.c | -rw-r--r-- | 1.2 KB |
bcd.c | -rw-r--r-- | 257 bytes |
bitmap.c | -rw-r--r-- | 30.5 KB |
bitrev.c | -rw-r--r-- | 2.1 KB |
bug.c | -rw-r--r-- | 4.1 KB |
bust_spinlocks.c | -rw-r--r-- | 588 bytes |
check_signature.c | -rw-r--r-- | 599 bytes |
cmdline.c | -rw-r--r-- | 3.6 KB |
cpumask.c | -rw-r--r-- | 2.5 KB |
crc-ccitt.c | -rw-r--r-- | 3.0 KB |
crc-itu-t.c | -rw-r--r-- | 2.8 KB |
crc-t10dif.c | -rw-r--r-- | 2.9 KB |
crc16.c | -rw-r--r-- | 2.8 KB |
crc32.c | -rw-r--r-- | 14.9 KB |
crc32defs.h | -rw-r--r-- | 1.0 KB |
crc7.c | -rw-r--r-- | 2.3 KB |
ctype.c | -rw-r--r-- | 1.3 KB |
debug_locks.c | -rw-r--r-- | 1.1 KB |
debugobjects.c | -rw-r--r-- | 21.3 KB |
dec_and_lock.c | -rw-r--r-- | 806 bytes |
devres.c | -rw-r--r-- | 7.7 KB |
div64.c | -rw-r--r-- | 2.3 KB |
dump_stack.c | -rw-r--r-- | 290 bytes |
dynamic_printk.c | -rw-r--r-- | 9.6 KB |
extable.c | -rw-r--r-- | 1.9 KB |
fault-inject.c | -rw-r--r-- | 7.9 KB |
find_next_bit.c | -rw-r--r-- | 6.4 KB |
gen_crc32table.c | -rw-r--r-- | 1.8 KB |
genalloc.c | -rw-r--r-- | 5.3 KB |
halfmd4.c | -rw-r--r-- | 2.0 KB |
hexdump.c | -rw-r--r-- | 6.1 KB |
hweight.c | -rw-r--r-- | 1.6 KB |
idr.c | -rw-r--r-- | 20.3 KB |
inflate.c | -rw-r--r-- | 38.6 KB |
int_sqrt.c | -rw-r--r-- | 533 bytes |
iomap.c | -rw-r--r-- | 7.4 KB |
iomap_copy.c | -rw-r--r-- | 2.1 KB |
iommu-helper.c | -rw-r--r-- | 2.0 KB |
ioremap.c | -rw-r--r-- | 2.1 KB |
irq_regs.c | -rw-r--r-- | 578 bytes |
kasprintf.c | -rw-r--r-- | 680 bytes |
kernel_lock.c | -rw-r--r-- | 2.9 KB |
klist.c | -rw-r--r-- | 8.6 KB |
kobject.c | -rw-r--r-- | 20.7 KB |
kobject_uevent.c | -rw-r--r-- | 8.0 KB |
kref.c | -rw-r--r-- | 1.9 KB |
libcrc32c.c | -rw-r--r-- | 6.4 KB |
list_debug.c | -rw-r--r-- | 1.5 KB |
lmb.c | -rw-r--r-- | 11.6 KB |
locking-selftest-hardirq.h | -rw-r--r-- | 207 bytes |
locking-selftest-mutex.h | -rw-r--r-- | 120 bytes |
locking-selftest-rlock-hardirq.h | -rw-r--r-- | 74 bytes |
locking-selftest-rlock-softirq.h | -rw-r--r-- | 74 bytes |
locking-selftest-rlock.h | -rw-r--r-- | 158 bytes |
locking-selftest-rsem.h | -rw-r--r-- | 163 bytes |
locking-selftest-softirq.h | -rw-r--r-- | 207 bytes |
locking-selftest-spin-hardirq.h | -rw-r--r-- | 73 bytes |
locking-selftest-spin-softirq.h | -rw-r--r-- | 73 bytes |
locking-selftest-spin.h | -rw-r--r-- | 118 bytes |
locking-selftest-wlock-hardirq.h | -rw-r--r-- | 74 bytes |
locking-selftest-wlock-softirq.h | -rw-r--r-- | 74 bytes |
locking-selftest-wlock.h | -rw-r--r-- | 158 bytes |
locking-selftest-wsem.h | -rw-r--r-- | 163 bytes |
locking-selftest.c | -rw-r--r-- | 28.6 KB |
parser.c | -rw-r--r-- | 6.0 KB |
percpu_counter.c | -rw-r--r-- | 3.2 KB |
plist.c | -rw-r--r-- | 2.8 KB |
prio_heap.c | -rw-r--r-- | 1.4 KB |
prio_tree.c | -rw-r--r-- | 12.2 KB |
proportions.c | -rw-r--r-- | 9.3 KB |
radix-tree.c | -rw-r--r-- | 30.9 KB |
random32.c | -rw-r--r-- | 3.8 KB |
ratelimit.c | -rw-r--r-- | 1.3 KB |
rbtree.c | -rw-r--r-- | 8.6 KB |
reciprocal_div.c | -rw-r--r-- | 159 bytes |
rwsem-spinlock.c | -rw-r--r-- | 6.8 KB |
rwsem.c | -rw-r--r-- | 6.4 KB |
scatterlist.c | -rw-r--r-- | 11.8 KB |
sha1.c | -rw-r--r-- | 2.4 KB |
show_mem.c | -rw-r--r-- | 1.4 KB |
smp_processor_id.c | -rw-r--r-- | 1.1 KB |
sort.c | -rw-r--r-- | 2.5 KB |
spinlock_debug.c | -rw-r--r-- | 6.8 KB |
string.c | -rw-r--r-- | 13.6 KB |
string_helpers.c | -rw-r--r-- | 1.7 KB |
swiotlb.c | -rw-r--r-- | 23.7 KB |
syscall.c | -rw-r--r-- | 2.4 KB |
textsearch.c | -rw-r--r-- | 9.5 KB |
ts_bm.c | -rw-r--r-- | 5.3 KB |
ts_fsm.c | -rw-r--r-- | 10.6 KB |
ts_kmp.c | -rw-r--r-- | 4.3 KB |
vsprintf.c | -rw-r--r-- | 29.0 KB |
Computing file changes ...