| 1867 | } |
| 1868 | |
| 1869 | static int krping_connect_client(struct krping_cb *cb) |
| 1870 | { |
| 1871 | struct rdma_conn_param conn_param; |
| 1872 | int ret; |
| 1873 | |
| 1874 | memset(&conn_param, 0, sizeof conn_param); |
| 1875 | conn_param.responder_resources = 1; |
| 1876 | conn_param.initiator_depth = 1; |
| 1877 | conn_param.retry_count = 10; |
| 1878 | |
| 1879 | ret = rdma_connect(cb->cm_id, &conn_param); |
| 1880 | if (ret) { |
| 1881 | printk(KERN_ERR PFX "rdma_connect error %d\n", ret); |
| 1882 | return ret; |
| 1883 | } |
| 1884 | |
| 1885 | wait_event_interruptible(cb->sem, cb->state >= CONNECTED); |
| 1886 | if (cb->state == ERROR) { |
| 1887 | printk(KERN_ERR PFX "wait for CONNECTED state %d\n", cb->state); |
| 1888 | return -1; |
| 1889 | } |
| 1890 | |
| 1891 | DEBUG_LOG("rdma_connect successful\n"); |
| 1892 | return 0; |
| 1893 | } |
| 1894 | |
| 1895 | static int krping_bind_client(struct krping_cb *cb) |
| 1896 | { |
no test coverage detected