i'm pretty sure i've solved this properly this attempt, but
review on this change would be appreciated.
https://www.netbsd.org/~mrg/if_rge.c.v3.diff
it includes a potential way to avoid wm(4) calling panic() if
bus_dmamap_load*() fails..
.mrg.
> hmmm, but in thie case, no buffers would should be set to
> be available for rx, so nowthing should pass RGE_OWN() at
> L1245 i'd hope. i still see the problem with everything
> being depleted, but then it should just stop getting any
> rx packets at all...
>
> networking folks, am i missing
> #3 0x80fe6e5f in kern_assert ()
> #4 0x8058be67 in bus_dmamap_sync ()
> #5 0x8044edc7 in rge_rxeof ()
> #6 0x804536fd in rge_intr ()
i'm pretty sure this is the 2nd bus_dmamap_sync() call, as that's
the only dma map that has load/unload applied at run time,
On Tue, Oct 17, 2023 at 10:07:14AM +1100, Matthew Green wrote:
> > panic: kernel diagnostic assertion "offset < map->dm_maps" failed: file
> > "/usr/src/sys/arch/x86/x86/bus_dma.c", line 826 bad offset 0x0 >= 0x0
>
> this is from:
>
> KASSERTMSG(offset < map->dm_mapsize,
> "bad offset
> panic: kernel diagnostic assertion "offset < map->dm_maps" failed: file
> "/usr/src/sys/arch/x86/x86/bus_dma.c", line 826 bad offset 0x0 >= 0x0
this is from:
KASSERTMSG(offset < map->dm_mapsize,
"bad offset 0x%"PRIxBUSADDR" >= 0x%"PRIxBUSSIZE,
offset, map->dm_mapsize);
the mapsize