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: 22ce0a7ccf
("ide: don't use req->special")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
628bd85947
commit
d16a67667c
|
@ -463,11 +463,6 @@ blk_status_t ide_queue_rq(struct blk_mq_hw_ctx *hctx,
|
|||
struct request *rq = bd->rq;
|
||||
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 */
|
||||
might_sleep();
|
||||
|
||||
|
|
|
@ -746,6 +746,7 @@ static void ide_initialize_rq(struct request *rq)
|
|||
{
|
||||
struct ide_request *req = blk_mq_rq_to_pdu(rq);
|
||||
|
||||
req->special = NULL;
|
||||
scsi_req_init(&req->sreq);
|
||||
req->sreq.sense = req->sense;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue