Browse Source

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>
Linus Torvalds 8 years ago
parent
commit
d3ea547853
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/infiniband/sw/rdmavt/cq.c

+ 2 - 1
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;
 	}