aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 3294f10316a0..481c873f735e 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -411,6 +411,8 @@ static void srp_path_rec_completion(int status,
411 411
412static int srp_lookup_path(struct srp_target_port *target) 412static int srp_lookup_path(struct srp_target_port *target)
413{ 413{
414 int ret;
415
414 target->path.numb_path = 1; 416 target->path.numb_path = 1;
415 417
416 init_completion(&target->done); 418 init_completion(&target->done);
@@ -431,7 +433,9 @@ static int srp_lookup_path(struct srp_target_port *target)
431 if (target->path_query_id < 0) 433 if (target->path_query_id < 0)
432 return target->path_query_id; 434 return target->path_query_id;
433 435
434 wait_for_completion(&target->done); 436 ret = wait_for_completion_interruptible(&target->done);
437 if (ret < 0)
438 return ret;
435 439
436 if (target->status < 0) 440 if (target->status < 0)
437 shost_printk(KERN_WARNING, target->scsi_host, 441 shost_printk(KERN_WARNING, target->scsi_host,
@@ -710,7 +714,9 @@ static int srp_connect_target(struct srp_target_port *target)
710 ret = srp_send_req(target); 714 ret = srp_send_req(target);
711 if (ret) 715 if (ret)
712 return ret; 716 return ret;
713 wait_for_completion(&target->done); 717 ret = wait_for_completion_interruptible(&target->done);
718 if (ret < 0)
719 return ret;
714 720
715 /* 721 /*
716 * The CM event handling code will set status to 722 * The CM event handling code will set status to