Subject: Re: ultra2 netboot oh-no, not again
To: None <eeh@netbsd.org>
From: Andrei Petrov <and@genesyslab.com>
List: port-sparc64
Date: 09/29/2000 18:32:54
Here are the patches, first for hme.c, another one for if_arp.c,
it seems (hard to believe but) that boot-server responds so fast
and ethernet transmit so fast that it happens before tsleep so
without that patch I was unable not boot. Patch is harmless, I
hope, just help a little for revarpblabla
I don't have le, so don't feel comfortable fixing that.
Have a good weekend, bye,
Andrey
Index: hme.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/hme.c,v
retrieving revision 1.15
diff -c -r1.15 hme.c
*** hme.c 2000/06/25 01:05:16 1.15
--- hme.c 2000/09/30 01:22:23
***************
*** 231,237 ****
/* Load the buffer */
if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
! sc->sc_rb.rb_membase, size, NULL, BUS_DMA_NOWAIT)) != 0) {
printf("%s: DMA buffer map load error %d\n",
sc->sc_dev.dv_xname, error);
bus_dmamem_free(dmatag, &seg, rseg);
--- 231,237 ----
/* Load the buffer */
if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
! sc->sc_rb.rb_membase, size, NULL, BUS_DMA_NOWAIT |
BUS_DMA_COHERENT)) != 0) {
printf("%s: DMA buffer map load error %d\n",
sc->sc_dev.dv_xname, error);
bus_dmamem_free(dmatag, &seg, rseg);
Index: if_arp.c
===================================================================
RCS file: /cvsroot/syssrc/sys/netinet/if_arp.c,v
retrieving revision 1.70
diff -c -r1.70 if_arp.c
*** if_arp.c 2000/08/15 20:24:57 1.70
--- if_arp.c 2000/09/30 01:23:36
***************
*** 1171,1176 ****
--- 1171,1178 ----
result = tsleep((caddr_t)&myip, PSOCK, "revarp", hz/2);
if (result != EWOULDBLOCK)
break;
+ if (myip_initialized)
+ break;
}
revarp_in_progress = 0;