Drop the RDS connection on RDMA_CM_EVENT_TIMEWAIT_EXIT so that
it can reconnect and resume.

While testing fastreg, this error happened in couple of tests but
was getting un-noticed.

Signed-off-by: Santosh Shilimkar <ssant...@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilim...@oracle.com>
---
 net/rds/rdma_transport.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/net/rds/rdma_transport.c b/net/rds/rdma_transport.c
index 4f4b3d8..7220beb 100644
--- a/net/rds/rdma_transport.c
+++ b/net/rds/rdma_transport.c
@@ -117,6 +117,14 @@ int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
                rds_conn_drop(conn);
                break;
 
+       case RDMA_CM_EVENT_TIMEWAIT_EXIT:
+               if (conn) {
+                       pr_info("RDS: RDMA_CM_EVENT_TIMEWAIT_EXIT event: 
dropping connection %pI4->%pI4\n",
+                               &conn->c_laddr, &conn->c_faddr);
+                       rds_conn_drop(conn);
+               }
+               break;
+
        default:
                /* things like device disconnect? */
                printk(KERN_ERR "RDS: unknown event %u (%s)!\n",
-- 
1.9.1

Reply via email to