[comp.sys.ibm.pc.rt] Fix for 6152 lobe fault problem IBM/4.3

mlewis@dolphin.tcspa.ibm.com (Mark S. Lewis) (11/16/89)

Subject: Fix for 6152 lobe fault problem IBM/4.3
Index: sys/ca_atr/if_lan.c IBM/4.3

Description:	
         If a lobe fault condition occurs (eg. disconnection), the
         adapter is not opened properly.  This leaves the network
         unreachable until Unix is rebooted.

Fix:	
         This patch fixes the lobe fault problem.

         First apply patch V1.11, if you have not already done so.
         Then apply the following patch to the Unix token-ring driver.
 
*** if_lan.c	Tue Nov 14 16:18:22 1989
--- if_lan.c.fix	Wed Nov 15 09:41:42 1989
***************
*** 448,453 ****
--- 448,456 ----
  	register struct tr_softc *trs = &tr_softc[unit];
  	register struct ifnet *ifp = &trs->trs_if;
  
+ 	struct iocc_device *iod = trinfo[unit];
+ 	/* get pointer to device I/O space */
+ 	struct trdevice *addr = (struct trdevice *)((unsigned
int)iod->iod_addr & 0xffffff);
  
  	/* holds status read from adapter status register */
  	register unsigned char status;
***************
*** 723,728 ****
--- 726,732 ----
  				printf("lan%d: SIGNAL LOSS/LOBE FAULT\n",
  					unit);
  
+ 					trprobe(addr);	/* hard reset */
  					ifp->if_flags &= ~IFF_RUNNING;
  					ifp->if_flags &= ~IFF_UP;
  					trs->wire_fault = 0x01;


=====-----     Mark S. Lewis, IBM AWD Palo Alto    -----======
inet: mlewis%ibmsupt@uunet.uu.net		(415) 855-4486
uucp: uunet!ibmsupt!mlewis              IBM Tie Line: 465-4486