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

Justin T. Gibbs (gibbs@scsiguy.com)
Thu, 13 Dec 2001 13:48:50 -0700


>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.

--
Justin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/