--- drivers/scsi/qlogicfas.c.bak Wed Feb 20 21:23:11 2002 +++ drivers/scsi/qlogicfas.c Wed Feb 20 21:18:37 2002 @@ -344,6 +344,7 @@ unsigned int reqlen; /* total length of transfer */ struct scatterlist *sglist; /* scatter-gather list pointer */ unsigned int sgcount; /* sg counter */ +char *buf; rtrc(1) j = inb(qbase + 6); @@ -391,7 +392,8 @@ REG0; return ((qabort == 1 ? DID_ABORT : DID_RESET) << 16); } - if (ql_pdma(phase, sglist->address, sglist->length)) + buf = page_address(sglist->page) + sglist->offset; + if (ql_pdma(phase, buf, sglist->length)) break; sglist++; }