RDMA/rtrs-srv: Refactor rtrs_srv_rdma_cm_handler
authorGuoqing Jiang <guoqing.jiang@linux.dev>
Thu, 17 Nov 2022 10:19:38 +0000 (18:19 +0800)
committerLeon Romanovsky <leon@kernel.org>
Thu, 17 Nov 2022 11:47:28 +0000 (13:47 +0200)
The RDMA_CM_EVENT_CONNECT_REQUEST is quite different to other types,
let's check it separately at the beginning of routine, then we can
avoid the indentation accordingly.

Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20221117101945.6317-2-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/rtrs/rtrs-srv.c

index 22d7ba0..5fe3699 100644 (file)
@@ -1950,22 +1950,21 @@ static int rtrs_srv_rdma_cm_handler(struct rdma_cm_id *cm_id,
 {
        struct rtrs_srv_path *srv_path = NULL;
        struct rtrs_path *s = NULL;
+       struct rtrs_con *c = NULL;
 
-       if (ev->event != RDMA_CM_EVENT_CONNECT_REQUEST) {
-               struct rtrs_con *c = cm_id->context;
-
-               s = c->path;
-               srv_path = to_srv_path(s);
-       }
-
-       switch (ev->event) {
-       case RDMA_CM_EVENT_CONNECT_REQUEST:
+       if (ev->event == RDMA_CM_EVENT_CONNECT_REQUEST)
                /*
                 * In case of error cma.c will destroy cm_id,
                 * see cma_process_remove()
                 */
                return rtrs_rdma_connect(cm_id, ev->param.conn.private_data,
                                          ev->param.conn.private_data_len);
+
+       c = cm_id->context;
+       s = c->path;
+       srv_path = to_srv_path(s);
+
+       switch (ev->event) {
        case RDMA_CM_EVENT_ESTABLISHED:
                /* Nothing here */
                break;