Commit d16a6766 authored by Jens Axboe's avatar Jens Axboe

ide: don't clear special on ide_queue_rq() entry

We can't use RQF_DONTPREP to see if we should clear ->special,
as someone could have set that while inserting the request. Make
sure we clear it in our ->initialize_rq_fn() helper instead.

Fixes: 22ce0a7c ("ide: don't use req->special")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 628bd859
...@@ -463,11 +463,6 @@ blk_status_t ide_queue_rq(struct blk_mq_hw_ctx *hctx, ...@@ -463,11 +463,6 @@ blk_status_t ide_queue_rq(struct blk_mq_hw_ctx *hctx,
struct request *rq = bd->rq; struct request *rq = bd->rq;
ide_startstop_t startstop; ide_startstop_t startstop;
if (!(rq->rq_flags & RQF_DONTPREP)) {
rq->rq_flags |= RQF_DONTPREP;
ide_req(rq)->special = NULL;
}
/* HLD do_request() callback might sleep, make sure it's okay */ /* HLD do_request() callback might sleep, make sure it's okay */
might_sleep(); might_sleep();
......
...@@ -746,6 +746,7 @@ static void ide_initialize_rq(struct request *rq) ...@@ -746,6 +746,7 @@ static void ide_initialize_rq(struct request *rq)
{ {
struct ide_request *req = blk_mq_rq_to_pdu(rq); struct ide_request *req = blk_mq_rq_to_pdu(rq);
req->special = NULL;
scsi_req_init(&req->sreq); scsi_req_init(&req->sreq);
req->sreq.sense = req->sense; req->sreq.sense = req->sense;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment