- memset(req->cmd, 0, BLK_MAX_CDB) is called once instead of twice.

- The sense buffer pointer gets initialized.

Fixes: 79d73346ac05 ("ide:ide-cd: fix kernel panic resulting from missing 
scsi_req_init")
Suggested-by: Bart Van Assche <bart.vanass...@wdc.com>
Signed-off-by: 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 a7355ab..09b5bdb 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.7.4

Reply via email to