Subject: Re: crash dump failing on machine with 4GB
To: Chris Ross <cross+netbsd@distal.com>
From: Greg Oster <oster@cs.usask.ca>
List: port-sparc64
Date: 09/29/2007 20:04:27
Chris Ross writes:
> 
> On Sep 29, 2007, at 15:19, Martin Husemann wrote:
> > On Sat, Sep 29, 2007 at 02:53:23PM -0400, Chris Ross wrote:
> >>   Any idea where the scsipi_xfer gets allocated or "hand-crafted" in
> >> the cmd_c before esiop_cmd_end() is called?
> >
> > sys/dev/scsipi/sd.c:1560
> >
> > It has XS_CTL_NOSLEEP|XS_CTL_POLL set in xs_control and I think in  
> > this
> > case the callout should not be touched.
> 
>   Okay.  Cool.  So, in the case that XS_CTL_POLL is set, it would  
> make sense
> that there isn't (or "shouldn't be" ?) a callout, right?  I'll whack  
> that into my
> kernel, which will be the "more correct" way to stop that problem,  
> and let
> me get back to the original problem of figuring out why the crash-dump
> doesn't work.  :-)
> 
>    Thanks.  Let me know if my above conclusion/plan sounds right and  
> I'll send
> a patch.

Try adding the line:

		callout_init(&xs->xs_callout, 0);

after the line:

		xs->datalen = nwrt * sectorsize;

in sd.c:sddump().

That got rid of the panic for me...

Later...

Greg Oster