link->irq.IRQInfo1   = IRQ_INFO2_VALID | IRQ_LEVEL_ID; 
link->irq.IRQInfo1   = IRQ_LEVEL_ID; 
static dev_link_t *mgslpc_attach(void){    MGSLPC_INFO *info;    dev_link_t *link;    client_reg_t client_reg;    int ret;        if (debug_level >= DEBUG_LEVEL_INFO)	    printk("mgslpc_attach\n");	    info = (MGSLPC_INFO *)kmalloc(sizeof(MGSLPC_INFO), GFP_KERNEL);    if (!info) {	    printk("Error can't allocate device instance data\n");	    return NULL;    }    memset(info, 0, sizeof(MGSLPC_INFO));    info->magic = MGSLPC_MAGIC;    INIT_WORK(&info->task, bh_handler, info);    info->max_frame_size = 4096;    info->close_delay = 5*HZ/10;    info->closing_wait = 30*HZ;    init_waitqueue_head(&info->open_wait);    init_waitqueue_head(&info->close_wait);    init_waitqueue_head(&info->status_event_wait_q);    init_waitqueue_head(&info->event_wait_q);    spin_lock_init(&info->lock);    spin_lock_init(&info->netlock);    memcpy(&info->params,&default_params,sizeof(MGSL_PARAMS));    info->idle_mode = HDLC_TXIDLE_FLAGS;		    info->imra_value = 0xffff;    info->imrb_value = 0xffff;    info->pim_value = 0xff;    link = &info->link;    link->priv = info;        /* Initialize the dev_link_t structure */    /* Interrupt setup */    link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;    link->irq.IRQInfo1   = IRQ_INFO2_VALID | IRQ_LEVEL_ID;    link->irq.Handler = NULL;        link->conf.Attributes = 0;    link->conf.Vcc = 50;    link->conf.IntType = INT_MEMORY_AND_IO;    /* Register with Card Services */    link->next = dev_list;    dev_list = link;    client_reg.dev_info = &dev_info;    client_reg.EventMask =	    CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |	    CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |	    CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;    client_reg.event_handler = &mgslpc_event;    client_reg.Version = 0x0210;    client_reg.event_callback_args.client_data = link;    ret = pcmcia_register_client(&link->handle, &client_reg);    if (ret != CS_SUCCESS) {	    cs_error(link->handle, RegisterClient, ret);	    mgslpc_detach(link);	    return NULL;    }    mgslpc_add_device(info);    return link;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0c7ab67602e65b3ba7aaa81f023b034cd7458ec6/synclink_cs.c/buggy/drivers/char/pcmcia/synclink_cs.c