diff options
author | 2021-08-05 18:13:32 +0530 | |
---|---|---|
committer | 2021-08-05 22:33:00 -0300 | |
commit | 2638a32348bbb1c384dbbd515fd2b12c155f0188 (patch) | |
tree | 9fb7afbc32e8c6172a2cac36a79c88e51b5aefb1 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | RDMA/hns: Fix the double unlock problem of poll_sem (diff) | |
download | wireguard-linux-2638a32348bbb1c384dbbd515fd2b12c155f0188.tar.xz wireguard-linux-2638a32348bbb1c384dbbd515fd2b12c155f0188.zip |
RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs.
Previous atomic increment/decrement logic expects the atomic count to be
'0' after the final decrement.
Replacing atomic count with refcount does not allow that, as
refcount_dec() considers count of 1 as underflow and triggers a kernel
splat.
Fix the current refcount logic by using the usual pattern of decrementing
the refcount and test if it is '0' on the final deref in
c4iw_destroy_cq(). Use wait_for_completion() instead of wait_event().
Fixes: 7183451f846d ("RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting")
Link: https://lore.kernel.org/r/1628167412-12114-1-git-send-email-dakshaja@chelsio.com
Signed-off-by: Dakshaja Uppalapati <dakshaja@chelsio.com>
Reviewed-by: Potnuri Bharat Teja <bharat@chelsio.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions