OSDN Git Service

ide: Make ide_cdrom_prep_fs() initialize the sense buffer pointer
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 1 Nov 2017 22:31:49 +0000 (15:31 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 15 Nov 2017 03:13:33 +0000 (20:13 -0700)
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.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ide/ide-cd.c

index 6ff0be8..7c3ed7c 100644 (file)
@@ -1333,8 +1333,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;