aboutsummaryrefslogtreecommitdiffstats
path: root/net/x25/af_x25.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/x25/af_x25.c')
-rw-r--r--net/x25/af_x25.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index fe26c01ef3e6..8ed51c926c50 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -588,7 +588,8 @@ static int x25_create(struct net *net, struct socket *sock, int protocol,
588 x25->facilities.winsize_out = X25_DEFAULT_WINDOW_SIZE; 588 x25->facilities.winsize_out = X25_DEFAULT_WINDOW_SIZE;
589 x25->facilities.pacsize_in = X25_DEFAULT_PACKET_SIZE; 589 x25->facilities.pacsize_in = X25_DEFAULT_PACKET_SIZE;
590 x25->facilities.pacsize_out = X25_DEFAULT_PACKET_SIZE; 590 x25->facilities.pacsize_out = X25_DEFAULT_PACKET_SIZE;
591 x25->facilities.throughput = X25_DEFAULT_THROUGHPUT; 591 x25->facilities.throughput = 0; /* by default don't negotiate
592 throughput */
592 x25->facilities.reverse = X25_DEFAULT_REVERSE; 593 x25->facilities.reverse = X25_DEFAULT_REVERSE;
593 x25->dte_facilities.calling_len = 0; 594 x25->dte_facilities.calling_len = 0;
594 x25->dte_facilities.called_len = 0; 595 x25->dte_facilities.called_len = 0;
@@ -1459,9 +1460,20 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
1459 if (facilities.winsize_in < 1 || 1460 if (facilities.winsize_in < 1 ||
1460 facilities.winsize_in > 127) 1461 facilities.winsize_in > 127)
1461 break; 1462 break;
1462 if (facilities.throughput < 0x03 || 1463 if (facilities.throughput) {
1463 facilities.throughput > 0xDD) 1464 int out = facilities.throughput & 0xf0;
1464 break; 1465 int in = facilities.throughput & 0x0f;
1466 if (!out)
1467 facilities.throughput |=
1468 X25_DEFAULT_THROUGHPUT << 4;
1469 else if (out < 0x30 || out > 0xD0)
1470 break;
1471 if (!in)
1472 facilities.throughput |=
1473 X25_DEFAULT_THROUGHPUT;
1474 else if (in < 0x03 || in > 0x0D)
1475 break;
1476 }
1465 if (facilities.reverse && 1477 if (facilities.reverse &&
1466 (facilities.reverse & 0x81) != 0x81) 1478 (facilities.reverse & 0x81) != 0x81)
1467 break; 1479 break;