Path: utzoo!utgpu!watmath!att!rutgers!ucsd!swrinde!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 token-ring DOS Lan Support (part 1) IBM/4.3 Keywords: V1.19_kit.1 token-ring lan support 6152 IBM/4.3 Message-ID: <2929@ibmpa.UUCP> Date: 15 Nov 89 19:16:44 GMT Sender: news@ibmpa.UUCP Reply-To: mlewis@ibmsupt.UUCP () Organization: IBM AWD, Palo Alto Lines: 57 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