From 9d077f1590e1d412cd210dc3574dfab02d63be4b Mon Sep 17 00:00:00 2001 From: Jochen Friedrich Date: Mon, 14 Nov 2005 21:57:46 -0800 Subject: [PATCH] --- yaml --- r: 14255 b: refs/heads/master c: 451677c46feb5fb39cb7f71035b8716064fcbd57 h: refs/heads/master i: 14253: d3ac96ffa2678522ff9a5f687abff7dd949a7ddd 14251: 809b2ddbc656f3a62b0670cb8a9076631de9760d 14247: 53b9cf5a5b89743968cf17f838c231a24ee2c90c 14239: 701a88663e5de6dfd7a84d87da82a69c50c51f64 v: v3 --- [refs] | 2 +- trunk/net/llc/af_llc.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 49f2bd4b1079..74726f26ce41 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 59c6196e59a4b85d9c994e70ff20a460cdbaa003 +refs/heads/master: 451677c46feb5fb39cb7f71035b8716064fcbd57 diff --git a/trunk/net/llc/af_llc.c b/trunk/net/llc/af_llc.c index 59d02cbbeb9e..c3f0b0783453 100644 --- a/trunk/net/llc/af_llc.c +++ b/trunk/net/llc/af_llc.c @@ -116,7 +116,9 @@ static int llc_ui_send_data(struct sock* sk, struct sk_buff *skb, int noblock) struct llc_sock* llc = llc_sk(sk); int rc = 0; - if (unlikely(llc_data_accept_state(llc->state) || llc->p_flag)) { + if (unlikely(llc_data_accept_state(llc->state) || + llc->remote_busy_flag || + llc->p_flag)) { long timeout = sock_sndtimeo(sk, noblock); rc = llc_ui_wait_for_busy_core(sk, timeout); @@ -542,6 +544,7 @@ static int llc_ui_wait_for_busy_core(struct sock *sk, long timeout) if (sk_wait_event(sk, &timeout, (sk->sk_shutdown & RCV_SHUTDOWN) || (!llc_data_accept_state(llc->state) && + !llc->remote_busy_flag && !llc->p_flag))) break; rc = -ERESTARTSYS;