The problem is that the check in for whether or not to
encapsulate the packet doesn't work properly if either byte
of the packet type is > 127 (signed versus unsigned bug). I
wasted an awful lot of time today tracking this down...
Here's a patch to fix it. BTW, what is the significance of
the magic number 1500? I suspect none... shouldn't it be
a more meaningful value?
*** wvlan_cs.c~ Fri Aug 25 18:32:37 2000
--- wvlan_cs.c Fri Aug 25 18:36:53 2000
*************** int wvlan_tx (struct sk_buff *skb, struc
*** 2053,2059 ****
struct net_local *local = (struct net_local *)dev->priv;
unsigned long flags;
int rc, len;
! char *p;
DEBUG(DEBUG_CALLTRACE, "-> wvlan_tx(%s)\n", dev->name);
--- 2053,2059 ----
struct net_local *local = (struct net_local *)dev->priv;
unsigned long flags;
int rc, len;
! unsigned char *p;
DEBUG(DEBUG_CALLTRACE, "-> wvlan_tx(%s)\n", dev->name);
|
Messages