diff options
Diffstat (limited to 'net/rds/tcp_recv.c')
| -rw-r--r-- | net/rds/tcp_recv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rds/tcp_recv.c b/net/rds/tcp_recv.c index 1aba6878fa5d..e43797404102 100644 --- a/net/rds/tcp_recv.c +++ b/net/rds/tcp_recv.c | |||
| @@ -324,7 +324,7 @@ void rds_tcp_data_ready(struct sock *sk, int bytes) | |||
| 324 | 324 | ||
| 325 | rdsdebug("data ready sk %p bytes %d\n", sk, bytes); | 325 | rdsdebug("data ready sk %p bytes %d\n", sk, bytes); |
| 326 | 326 | ||
| 327 | read_lock(&sk->sk_callback_lock); | 327 | read_lock_bh(&sk->sk_callback_lock); |
| 328 | conn = sk->sk_user_data; | 328 | conn = sk->sk_user_data; |
| 329 | if (conn == NULL) { /* check for teardown race */ | 329 | if (conn == NULL) { /* check for teardown race */ |
| 330 | ready = sk->sk_data_ready; | 330 | ready = sk->sk_data_ready; |
| @@ -338,7 +338,7 @@ void rds_tcp_data_ready(struct sock *sk, int bytes) | |||
| 338 | if (rds_tcp_read_sock(conn, GFP_ATOMIC, KM_SOFTIRQ0) == -ENOMEM) | 338 | if (rds_tcp_read_sock(conn, GFP_ATOMIC, KM_SOFTIRQ0) == -ENOMEM) |
| 339 | queue_delayed_work(rds_wq, &conn->c_recv_w, 0); | 339 | queue_delayed_work(rds_wq, &conn->c_recv_w, 0); |
| 340 | out: | 340 | out: |
| 341 | read_unlock(&sk->sk_callback_lock); | 341 | read_unlock_bh(&sk->sk_callback_lock); |
| 342 | ready(sk, bytes); | 342 | ready(sk, bytes); |
| 343 | } | 343 | } |
| 344 | 344 | ||
