diff options
author | santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com> | 2016-03-02 02:20:50 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-02 22:13:19 +0300 |
commit | 37ea401e9ccc44453da6785514bb64ad6e9c181f (patch) | |
tree | d6e24c4632a261ad0ef1e62a43dc95351a2724ea /net/rds | |
parent | d4de76da5c39582aa14a94186c35b4aec6ef292c (diff) | |
download | linux-37ea401e9ccc44453da6785514bb64ad6e9c181f.tar.xz |
RDS: IB: handle the RDMA CM time wait event
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 <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/rdma_transport.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/rds/rdma_transport.c b/net/rds/rdma_transport.c index 4f4b3d88319d..7220bebcf558 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", |