diff options
Diffstat (limited to 'net/rds/iw_recv.c')
-rw-r--r-- | net/rds/iw_recv.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c index 24fc53f03833..54af7d6b92da 100644 --- a/net/rds/iw_recv.c +++ b/net/rds/iw_recv.c | |||
@@ -230,8 +230,8 @@ int rds_iw_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_iw_ring_alloc(&ic->i_recv_ring, 1, &pos)) { | 234 | rds_iw_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); |
@@ -730,10 +730,10 @@ static void rds_iw_process_recv(struct rds_connection *conn, | |||
730 | hdr = &iwinc->ii_inc.i_hdr; | 730 | hdr = &iwinc->ii_inc.i_hdr; |
731 | /* We can't just use memcmp here; fragments of a | 731 | /* We can't just use memcmp here; fragments of a |
732 | * single message may carry different ACKs */ | 732 | * single message may carry different ACKs */ |
733 | if (hdr->h_sequence != ihdr->h_sequence | 733 | if (hdr->h_sequence != ihdr->h_sequence || |
734 | || hdr->h_len != ihdr->h_len | 734 | hdr->h_len != ihdr->h_len || |
735 | || hdr->h_sport != ihdr->h_sport | 735 | hdr->h_sport != ihdr->h_sport || |
736 | || hdr->h_dport != ihdr->h_dport) { | 736 | hdr->h_dport != ihdr->h_dport) { |
737 | rds_iw_conn_error(conn, | 737 | rds_iw_conn_error(conn, |
738 | "fragment header mismatch; forcing reconnect\n"); | 738 | "fragment header mismatch; forcing reconnect\n"); |
739 | return; | 739 | return; |