X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=net%2Fx25%2Fx25_subr.c;h=511a5986af3e65b5a55153bfd6ad896d70994934;hb=e02f838eedef1533f7a1bcf21fe724c3c93093f9;hp=8be9b8fbc24d143e6d3df6c9dff14f005a6b4cfe;hpb=ef88b7dba2b47c70037a34a599d383462bb74bd3;p=mv-sheeva.git diff --git a/net/x25/x25_subr.c b/net/x25/x25_subr.c index 8be9b8fbc24..511a5986af3 100644 --- a/net/x25/x25_subr.c +++ b/net/x25/x25_subr.c @@ -190,8 +190,9 @@ void x25_write_internal(struct sock *sk, int frametype) dptr = skb_put(skb, len); memcpy(dptr, addresses, len); len = x25_create_facilities(facilities, - &x25->facilities, - x25->neighbour->global_facil_mask); + &x25->facilities, + &x25->dte_facilities, + x25->neighbour->global_facil_mask); dptr = skb_put(skb, len); memcpy(dptr, facilities, len); dptr = skb_put(skb, x25->calluserdata.cudlength); @@ -206,6 +207,7 @@ void x25_write_internal(struct sock *sk, int frametype) *dptr++ = 0x00; /* Address lengths */ len = x25_create_facilities(facilities, &x25->facilities, + &x25->dte_facilities, x25->vc_facil_mask); dptr = skb_put(skb, len); memcpy(dptr, facilities, len); @@ -357,7 +359,7 @@ void x25_check_rbuf(struct sock *sk) { struct x25_sock *x25 = x25_sk(sk); - if (atomic_read(&sk->sk_rmem_alloc) < (sk->sk_rcvbuf / 2) && + if (atomic_read(&sk->sk_rmem_alloc) < (sk->sk_rcvbuf >> 1) && (x25->condition & X25_COND_OWN_RX_BUSY)) { x25->condition &= ~X25_COND_OWN_RX_BUSY; x25->condition &= ~X25_COND_ACK_PENDING;