--- /home/erich/garderos/AP600-SDK/APDK/original/Software/firmware/uClinux/kernel/drivers/net/intersil/islmvc_dev.c 2003-09-24 15:41:28.000000000 +0200 +++ /home/erich/garderos/AP600-SDK/islmvc_dev.c 2003-12-17 15:32:27.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Header$ +/* $Header: /STORAGE/proj/xg2000/RCS/src/Software/firmware/uClinux/kernel/drivers/net/intersil/islmvc_dev.c,v 1.4 2003/12/08 23:07:37 magyver LOCAL $ * * Copyright (C) 2002 Intersil Americas Inc. * @@ -383,7 +383,10 @@ ether_setup(dev); /* Initialize the management handlers */ - islmvc_mgt_init(dev); + if (islmvc_mgt_init(dev) < 0) { + printk("Could not initialize management handlers for dev %s\n", dev->name); + return -ENODEV; + } /* Let's bring the device in the READY state */ if (prism_eth_init( dev, PRISM_ETH_START) < 0 ) @@ -426,6 +429,8 @@ long type = GET_DEV_TYPE(dev->base_addr); int error = 0; + struct obj_ethdevice objeth; + DEBUG(DBG_FUNC_CALL | DBG_OPEN, "prism_eth_init, dev %s, startp %d, (dev_nr = %ld) \n", dev->name, startp, dev_nr); state = dev_state (dev_nr); @@ -490,6 +495,14 @@ if (error == BER_NONE) error = prism_eth_start ( dev ); +#ifndef ZCOM_AP + printk(" ###### ZCOM_ROUTER modification in %s line: %d ###### \n",__FILE__,__LINE__); + objeth.nr = 0x02; + objeth.reg = 0x1d; + objeth.data = 0x0922; + error = islmvc_send_blob_msg(OPSET, BLOB_OID_ETHDEVICE, (long*) &objeth,sizeof (struct obj_ethdevice)); +#endif + } else { @@ -1377,6 +1390,7 @@ if (dev_trap (dev_nr, &trapmsg) == BER_OVERFLOW) { printk(KERN_WARNING "Couldn't get trap message for the second time. Stopped trying... \n"); + kfree(new_buf); return; } }