tcp_recv.c (82845079160817cc6ac64e5321bbd935e0a47b3a) tcp_recv.c (ebeeb1ad9b8adcc37c2ec21a96f39e9d35199b46)
1/*
2 * Copyright (c) 2006 Oracle. All rights reserved.
3 *
4 * This software is available to you under a choice of one of two
5 * licenses. You may choose to be licensed under the terms of the GNU
6 * General Public License (GPL) Version 2, available from the file
7 * COPYING in the main directory of this source tree, or the
8 * OpenIB.org BSD license below:

--- 309 unchanged lines hidden (view full) ---

318 }
319
320 tc = cp->cp_transport_data;
321 ready = tc->t_orig_data_ready;
322 rds_tcp_stats_inc(s_tcp_data_ready_calls);
323
324 if (rds_tcp_read_sock(cp, GFP_ATOMIC) == -ENOMEM) {
325 rcu_read_lock();
1/*
2 * Copyright (c) 2006 Oracle. All rights reserved.
3 *
4 * This software is available to you under a choice of one of two
5 * licenses. You may choose to be licensed under the terms of the GNU
6 * General Public License (GPL) Version 2, available from the file
7 * COPYING in the main directory of this source tree, or the
8 * OpenIB.org BSD license below:

--- 309 unchanged lines hidden (view full) ---

318 }
319
320 tc = cp->cp_transport_data;
321 ready = tc->t_orig_data_ready;
322 rds_tcp_stats_inc(s_tcp_data_ready_calls);
323
324 if (rds_tcp_read_sock(cp, GFP_ATOMIC) == -ENOMEM) {
325 rcu_read_lock();
326 if (!test_bit(RDS_DESTROY_PENDING, &cp->cp_flags))
326 if (!rds_destroy_pending(cp->cp_conn))
327 queue_delayed_work(rds_wq, &cp->cp_recv_w, 0);
328 rcu_read_unlock();
329 }
330out:
331 read_unlock_bh(&sk->sk_callback_lock);
332 ready(sk);
333}
334

--- 14 unchanged lines hidden ---
327 queue_delayed_work(rds_wq, &cp->cp_recv_w, 0);
328 rcu_read_unlock();
329 }
330out:
331 read_unlock_bh(&sk->sk_callback_lock);
332 ready(sk);
333}
334

--- 14 unchanged lines hidden ---