diff options
Diffstat (limited to 'net/rds/ib_send.c')
-rw-r--r-- | net/rds/ib_send.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c index f380c3f01256..c18228aec779 100644 --- a/net/rds/ib_send.c +++ b/net/rds/ib_send.c | |||
@@ -482,6 +482,13 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm, | |||
482 | BUG_ON(off % RDS_FRAG_SIZE); | 482 | BUG_ON(off % RDS_FRAG_SIZE); |
483 | BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); | 483 | BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); |
484 | 484 | ||
485 | /* Do not send cong updates to IB loopback */ | ||
486 | if (conn->c_loopback | ||
487 | && rm->m_inc.i_hdr.h_flags & RDS_FLAG_CONG_BITMAP) { | ||
488 | rds_cong_map_updated(conn->c_fcong, ~(u64) 0); | ||
489 | return sizeof(struct rds_header) + RDS_CONG_MAP_BYTES; | ||
490 | } | ||
491 | |||
485 | /* FIXME we may overallocate here */ | 492 | /* FIXME we may overallocate here */ |
486 | if (be32_to_cpu(rm->m_inc.i_hdr.h_len) == 0) | 493 | if (be32_to_cpu(rm->m_inc.i_hdr.h_len) == 0) |
487 | i = 1; | 494 | i = 1; |