Skip to contentSkip to conversation

Strange code in initio.c?

DISCUSSION Rusty Russell 3 participants 3 messages Dec 20, 2007 SCSI

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw
Quoted 11 lines · Rusty Russell

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));
		}
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.

#2 lore raw
In reply to Rusty Russell
Quoted 4 lines · On Thu, 20 Dec 2007 18:22:54 +1100 Rusty Russell <[email protected]> wrote:

Hi Alan,

Was looking through initio.c to convert it to sg_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.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a169e63740779f62a9a5ddf0aa61091a393a03c5