#if NEED_TO_FIX_THIS 
#ifdef NEED_TO_FIX_THIS 
RIOFreeDisconnected(struct rio_info *p, struct Host *HostP, int unit){    int		link;    rio_dprintk (RIO_DEBUG_ROUTE, "RIOFreeDisconnect unit %d\n", unit);    /*    ** If the slot is tentative and does not belong to the    ** second half of a 16 port RTA then scan to see if    ** is disconnected.    */    for (link = 0; link < LINKS_PER_UNIT; link++)    {	if (HostP->Mapping[unit].Topology[link].Unit != ROUTE_DISCONNECT)	    break;    }    /*    ** If not all links are disconnected then we can forget about it.    */    if (link < LINKS_PER_UNIT)	    return 1;#if NEED_TO_FIX_THIS    /* Ok so all the links are disconnected. But we may have only just    ** made this slot tentative and not yet received a topology update.    ** Lets check how long ago we made it tentative.    */    rio_dprintk (RIO_DEBUG_ROUTE, "Just about to check LBOLT on entry %d\n", unit);    if (drv_getparm(LBOLT, (ulong_t *) &current_time))        rio_dprintk (RIO_DEBUG_ROUTE, "drv_getparm(LBOLT,....) Failed.\n");    elapse_time = current_time - TentTime[unit];    rio_dprintk (RIO_DEBUG_ROUTE, "elapse %d = current %d - tent %d (%d usec)\n",        elapse_time, current_time, TentTime[unit], drv_hztousec(elapse_time));    if (drv_hztousec(elapse_time) < WAIT_TO_FINISH)    {      rio_dprintk (RIO_DEBUG_ROUTE, "Skipping slot %d, not timed out yet %d\n",            unit, drv_hztousec(elapse_time));        return 1;    }#endif    /*    ** We have found an usable slot.    ** If it is half of a 16 port RTA then delete the other half.    */    if (HostP->Mapping[unit].ID2 != 0)    {	int nOther = (HostP->Mapping[unit].ID2) -1;	rio_dprintk (RIO_DEBUG_ROUTE, "RioFreedis second slot %d.\n", nOther);	bzero((caddr_t)&HostP->Mapping[nOther], sizeof(struct Map));    }    RIORemoveFromSavedTable(p, &HostP->Mapping[unit]);    return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/44456d37b59d8e541936ed26d8b6e08d27e88ac1/rioroute.c/clean/drivers/char/rio/rioroute.c