diff -u -p -r ix86/mwvlan_cs.c arm/mwvlan_cs.c --- ix86/mwvlan_cs.c Wed Nov 21 10:40:16 2001 +++ arm/mwvlan_cs.c Mon May 27 15:58:11 2002 @@ -416,7 +416,7 @@ MODULE_PARM(station_name, "c" __MODULE_S #define TX_TIMEOUT ((4000*HZ)/1000) // Ethernet-II snap header -static char snap_header[] = { 0x00, 0x00, 0xaa, 0xaa, 0x03, 0x00, 0x00, 0xf8 }; +static char snap_header[] __attribute__((aligned (2))) = { 0x00, 0x00, 0xaa, 0xaa, 0x03, 0x00, 0x00, 0xf8 }; // Valid MTU values (HCF_MAX_MSG (2304) is the max hardware frame size) #define WVLAN_MIN_MTU 256 @@ -1220,9 +1220,8 @@ static int wvlan_hw_config (struct net_d * This is what we mainly support... * Note : this will work at least for Lucent * firmwares */ - local->has_port3 = 1; - local->has_ibssid = ((firmware >= 0x60006) + - (firmware >= 0x60010)); + local->has_port3 = (firmware <= 0x60006); + local->has_ibssid = (firmware >= 0x60006); local->has_mwo = (firmware >= 0x60000); local->has_wep = (firmware >= 0x40020); local->has_pwep = 0; @@ -1271,10 +1270,9 @@ I will try to make it work, but you shou printk(KERN_NOTICE "%s: This firmware doesn't support ``allow_ibss=1'', please update it.\n", dev_info); rc = 255; } - if((local->allow_ibss) && (local->has_ibssid == 1) && - (local->network_name[0] == '\0')) { - printk(KERN_NOTICE "%s: This firmware require an ESSID in Ad-Hoc mode, please use iwconfig.\n", dev_info); - rc = 255; + if((local->allow_ibss) && (local->network_name[0] == '\0')) { + printk(KERN_NOTICE "%s: This firmware require an ESSID in Ad-Hoc mode, please use iwconfig.\n", dev_info); + rc = 255; } if((local->has_ibssid) && (local->port_type == 3)) { printk(KERN_NOTICE "%s: Warning, you are using the old proprietary Ad-Hoc mode (not the IBSS Ad-Hoc mode).\n", dev_info); @@ -2599,10 +2597,10 @@ static void wvlan_set_multicast_list (st */ static void wvlan_watchdog (struct net_device *dev) { -#ifdef WVLAN_RESET_ON_TX_TIMEOUT + //#ifdef WVLAN_RESET_ON_TX_TIMEOUT struct net_local *local = (struct net_local *) dev->priv; unsigned long flags; -#endif + // #endif DEBUG(DEBUG_CALLTRACE, "-> wvlan_wathdog(%s)\n", dev->name); @@ -2630,7 +2628,7 @@ int wvlan_tx (struct sk_buff *skb, struc struct net_local *local = (struct net_local *)dev->priv; unsigned long flags; int rc, len; - u_char *p; + unsigned char *p; DEBUG(DEBUG_CALLTRACE, "-> wvlan_tx(%s)\n", dev->name); @@ -2708,7 +2706,7 @@ void wvlan_rx (struct net_device *dev, i { struct net_local *local = (struct net_local *)dev->priv; struct sk_buff *skb; - u_char *p; + unsigned char *p; DEBUG(DEBUG_CALLTRACE, "-> wvlan_rx(%s)\n", dev->name); @@ -3232,8 +3230,11 @@ next_entry: return 0; } printk(KERN_INFO "%s: Registered netdevice %s\n", dev_info, dev->name); - +#if 0 copy_dev_name(local->node, dev); +#else + strcpy(local->node.dev_name, dev->name); +#endif link->dev = &local->node; // Success! @@ -3377,7 +3378,9 @@ static dev_link_t *wvlan_attach (void) #endif // Other netdevice data +#if 0 init_dev_name(dev, local->node); +#endif dev->mtu = mtu; netif_stop_queue(dev); diff -u -p -r ix86/mwvlan_hcfcfg.h arm/mwvlan_hcfcfg.h --- ix86/mwvlan_hcfcfg.h Wed Nov 21 10:14:41 2001 +++ arm/mwvlan_hcfcfg.h Mon May 27 14:43:22 2002 @@ -174,8 +174,8 @@ Initial revision * defined. If HCF_PORT_IO is defined, the HCF will use an hcf_16 to express I/O base and store in the * IFB. If HCF_MEM_IO, an hcf_32 is used for this purpose. The default is HCF_PORT_IO */ -#define HCF_PORT_IO -//#define HCF_MEM_IO +//#define HCF_PORT_IO +#define HCF_MEM_IO /* Alignment * Some platforms can access words on odd boundaries (with possibly an performance impact), at other