summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/rdmavt/cq.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 23:18:42 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 23:18:42 +0300
commitd3ea547853852481dc5eba6d4cb13adab1564d0b (patch)
tree01d093ed7c8e6976b6c4150a97c0a02a41b2ff33 /drivers/infiniband/sw/rdmavt/cq.c
parent4d5b57e05a67c3cfd8e2b2a64ca356245a15b1c6 (diff)
downloadlinux-d3ea547853852481dc5eba6d4cb13adab1564d0b.tar.xz
rdma: fix buggy code that the compiler warns about
Get rid of this warning: drivers/infiniband/sw/rdmavt/cq.c: In function ‘rvt_cq_exit’: drivers/infiniband/sw/rdmavt/cq.c:542:2: warning: ‘worker’ may be used uninitialized in this function [-Wmaybe-uninitialized] kthread_destroy_worker(worker); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ by fixing the function to actually work. Fixes: 6efaf10f163d ("IB/rdmavt: Avoid queuing work into a destroyed cq kthread worker") Cc: Petr Mladek <pmladek@suse.com> Cc: Doug Ledford <dledford@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/infiniband/sw/rdmavt/cq.c')
-rw-r--r--drivers/infiniband/sw/rdmavt/cq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/sw/rdmavt/cq.c b/drivers/infiniband/sw/rdmavt/cq.c
index 4d0b6992e847..7aa7a4e312f1 100644
--- a/drivers/infiniband/sw/rdmavt/cq.c
+++ b/drivers/infiniband/sw/rdmavt/cq.c
@@ -532,7 +532,8 @@ void rvt_cq_exit(struct rvt_dev_info *rdi)
/* block future queuing from send_complete() */
spin_lock_irq(&rdi->n_cqs_lock);
- if (!rdi->worker) {
+ worker = rdi->worker;
+ if (!worker) {
spin_unlock_irq(&rdi->n_cqs_lock);
return;
}