🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.ibm.pc.rt
1 messages
1 total messages Started by Mark S. Lewis Wed, 15 Nov 1989 19:16
Fix for 6152 token-ring DOS Lan Support (part 1) IBM/4.3
#574
Author: Mark S. Lewis
Date: Wed, 15 Nov 1989 19:16
57 lines
2650 bytes
Subject: Fix for 6152 token-ring DOS Lan Support (part 1) IBM/4.3
Index: sys/ca_atr/if_lan.c IBM/4.3

Description:	
         After using the DOS Lan facilities, the token-ring adapter
         is not closed.  When Unix boots, it gets interrupts prior
         to completing the token-ring probe, attach, and open
         sequence.  This results in Unix hanging during boot, which
         persists until the power is cycled.

         After suspending Unix and using the DOS Lan, the token-ring
         adapter is not reset properly during restart.  This results
         in a failure of the open routine and leaves the network
         unreachable.  This persists until Unix is rebooted.
 
         part 1   patch to the file /sys/ca_atr/if_lan.c
         part 2   uuencoded DOS executable shutlan.exe
         part 3   shar file containing read.me, and shutlan sources

Fix:	
         This patch fixes the restart problem.

         Apply patch V1.18, if you have not already done so.  Then
         apply the following patch to the Unix token-ring driver.
 
         Proceed to the next part of the kit.

*** if_lan.c	Tue Nov 14 16:18:22 1989
--- if_lan.c.fix	Wed Nov 15 09:45:28 1989
***************
*** 318,323 ****
--- 318,327 ----
  	register struct tr_softc *trs = &tr_softc[unit];
  	register struct ifnet *ifp = &trs->trs_if;
  
+ 	/* get pointer to device I/O space */
+ 	register struct trdevice *addr = (struct trdevice *)((unsigned int)iod->
+ 					 iod_addr & 0xffffff);
+ 
  	if (how == SUSPEND_START) {
  		trs->trs_flags = ifp->if_flags;	/* save flag state */
  		if (ifp->if_flags & IFF_RUNNING)
***************
*** 331,336 ****
--- 335,341 ----
  		if (trs->trs_flags & IFF_RUNNING) {
  			MM_OUT(&trs->aca->set.isrp_h, INT_ENABLE); /*allow pc ints. */
  			ifp->if_flags &= ~IFF_RUNNING;	/* pretend not running */
+ 			trprobe(addr);	/* hard reset */
  			trinit(unit);
  		restore_window(old_window);
  		}


=====-----     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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads