diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 743f67ed7640..3ac4890ce086 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -410,6 +410,7 @@ int scsi_execute_async(struct scsi_device *sdev, const unsigned char *cmd, | |||
410 | goto free_req; | 410 | goto free_req; |
411 | 411 | ||
412 | req->cmd_len = cmd_len; | 412 | req->cmd_len = cmd_len; |
413 | memset(req->cmd, 0, BLK_MAX_CDB); /* ATAPI hates garbage after CDB */ | ||
413 | memcpy(req->cmd, cmd, req->cmd_len); | 414 | memcpy(req->cmd, cmd, req->cmd_len); |
414 | req->sense = sioc->sense; | 415 | req->sense = sioc->sense; |
415 | req->sense_len = 0; | 416 | req->sense_len = 0; |
@@ -1084,7 +1085,7 @@ static void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd) | |||
1084 | { | 1085 | { |
1085 | struct request *req = cmd->request; | 1086 | struct request *req = cmd->request; |
1086 | 1087 | ||
1087 | BUG_ON(sizeof(req->cmd) > sizeof(cmd->cmnd)); | 1088 | BUILD_BUG_ON(sizeof(req->cmd) > sizeof(cmd->cmnd)); |
1088 | memcpy(cmd->cmnd, req->cmd, sizeof(cmd->cmnd)); | 1089 | memcpy(cmd->cmnd, req->cmd, sizeof(cmd->cmnd)); |
1089 | cmd->cmd_len = req->cmd_len; | 1090 | cmd->cmd_len = req->cmd_len; |
1090 | if (!req->data_len) | 1091 | if (!req->data_len) |