From edith!cmcl2!rutgers!ucsd!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!ibmpa!dolphin.tcspa.ibm.com!mlewis Fri Nov 17 15:10:17 EST 1989
Article 12 of comp.sys.ibm.pc.rt:
Path: edith!cmcl2!rutgers!ucsd!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!ibmpa!dolphin.tcspa.ibm.com!mlewis
>From: mlewis@dolphin.tcspa.ibm.com (Mark S. Lewis)
Newsgroups: comp.sys.ibm.pc.rt
Subject: Fix for 6152 lobe fault problem IBM/4.3
Keywords: V1.18 token-ring 6152 IBM/4.3
Message-ID: <2928@ibmpa.UUCP>
Date: 15 Nov 89 19:12:17 GMT
Sender: news@ibmpa.UUCP
Reply-To: mlewis@ibmsupt.UUCP ()
Organization: IBM AWD, Palo Alto
Lines: 44

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


