return i; 
goto free_cfg_mem; 
static int mhz_mfc_config(dev_link_t *link){    struct net_device *dev = link->priv;    struct smc_private *smc = netdev_priv(dev);    tuple_t tuple;    cisparse_t parse;    u_char buf[255];    cistpl_cftable_entry_t *cf = &parse.cftable_entry;    win_req_t req;    memreq_t mem;    int i, k;    link->conf.Attributes |= CONF_ENABLE_SPKR;    link->conf.Status = CCSR_AUDIO_ENA;    link->irq.Attributes =	IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED|IRQ_HANDLE_PRESENT;    link->io.IOAddrLines = 16;    link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;    link->io.NumPorts2 = 8;    tuple.Attributes = tuple.TupleOffset = 0;    tuple.TupleData = (cisdata_t *)buf;    tuple.TupleDataMax = sizeof(buf);    tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;    i = first_tuple(link->handle, &tuple, &parse);    /* The Megahertz combo cards have modem-like CIS entries, so       we have to explicitly try a bunch of port combinations. */    while (i == CS_SUCCESS) {	link->conf.ConfigIndex = cf->index;	link->io.BasePort2 = cf->io.win[0].base;	for (k = 0; k < 0x400; k += 0x10) {	    if (k & 0x80) continue;	    link->io.BasePort1 = k ^ 0x300;	    i = pcmcia_request_io(link->handle, &link->io);	    if (i == CS_SUCCESS) break;	}	if (i == CS_SUCCESS) break;	i = next_tuple(link->handle, &tuple, &parse);    }    if (i != CS_SUCCESS)	return i;    dev->base_addr = link->io.BasePort1;    /* Allocate a memory window, for accessing the ISR */    req.Attributes = WIN_DATA_WIDTH_8|WIN_MEMORY_TYPE_AM|WIN_ENABLE;    req.Base = req.Size = 0;    req.AccessSpeed = 0;    i = pcmcia_request_window(&link->handle, &req, &link->win);    if (i != CS_SUCCESS)	return i;    smc->base = ioremap(req.Base, req.Size);    mem.CardOffset = mem.Page = 0;    if (smc->manfid == MANFID_MOTOROLA)	mem.CardOffset = link->conf.ConfigBase;    i = pcmcia_map_mem_page(link->win, &mem);    if ((i == CS_SUCCESS)	&& (smc->manfid == MANFID_MEGAHERTZ)	&& (smc->cardid == PRODID_MEGAHERTZ_EM3288))	mhz_3288_power(link);    return i;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/4638aef40ba9ebb9734caeed1f373c24015259fd/smc91c92_cs.c/clean/drivers/net/pcmcia/smc91c92_cs.c