]> git.baikalelectronics.ru Git - kernel.git/commit
ide: clear ide_req()->special for non-passthrough requests
authorJens Axboe <axboe@kernel.dk>
Fri, 16 Nov 2018 02:42:07 +0000 (19:42 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 16 Nov 2018 02:47:35 +0000 (19:47 -0700)
commit1e6a5f73410dffe233338989c2e39060c10782f1
tree7ea04e9483dbd948ab13a24af717b3e24ed29819
parent0c80663c7fdb927f6d3430c0458a68d35ecdc9c5
ide: clear ide_req()->special for non-passthrough requests

The initial patch cleared this for all requests, which is wrong
since internal uses can't have this cleared as that's what they
are using to pass data. The fix moved the initialization to the
mq_ops->initialize_rq_fn(), but that's only a partial fix since
it only catches uses from blk_get_request(), not requests coming
from the file system.

Keep the non-fs initialization, and add the IDE entry clear
IFF RQF_DONTPREP isn't set and it's a passthrough request.

Fixes: b601b172e79b ("ide: don't clear special on ide_queue_rq() entry")
Fixes: 12ffa25866e9 ("ide: don't use req->special")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ide/ide-io.c