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>
This commit is contained in:
@@ -210,7 +210,7 @@ static void idefloppy_create_rw_cmd(ide_drive_t *drive,
|
||||
if (rq->cmd_flags & REQ_RW)
|
||||
pc->flags |= PC_FLAG_WRITING;
|
||||
pc->buf = NULL;
|
||||
pc->req_xfer = pc->buf_size = blocks * floppy->block_size;
|
||||
pc->buf_size = blk_rq_bytes(rq);
|
||||
pc->flags |= PC_FLAG_DMA_OK;
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ static void idefloppy_blockpc_cmd(struct ide_disk_obj *floppy,
|
||||
}
|
||||
/* pio will be performed by ide_pio_bytes() which handles sg fine */
|
||||
pc->buf = NULL;
|
||||
pc->req_xfer = pc->buf_size = blk_rq_bytes(rq);
|
||||
pc->buf_size = blk_rq_bytes(rq);
|
||||
}
|
||||
|
||||
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,
|
||||
|
||||
cmd.rq = rq;
|
||||
|
||||
if (blk_fs_request(rq) || pc->req_xfer) {
|
||||
ide_init_sg_cmd(&cmd, pc->req_xfer);
|
||||
if (blk_fs_request(rq) || blk_rq_bytes(rq)) {
|
||||
ide_init_sg_cmd(&cmd, blk_rq_bytes(rq));
|
||||
ide_map_sg(drive, &cmd);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user