Strange code in initio.c?
Hi Alan,
Was looking through initio.c to convert it to sg_ring, and noticed this code:
initio_build_scb() around 2616:
sg = &cblk->sglist[0];
scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) {
sg->data = cpu_to_le32((u32)sg_dma_address(sglist));
total_len += sg->len = cpu_to_le32((u32)sg_dma_len(sglist));
}Note how sg is never incremented... seems wrong to me.
Cheers,
Rusty.
Quoted 11 lines · Rusty Russell
Hi Alan,
Was looking through
initio.cto convert it tosg_ring, and noticed this code:
initio_build_scb()around 2616:sg = &cblk->sglist[0]; scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) { sg->data = cpu_to_le32((u32)sg_dma_address(sglist)); total_len += sg->len = cpu_to_le32((u32)sg_dma_len(sglist)); }
Quoted 8 lines
Note how sg is never incremented... seems wrong to me.
Cheers,
Rusty.
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Already in scsi-rc-fixes.
It seems your not using scsi-misc-2.6 git tree for all this.
Quoted 4 lines · On Thu, 20 Dec 2007 18:22:54 +1100 Rusty Russell <[email protected]> wrote:
Hi Alan,
Was looking through
initio.cto convert it tosg_ring, and noticed this code:
Quoted 8 lines
initio_build_scb()around 2616:sg = &cblk->sglist[0]; scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) { sg->data = cpu_to_le32((u32)sg_dma_address(sglist)); total_len += sg->len = cpu_to_le32((u32)sg_dma_len(sglist)); }Note how sg is never incremented... seems wrong to me.
It was fixed.