The changes introduced through commit 82ed4db499b8 assume that the
sense buffer pointer in struct scsi_request is initialized for all
requests - passthrough and filesystem requests. Hence make sure
that that pointer is initialized for filesystem requests. Remove
the memset() call that clears .cmd because the scsi_req_init()
call in ide_initialize_rq() already initializes the .cmd.

Fixes: commit 82ed4db499b8 ("block: split scsi_request out of struct request")
Signed-off-by: Bart Van Assche <bart.vanass...@wdc.com>
Cc: Christoph Hellwig <h...@lst.de>
Cc: Hongxu Jia <hongxu....@windriver.com>
---
 drivers/ide/ide-cd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index a7355ab3bb22..09b5bdb1af64 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1328,8 +1328,7 @@ static int ide_cdrom_prep_fs(struct request_queue *q, 
struct request *rq)
        unsigned long blocks = blk_rq_sectors(rq) / (hard_sect >> 9);
        struct scsi_request *req = scsi_req(rq);
 
-       scsi_req_init(req);
-       memset(req->cmd, 0, BLK_MAX_CDB);
+       q->initialize_rq_fn(rq);
 
        if (rq_data_dir(rq) == READ)
                req->cmd[0] = GPCMD_READ_10;
-- 
2.14.3

Reply via email to