|
@@ -409,8 +409,8 @@ static void svc_data_ready(struct sock *sk)
|
|
|
svsk, sk,
|
|
|
test_bit(XPT_BUSY, &svsk->sk_xprt.xpt_flags));
|
|
|
svsk->sk_odata(sk);
|
|
|
- set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags);
|
|
|
- svc_xprt_enqueue(&svsk->sk_xprt);
|
|
|
+ if (!test_and_set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags))
|
|
|
+ svc_xprt_enqueue(&svsk->sk_xprt);
|
|
|
}
|
|
|
}
|
|
|
|