+
+ /* Handle timeout by closing the whole
+ * connection. We can only be sure RDMA activity
+ * has ceased once the QP has been modified. */
+ while (!cfs_list_empty(&closes)) {
+ conn = cfs_list_entry(closes.next,
+ kib_conn_t, ibc_connd_list);
+ cfs_list_del(&conn->ibc_connd_list);
+ kiblnd_close_conn(conn, -ETIMEDOUT);
+ kiblnd_conn_decref(conn);
+ }
+
+ /* In case we have enough credits to return via a
+ * NOOP, but there were no non-blocking tx descs
+ * free to do it last time... */
+ while (!cfs_list_empty(&checksends)) {
+ conn = cfs_list_entry(checksends.next,
+ kib_conn_t, ibc_connd_list);
+ cfs_list_del(&conn->ibc_connd_list);
+ kiblnd_check_sends(conn);
+ kiblnd_conn_decref(conn);
+ }