af_x25.c (7546dd97d27306d939c13e03318aae695badaa88) af_x25.c (8db09f26f912f7c90c764806e804b558da520d4f)
1/*
2 * X.25 Packet Layer release 002
3 *
4 * This is ALPHA test software. This code may break your machine,
5 * randomly fail to work with new releases, misbehave and/or generally
6 * screw up. It might even work.
7 *
8 * This code REQUIRES 2.1.15 or higher

--- 937 unchanged lines hidden (view full) ---

946 if(makex25->accptapprv & X25_DENY_ACCPT_APPRV) {
947 x25_write_internal(make, X25_CALL_ACCEPTED);
948 makex25->state = X25_STATE_3;
949 }
950
951 /*
952 * Incoming Call User Data.
953 */
1/*
2 * X.25 Packet Layer release 002
3 *
4 * This is ALPHA test software. This code may break your machine,
5 * randomly fail to work with new releases, misbehave and/or generally
6 * screw up. It might even work.
7 *
8 * This code REQUIRES 2.1.15 or higher

--- 937 unchanged lines hidden (view full) ---

946 if(makex25->accptapprv & X25_DENY_ACCPT_APPRV) {
947 x25_write_internal(make, X25_CALL_ACCEPTED);
948 makex25->state = X25_STATE_3;
949 }
950
951 /*
952 * Incoming Call User Data.
953 */
954 if (skb->len >= 0) {
955 skb_copy_from_linear_data(skb, makex25->calluserdata.cuddata, skb->len);
956 makex25->calluserdata.cudlength = skb->len;
957 }
954 skb_copy_from_linear_data(skb, makex25->calluserdata.cuddata, skb->len);
955 makex25->calluserdata.cudlength = skb->len;
958
959 sk->sk_ack_backlog++;
960
961 x25_insert_socket(make);
962
963 skb_queue_head(&sk->sk_receive_queue, skb);
964
965 x25_start_heartbeat(make);

--- 151 unchanged lines hidden (view full) ---

1117
1118 rc = -ENOTCONN;
1119 if (sk->sk_state != TCP_ESTABLISHED)
1120 goto out_kfree_skb;
1121
1122 if (msg->msg_flags & MSG_OOB)
1123 skb_queue_tail(&x25->interrupt_out_queue, skb);
1124 else {
956
957 sk->sk_ack_backlog++;
958
959 x25_insert_socket(make);
960
961 skb_queue_head(&sk->sk_receive_queue, skb);
962
963 x25_start_heartbeat(make);

--- 151 unchanged lines hidden (view full) ---

1115
1116 rc = -ENOTCONN;
1117 if (sk->sk_state != TCP_ESTABLISHED)
1118 goto out_kfree_skb;
1119
1120 if (msg->msg_flags & MSG_OOB)
1121 skb_queue_tail(&x25->interrupt_out_queue, skb);
1122 else {
1125 len = x25_output(sk, skb);
1126 if (len < 0)
1123 rc = x25_output(sk, skb);
1124 len = rc;
1125 if (rc < 0)
1127 kfree_skb(skb);
1128 else if (x25->qbitincl)
1129 len++;
1130 }
1131
1132 /*
1133 * lock_sock() is currently only used to serialize this x25_kick()
1134 * against input-driven x25_kick() calls. It currently only blocks

--- 549 unchanged lines hidden ---
1126 kfree_skb(skb);
1127 else if (x25->qbitincl)
1128 len++;
1129 }
1130
1131 /*
1132 * lock_sock() is currently only used to serialize this x25_kick()
1133 * against input-driven x25_kick() calls. It currently only blocks

--- 549 unchanged lines hidden ---