diff options
| author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2007-06-13 11:41:06 -0400 |
|---|---|---|
| committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-06-17 16:01:54 -0400 |
| commit | 0ea7154fbc740e8c44f6175fc44c4e56fbbbdc0f (patch) | |
| tree | 10742dc8d140bf82c6324dd48057490a0ad3b93e /drivers/message | |
| parent | 29c976844d0bef07d97babc8db60fa6c46788133 (diff) | |
[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: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message')
| -rw-r--r-- | drivers/message/i2o/i2o_scsi.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c index 1045c8a518..aa6fb9429d 100644 --- a/drivers/message/i2o/i2o_scsi.c +++ b/drivers/message/i2o/i2o_scsi.c | |||
| @@ -377,12 +377,8 @@ static int i2o_scsi_reply(struct i2o_controller *c, u32 m, | |||
| 377 | osm_err("SCSI error %08x\n", error); | 377 | osm_err("SCSI error %08x\n", error); |
| 378 | 378 | ||
| 379 | dev = &c->pdev->dev; | 379 | dev = &c->pdev->dev; |
| 380 | if (cmd->use_sg) | 380 | |
| 381 | dma_unmap_sg(dev, cmd->request_buffer, cmd->use_sg, | 381 | scsi_dma_unmap(cmd); |
| 382 | cmd->sc_data_direction); | ||
| 383 | else if (cmd->SCp.dma_handle) | ||
| 384 | dma_unmap_single(dev, cmd->SCp.dma_handle, cmd->request_bufflen, | ||
| 385 | cmd->sc_data_direction); | ||
| 386 | 382 | ||
| 387 | cmd->scsi_done(cmd); | 383 | cmd->scsi_done(cmd); |
| 388 | 384 | ||
| @@ -664,21 +660,15 @@ static int i2o_scsi_queuecommand(struct scsi_cmnd *SCpnt, | |||
| 664 | 660 | ||
| 665 | if (sgl_offset != SGL_OFFSET_0) { | 661 | if (sgl_offset != SGL_OFFSET_0) { |
| 666 | /* write size of data addressed by SGL */ | 662 | /* write size of data addressed by SGL */ |
| 667 | *mptr++ = cpu_to_le32(SCpnt->request_bufflen); | 663 | *mptr++ = cpu_to_le32(scsi_bufflen(SCpnt)); |
| 668 | 664 | ||
| 669 | /* Now fill in the SGList and command */ | 665 | /* Now fill in the SGList and command */ |
| 670 | if (SCpnt->use_sg) { | 666 | |
| 671 | if (!i2o_dma_map_sg(c, SCpnt->request_buffer, | 667 | if (scsi_sg_count(SCpnt)) { |
| 672 | SCpnt->use_sg, | 668 | if (!i2o_dma_map_sg(c, scsi_sglist(SCpnt), |
| 669 | scsi_sg_count(SCpnt), | ||
| 673 | SCpnt->sc_data_direction, &mptr)) | 670 | SCpnt->sc_data_direction, &mptr)) |
| 674 | goto nomem; | 671 | goto nomem; |
| 675 | } else { | ||
| 676 | SCpnt->SCp.dma_handle = | ||
| 677 | i2o_dma_map_single(c, SCpnt->request_buffer, | ||
| 678 | SCpnt->request_bufflen, | ||
| 679 | SCpnt->sc_data_direction, &mptr); | ||
| 680 | if (dma_mapping_error(SCpnt->SCp.dma_handle)) | ||
| 681 | goto nomem; | ||
| 682 | } | 672 | } |
| 683 | } | 673 | } |
| 684 | 674 | ||
