memset(&info->icount, 0, sizeof(info->icount));  
static int startup(MGSLPC_INFO * info){	int retval = 0;		if (debug_level >= DEBUG_LEVEL_INFO)		printk("%s(%d):startup(%s)\n",__FILE__,__LINE__,info->device_name);			if (info->flags & ASYNC_INITIALIZED)		return 0;		if (!info->tx_buf) {		/* allocate a page of memory for a transmit buffer */		info->tx_buf = (unsigned char *)get_zeroed_page(GFP_KERNEL);		if (!info->tx_buf) {			printk(KERN_ERR"%s(%d):%s can't allocate transmit buffer\n",				__FILE__,__LINE__,info->device_name);			return -ENOMEM;		}	}	info->pending_bh = 0;		init_timer(&info->tx_timer);	info->tx_timer.data = (unsigned long)info;	info->tx_timer.function = tx_timeout;	/* Allocate and claim adapter resources */	retval = claim_resources(info);		/* perform existance check and diagnostics */	if ( !retval )		retval = adapter_test(info);			if ( retval ) {  		if (capable(CAP_SYS_ADMIN) && info->tty)			set_bit(TTY_IO_ERROR, &info->tty->flags);		release_resources(info);  		return retval;  	}	/* program hardware for current parameters */	mgslpc_change_params(info);		if (info->tty)		clear_bit(TTY_IO_ERROR, &info->tty->flags);	info->flags |= ASYNC_INITIALIZED;		return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a7482a2e7775d163aecd8c95af7bb1b8c83890cc/synclink_cs.c/buggy/drivers/char/pcmcia/synclink_cs.c