Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ea7154f authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by James Bottomley
Browse files

[SCSI] i2o: convert to use the data buffer accessors



- remove the unnecessary map_single path.

- convert to use the new accessors for the sg lists and the
parameters.

Note: needs to change i2o_dma_map_sg when the chaining sg is ready.

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: default avatar"Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 29c97684
Loading
Loading
Loading
Loading
+7 −17
Original line number Diff line number Diff line
@@ -377,12 +377,8 @@ static int i2o_scsi_reply(struct i2o_controller *c, u32 m,
		osm_err("SCSI error %08x\n", error);

	dev = &c->pdev->dev;
	if (cmd->use_sg)
		dma_unmap_sg(dev, cmd->request_buffer, cmd->use_sg,
			     cmd->sc_data_direction);
	else if (cmd->SCp.dma_handle)
		dma_unmap_single(dev, cmd->SCp.dma_handle, cmd->request_bufflen,
				 cmd->sc_data_direction);

	scsi_dma_unmap(cmd);

	cmd->scsi_done(cmd);

@@ -664,21 +660,15 @@ static int i2o_scsi_queuecommand(struct scsi_cmnd *SCpnt,

	if (sgl_offset != SGL_OFFSET_0) {
		/* write size of data addressed by SGL */
		*mptr++ = cpu_to_le32(SCpnt->request_bufflen);
		*mptr++ = cpu_to_le32(scsi_bufflen(SCpnt));

		/* Now fill in the SGList and command */
		if (SCpnt->use_sg) {
			if (!i2o_dma_map_sg(c, SCpnt->request_buffer,
					    SCpnt->use_sg,

		if (scsi_sg_count(SCpnt)) {
			if (!i2o_dma_map_sg(c, scsi_sglist(SCpnt),
					    scsi_sg_count(SCpnt),
					    SCpnt->sc_data_direction, &mptr))
				goto nomem;
		} else {
			SCpnt->SCp.dma_handle =
			    i2o_dma_map_single(c, SCpnt->request_buffer,
					       SCpnt->request_bufflen,
					       SCpnt->sc_data_direction, &mptr);
			if (dma_mapping_error(SCpnt->SCp.dma_handle))
				goto nomem;
		}
	}