void dir_open_adapter (struct net_device *dev) 
static void dir_open_adapter (struct net_device *dev) 
void dir_open_adapter (struct net_device *dev){        struct tok_info *ti = (struct tok_info *) dev->priv;        unsigned char ret_code;        __u16 err;        ti->srb = map_address(ti,		ntohs(readw(ti->init_srb + SRB_ADDRESS_OFST)),		&ti->srb_page);        ti->ssb = map_address(ti,		ntohs(readw(ti->init_srb + SSB_ADDRESS_OFST)),		&ti->ssb_page);        ti->arb = map_address(ti,		ntohs(readw(ti->init_srb + ARB_ADDRESS_OFST)),		&ti->arb_page);        ti->asb = map_address(ti,		ntohs(readw(ti->init_srb + ASB_ADDRESS_OFST)),		&ti->asb_page);        ti->current_skb = NULL;        ret_code = readb(ti->init_srb + RETCODE_OFST);        err = ntohs(readw(ti->init_srb + OPEN_ERROR_CODE_OFST));        if (!ret_code) {		ti->open_status = OPEN; /* TR adapter is now available */                if (ti->open_mode == AUTOMATIC) {			DPRINTK("Adapter reopened.\n");                }                writeb(~SRB_RESP_INT, ti->mmio+ACA_OFFSET+ACA_RESET+ISRP_ODD);                open_sap(EXTENDED_SAP, dev);		return;	}	ti->open_failure = YES;	if (ret_code == 7){               if (err == 0x24) {			if (!ti->auto_speedsave) {				DPRINTK("Open failed: Adapter speed must match "                                 "ring speed if Automatic Ring Speed Save is "				 "disabled.\n");				ti->open_action = FAIL;			}else				DPRINTK("Retrying open to adjust to "					"ring speed, ");                } else if (err == 0x2d) {			DPRINTK("Physical Insertion: No Monitor Detected, ");			printk("retrying after %ds delay...\n",					TR_RETRY_INTERVAL/HZ);                } else if (err == 0x11) {			DPRINTK("Lobe Media Function Failure (0x11), ");			printk(" retrying after %ds delay...\n",					TR_RETRY_INTERVAL/HZ);                } else {			char **prphase = printphase;			char **prerror = printerror;			DPRINTK("TR Adapter misc open failure, error code = ");			printk("0x%x, Phase: %s, Error: %s\n",				err, prphase[err/16 -1], prerror[err%16 -1]);			printk(" retrying after %ds delay...\n",					TR_RETRY_INTERVAL/HZ);                }        } else DPRINTK("open failed: ret_code = %02X..., ", ret_code);	if (ti->open_action != FAIL) {		if (ti->open_mode==AUTOMATIC){			ti->open_action = REOPEN;			ibmtr_reset_timer(&(ti->tr_timer), dev);			return;		}		wake_up(&ti->wait_for_reset);		return;	}	DPRINTK("FAILURE, CAPUT\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/de70b4c87b8f1d484cf533536c0c6ce2e05101cf/ibmtr.c/buggy/drivers/net/tokenring/ibmtr.c