Re: highmem, aic7xxx, and vfat: too few segs for dma mapping

Steve Lord
2001-12-13T21:19:34Z

On Thu, 2001-12-13 at 14:58, Steve Lord wrote:
> On Thu, 2001-12-13 at 14:48, Justin T. Gibbs wrote:
> > >So according to this, zero.
> >
> > Thanks for the info - its the first useful report I've gotten todate. 8-)
> > I believe I've found and fixed the bug. I've changed a few other things
> > in the driver for the 6.2.5 release, so once I've tested them I'll release
> > new patches. In the mean time, you should be able to avoid the problem by
> > moving the initialization of scb->sg_count to 0 in the function:
> >
> > aic7xxx_linux.c:ahc_linux_run_device_queue()
> >
> > to before the statement:
> >
> > if (cmd->use_sg != 0) {
> >
> > I'd give you diffs, but these other changes in my tree need more testing
> > before I'll feel comfortable releasing them. I also don't have a 2.5 tree
> > downloaded yet to verify that the driver functions there.
> >
> > In order to reproduce the bug, you need to issue a command that uses
> > all of the segments of a given transaction and then have a command with
> > use_sg == 0 be the next command to use that same SCB. This explains why
> > I was not able to reproduce the problem here.
>
> Thanks, I will test it out here and let you know, looks like David
> Miller is proposing the same assignment in a different place.
>

OK, I can confirm this fixes it for me. A side not for Jens, this still
pushes the scsi layer into those DMA shortage messages:

Warning - running *really* short on DMA buffers
SCSI: depth is 175, # segs 128, # hw segs 1
Warning - running *really* short on DMA buffers
Warning - running *really* short on DMA buffers
SCSI: depth is 181, # segs 128, # hw segs 1
Warning - running *really* short on DMA buffers
SCSI: depth is 182, # segs 128, # hw segs 1
Warning - running *really* short on DMA buffers
SCSI: depth is 183, # segs 128, # hw segs 1
SCSI: depth is 173, # segs 128, # hw segs 1

Steve

--

Steve Lord voice: +1-651-683-3511
Principal Engineer, Filesystem Software email: lord@sgi.com