diff options
author | Borislav Petkov <petkovbb@gmail.com> | 2009-05-01 14:35:21 -0400 |
---|---|---|
committer | Borislav Petkov <petkovbb@gmail.com> | 2009-05-15 00:43:59 -0400 |
commit | dfb7e621fa12c0579e88560ab176c5768f9e0bfb (patch) | |
tree | 9a0fc84735ee3290c366b4244763013ba07bcdd7 /drivers/ide/ide-floppy.c | |
parent | 10c0b3437c4dc0d14ac254bbe71e54ea5f238d97 (diff) |
ide-atapi: switch to blk_rq_bytes() on do_request() path
After the recent struct request cleanups, blk_rq_bytes() is guaranteed
to be valid and is the current total length of the rq's bio. Use that
instead of pc->req_xfer in the do_request() path after the command has
been queued
The remaining usage of pc->req_xfer now is only until we map the rq to a
bio.
While at it:
- remove local caching of rq completion length in ide_tape_issue_pc()
Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Diffstat (limited to 'drivers/ide/ide-floppy.c')
-rw-r--r-- | drivers/ide/ide-floppy.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 650981758f15..a1c55985d4ae 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -210,7 +210,7 @@ static void idefloppy_create_rw_cmd(ide_drive_t *drive, | |||
210 | if (rq->cmd_flags & REQ_RW) | 210 | if (rq->cmd_flags & REQ_RW) |
211 | pc->flags |= PC_FLAG_WRITING; | 211 | pc->flags |= PC_FLAG_WRITING; |
212 | pc->buf = NULL; | 212 | pc->buf = NULL; |
213 | pc->req_xfer = pc->buf_size = blocks * floppy->block_size; | 213 | pc->buf_size = blk_rq_bytes(rq); |
214 | pc->flags |= PC_FLAG_DMA_OK; | 214 | pc->flags |= PC_FLAG_DMA_OK; |
215 | } | 215 | } |
216 | 216 | ||
@@ -227,7 +227,7 @@ static void idefloppy_blockpc_cmd(struct ide_disk_obj *floppy, | |||
227 | } | 227 | } |
228 | /* pio will be performed by ide_pio_bytes() which handles sg fine */ | 228 | /* pio will be performed by ide_pio_bytes() which handles sg fine */ |
229 | pc->buf = NULL; | 229 | pc->buf = NULL; |
230 | pc->req_xfer = pc->buf_size = blk_rq_bytes(rq); | 230 | pc->buf_size = blk_rq_bytes(rq); |
231 | } | 231 | } |
232 | 232 | ||
233 | static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive, | 233 | static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive, |
@@ -286,8 +286,8 @@ static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive, | |||
286 | 286 | ||
287 | cmd.rq = rq; | 287 | cmd.rq = rq; |
288 | 288 | ||
289 | if (blk_fs_request(rq) || pc->req_xfer) { | 289 | if (blk_fs_request(rq) || blk_rq_bytes(rq)) { |
290 | ide_init_sg_cmd(&cmd, pc->req_xfer); | 290 | ide_init_sg_cmd(&cmd, blk_rq_bytes(rq)); |
291 | ide_map_sg(drive, &cmd); | 291 | ide_map_sg(drive, &cmd); |
292 | } | 292 | } |
293 | 293 | ||