Skip to content

Commit

Permalink
[LLC]: Make core block on remote busy.
Browse files Browse the repository at this point in the history
Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jochen Friedrich authored and David S. Miller committed Nov 15, 2005
1 parent 59c6196 commit 451677c
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion net/llc/af_llc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 451677c

Please sign in to comment.