]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/nvme/target/rdma.c
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[mirror_ubuntu-artful-kernel.git] / drivers / nvme / target / rdma.c
index 005ef5d17a191101b3b2da09a0a1c702f5a6c400..8c3760a78ac080af522afb5892d471063243bd7b 100644 (file)
@@ -1045,8 +1045,10 @@ nvmet_rdma_alloc_queue(struct nvmet_rdma_device *ndev,
        }
 
        ret = nvmet_sq_init(&queue->nvme_sq);
-       if (ret)
+       if (ret) {
+               ret = NVME_RDMA_CM_NO_RSC;
                goto out_free_queue;
+       }
 
        ret = nvmet_rdma_parse_cm_connect_req(&event->param.conn, queue);
        if (ret)
@@ -1116,6 +1118,7 @@ out_destroy_sq:
 out_free_queue:
        kfree(queue);
 out_reject:
+       pr_debug("rejecting connect request with status code %d\n", ret);
        nvmet_rdma_cm_reject(cm_id, ret);
        return NULL;
 }
@@ -1129,7 +1132,8 @@ static void nvmet_rdma_qp_event(struct ib_event *event, void *priv)
                rdma_notify(queue->cm_id, event->event);
                break;
        default:
-               pr_err("received unrecognized IB QP event %d\n", event->event);
+               pr_err("received IB QP event: %s (%d)\n",
+                      ib_event_msg(event->event), event->event);
                break;
        }
 }
@@ -1370,6 +1374,9 @@ static int nvmet_rdma_cm_handler(struct rdma_cm_id *cm_id,
                ret = nvmet_rdma_device_removal(cm_id, queue);
                break;
        case RDMA_CM_EVENT_REJECTED:
+               pr_debug("Connection rejected: %s\n",
+                        rdma_reject_msg(cm_id, event->status));
+               /* FALLTHROUGH */
        case RDMA_CM_EVENT_UNREACHABLE:
        case RDMA_CM_EVENT_CONNECT_ERROR:
                nvmet_rdma_queue_connect_fail(cm_id, queue);