patch-2.4.6 linux/drivers/net/wan/syncppp.c
Next file: linux/drivers/net/wavelan.p.h
Previous file: linux/drivers/net/wan/sdla_x25.c
Back to the patch index
Back to the overall index
- Lines: 67
- Date:
Wed Jun 27 17:10:55 2001
- Orig file:
v2.4.5/linux/drivers/net/wan/syncppp.c
- Orig date:
Tue May 22 10:23:16 2001
diff -u --recursive --new-file v2.4.5/linux/drivers/net/wan/syncppp.c linux/drivers/net/wan/syncppp.c
@@ -147,7 +147,7 @@
static char *sppp_ipcp_type_name (u8 type);
static void sppp_print_bytes (u8 *p, u16 len);
-static int debug = 0;
+static int debug;
/*
@@ -518,8 +518,10 @@
}
/* Send Configure-Ack packet. */
sp->pp_loopcnt = 0;
- sppp_cp_send (sp, PPP_LCP, LCP_CONF_ACK,
- h->ident, len-4, h+1);
+ if (sp->lcp.state != LCP_STATE_OPENED) {
+ sppp_cp_send (sp, PPP_LCP, LCP_CONF_ACK,
+ h->ident, len-4, h+1);
+ }
/* Change the state. */
switch (sp->lcp.state) {
case LCP_STATE_CLOSED:
@@ -535,7 +537,9 @@
sp->ipcp.state = IPCP_STATE_CLOSED;
/* Initiate renegotiation. */
sppp_lcp_open (sp);
- /* An ACK has already been sent. */
+ /* Send ACK after our REQ in attempt to break loop */
+ sppp_cp_send (sp, PPP_LCP, LCP_CONF_ACK,
+ h->ident, len-4, h+1);
sp->lcp.state = LCP_STATE_ACK_SENT;
break;
}
@@ -1388,25 +1392,21 @@
return 0;
}
-
-struct packet_type sppp_packet_type=
-{
- 0,
- NULL,
- sppp_rcv,
- NULL,
- NULL
+struct packet_type sppp_packet_type = {
+ type: __constant_htons(ETH_P_WAN_PPP),
+ func: sppp_rcv,
};
-
+static const char banner[] __initdata =
+ KERN_INFO "Cronyx Ltd, Synchronous PPP and CISCO HDLC (c) 1994\n"
+ KERN_INFO "Linux port (c) 1998 Building Number Three Ltd & "
+ "Jan \"Yenya\" Kasprzak.\n";
static int __init sync_ppp_init(void)
{
if(debug)
debug=PP_DEBUG;
- printk(KERN_INFO "Cronyx Ltd, Synchronous PPP and CISCO HDLC (c) 1994\n");
- printk(KERN_INFO "Linux port (c) 1998 Building Number Three Ltd & Jan \"Yenya\" Kasprzak.\n");
- sppp_packet_type.type=htons(ETH_P_WAN_PPP);
+ printk(banner);
dev_add_pack(&sppp_packet_type);
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)