summaryrefslogtreecommitdiffstats
path: root/net/wanrouter/wanmain.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
commitc7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch)
tree3682407a599b8f9f03fc096298134cafba1c9b2f /net/wanrouter/wanmain.c
parent1d793fade8b063fde3cf275bf1a5c2d381292cd9 (diff)
o Merge with Linux 2.1.116.
o New Newport console code. o New G364 console code.
Diffstat (limited to 'net/wanrouter/wanmain.c')
-rw-r--r--net/wanrouter/wanmain.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/net/wanrouter/wanmain.c b/net/wanrouter/wanmain.c
index b00d0ab2a..fabe85161 100644
--- a/net/wanrouter/wanmain.c
+++ b/net/wanrouter/wanmain.c
@@ -5,7 +5,7 @@
* the following common services for the WAN Link Drivers:
* o WAN device managenment (registering, unregistering)
* o Network interface management
-* o Physical connection management (dial-up, incomming calls)
+* o Physical connection management (dial-up, incoming calls)
* o Logical connection management (switched virtual circuits)
* o Protocol encapsulation/decapsulation
*
@@ -24,6 +24,8 @@
* Jun 27, 1997 Alan Cox realigned with vendor code
* Oct 15, 1997 Farhan Thawar changed wan_encapsulate to add a pad byte of 0
* Apr 20, 1998 Alan Cox Fixed 2.1 symbols
+* May 17, 1998 K. Baranowski Fixed SNAP encapsulation in wan_encapsulate
+* Aug 15, 1998 Arnaldo C. Melo Fixed device_setup return value
*****************************************************************************/
#include <linux/stddef.h> /* offsetof(), etc. */
@@ -288,11 +290,11 @@ int wanrouter_encapsulate (struct sk_buff* skb, struct device* dev)
case ETH_P_IPX: /* SNAP encapsulation */
case ETH_P_ARP:
hdr_len += 7;
- skb_push(skb, 6);
+ skb_push(skb, 7);
skb->data[0] = 0;
skb->data[1] = NLPID_SNAP;
- memcpy(&skb->data[1], oui_ether, sizeof(oui_ether));
- *((unsigned short*)&skb->data[4]) = htons(skb->protocol);
+ memcpy(&skb->data[2], oui_ether, sizeof(oui_ether));
+ *((unsigned short*)&skb->data[5]) = htons(skb->protocol);
break;
default: /* Unknown packet type */
@@ -465,7 +467,7 @@ static int device_setup (wan_device_t* wandev, wandev_conf_t* u_conf)
if(!copy_from_user(data, conf->data, conf->data_size))
{
conf->data=data;
- wandev->setup(wandev,conf);
+ err = wandev->setup(wandev,conf);
}
else
err = -ENOBUFS;