diff options
author | Tejun Heo <tj@kernel.org> | 2009-04-18 18:00:42 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-04-28 01:37:29 -0400 |
commit | ac0b0113ddbab3ed2388132d368c97292f9f3c84 (patch) | |
tree | 78a955c9169a03ec364e4021c0ca929c7424ff7a /drivers/ide | |
parent | d868ca24302e99a0e8a86071ca2c66273edf97d9 (diff) |
ide-atapi: don't abuse rq->buffer
Impact: rq->buffer usage cleanup
ide-atapi uses rq->buffer as private opaque value for internal special
requests. rq->special isn't used for these cases (the only case where
rq->special is used is for ide-tape rw requests). Use rq->special
instead.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-atapi.c | 4 | ||||
-rw-r--r-- | drivers/ide/ide-floppy.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-tape.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c index 7201b176d75b..2894577237ba 100644 --- a/drivers/ide/ide-atapi.c +++ b/drivers/ide/ide-atapi.c | |||
@@ -90,7 +90,7 @@ static void ide_queue_pc_head(ide_drive_t *drive, struct gendisk *disk, | |||
90 | blk_rq_init(NULL, rq); | 90 | blk_rq_init(NULL, rq); |
91 | rq->cmd_type = REQ_TYPE_SPECIAL; | 91 | rq->cmd_type = REQ_TYPE_SPECIAL; |
92 | rq->cmd_flags |= REQ_PREEMPT; | 92 | rq->cmd_flags |= REQ_PREEMPT; |
93 | rq->buffer = (char *)pc; | 93 | rq->special = (char *)pc; |
94 | rq->rq_disk = disk; | 94 | rq->rq_disk = disk; |
95 | 95 | ||
96 | if (pc->req_xfer) { | 96 | if (pc->req_xfer) { |
@@ -119,7 +119,7 @@ int ide_queue_pc_tail(ide_drive_t *drive, struct gendisk *disk, | |||
119 | 119 | ||
120 | rq = blk_get_request(drive->queue, READ, __GFP_WAIT); | 120 | rq = blk_get_request(drive->queue, READ, __GFP_WAIT); |
121 | rq->cmd_type = REQ_TYPE_SPECIAL; | 121 | rq->cmd_type = REQ_TYPE_SPECIAL; |
122 | rq->buffer = (char *)pc; | 122 | rq->special = (char *)pc; |
123 | 123 | ||
124 | if (pc->req_xfer) { | 124 | if (pc->req_xfer) { |
125 | rq->data = pc->buf; | 125 | rq->data = pc->buf; |
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 3b22e066287e..94600331a271 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -264,7 +264,7 @@ static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive, | |||
264 | pc = &floppy->queued_pc; | 264 | pc = &floppy->queued_pc; |
265 | idefloppy_create_rw_cmd(drive, pc, rq, (unsigned long)block); | 265 | idefloppy_create_rw_cmd(drive, pc, rq, (unsigned long)block); |
266 | } else if (blk_special_request(rq)) { | 266 | } else if (blk_special_request(rq)) { |
267 | pc = (struct ide_atapi_pc *) rq->buffer; | 267 | pc = (struct ide_atapi_pc *)rq->special; |
268 | } else if (blk_pc_request(rq)) { | 268 | } else if (blk_pc_request(rq)) { |
269 | pc = &floppy->queued_pc; | 269 | pc = &floppy->queued_pc; |
270 | idefloppy_blockpc_cmd(floppy, pc, rq); | 270 | idefloppy_blockpc_cmd(floppy, pc, rq); |
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 3a53e0834cf7..aadf53cfac6f 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -828,7 +828,7 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive, | |||
828 | goto out; | 828 | goto out; |
829 | } | 829 | } |
830 | if (rq->cmd[13] & REQ_IDETAPE_PC1) { | 830 | if (rq->cmd[13] & REQ_IDETAPE_PC1) { |
831 | pc = (struct ide_atapi_pc *) rq->buffer; | 831 | pc = (struct ide_atapi_pc *)rq->special; |
832 | rq->cmd[13] &= ~(REQ_IDETAPE_PC1); | 832 | rq->cmd[13] &= ~(REQ_IDETAPE_PC1); |
833 | rq->cmd[13] |= REQ_IDETAPE_PC2; | 833 | rq->cmd[13] |= REQ_IDETAPE_PC2; |
834 | goto out; | 834 | goto out; |