diff options
Diffstat (limited to 'net/rds/ib_recv.c')
-rw-r--r-- | net/rds/ib_recv.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c index fe5ab8c6b964..04dc0d3f3c95 100644 --- a/net/rds/ib_recv.c +++ b/net/rds/ib_recv.c | |||
@@ -230,8 +230,8 @@ int rds_ib_recv_refill(struct rds_connection *conn, gfp_t kptr_gfp, | |||
230 | int ret = 0; | 230 | int ret = 0; |
231 | u32 pos; | 231 | u32 pos; |
232 | 232 | ||
233 | while ((prefill || rds_conn_up(conn)) | 233 | while ((prefill || rds_conn_up(conn)) && |
234 | && rds_ib_ring_alloc(&ic->i_recv_ring, 1, &pos)) { | 234 | rds_ib_ring_alloc(&ic->i_recv_ring, 1, &pos)) { |
235 | if (pos >= ic->i_recv_ring.w_nr) { | 235 | if (pos >= ic->i_recv_ring.w_nr) { |
236 | printk(KERN_NOTICE "Argh - ring alloc returned pos=%u\n", | 236 | printk(KERN_NOTICE "Argh - ring alloc returned pos=%u\n", |
237 | pos); | 237 | pos); |
@@ -771,10 +771,10 @@ static void rds_ib_process_recv(struct rds_connection *conn, | |||
771 | hdr = &ibinc->ii_inc.i_hdr; | 771 | hdr = &ibinc->ii_inc.i_hdr; |
772 | /* We can't just use memcmp here; fragments of a | 772 | /* We can't just use memcmp here; fragments of a |
773 | * single message may carry different ACKs */ | 773 | * single message may carry different ACKs */ |
774 | if (hdr->h_sequence != ihdr->h_sequence | 774 | if (hdr->h_sequence != ihdr->h_sequence || |
775 | || hdr->h_len != ihdr->h_len | 775 | hdr->h_len != ihdr->h_len || |
776 | || hdr->h_sport != ihdr->h_sport | 776 | hdr->h_sport != ihdr->h_sport || |
777 | || hdr->h_dport != ihdr->h_dport) { | 777 | hdr->h_dport != ihdr->h_dport) { |
778 | rds_ib_conn_error(conn, | 778 | rds_ib_conn_error(conn, |
779 | "fragment header mismatch; forcing reconnect\n"); | 779 | "fragment header mismatch; forcing reconnect\n"); |
780 | return; | 780 | return; |