cannot use timeout at boot time
authorMike Hibler <hibler@ucbvax.Berkeley.EDU>
Mon, 28 Dec 1992 12:53:08 +0000 (04:53 -0800)
committerMike Hibler <hibler@ucbvax.Berkeley.EDU>
Mon, 28 Dec 1992 12:53:08 +0000 (04:53 -0800)
SCCS-vsn: sys/hp300/dev/nhpib.c 7.8

usr/src/sys/hp300/dev/nhpib.c

index 0528706..782f58a 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)nhpib.c     7.7 (Berkeley) %G%
+ *     @(#)nhpib.c     7.8 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -313,13 +313,18 @@ nhpibppwatch(arg)
 {
        register struct hpib_softc *hs;
        register int unit;
 {
        register struct hpib_softc *hs;
        register int unit;
+       extern int cold;
 
        unit = (int)arg;
        hs = &hpib_softc[unit];
        if ((hs->sc_flags & HPIBF_PPOLL) == 0)
                return;
 
        unit = (int)arg;
        hs = &hpib_softc[unit];
        if ((hs->sc_flags & HPIBF_PPOLL) == 0)
                return;
+again:
        if (nhpibppoll(unit) & (0x80 >> hs->sc_sq.dq_forw->dq_slave))
                        ((struct nhpibdevice *)hs->sc_hc->hp_addr)->hpib_mim = MIS_BO;
        if (nhpibppoll(unit) & (0x80 >> hs->sc_sq.dq_forw->dq_slave))
                        ((struct nhpibdevice *)hs->sc_hc->hp_addr)->hpib_mim = MIS_BO;
+       else if (cold)
+               /* timeouts not working yet */
+               goto again;
        else
                timeout(nhpibppwatch, (void *)unit, 1);
 }
        else
                timeout(nhpibppwatch, (void *)unit, 1);
 }